Skip to content

Commit ac688d2

Browse files
committed
fix inf check
Signed-off-by: Magnus Lundmark <[email protected]>
1 parent 576c07e commit ac688d2

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

kernels/volk/volk_32f_log2_32f.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -622,10 +622,10 @@ static inline void volk_32f_log2_32f_u_avx512dq(float* bVector,
622622
__m512 aVal = _mm512_loadu_ps(aPtr);
623623

624624
// Use fpclass for special value detection (AVX512DQ feature)
625-
// 0x01 = QNaN, 0x80 = SNaN, 0x10 = +Inf, 0x04 = +Zero, 0x02 = -Zero
625+
// 0x01 = QNaN, 0x02 = +0, 0x04 = -0, 0x08 = +Inf, 0x10 = -Inf, 0x80 = SNaN
626626
__mmask16 nan_mask = _mm512_fpclass_ps_mask(aVal, 0x81); // NaN (QNaN | SNaN)
627627
__mmask16 zero_mask = _mm512_fpclass_ps_mask(aVal, 0x06); // Zero (+0 | -0)
628-
__mmask16 inf_mask = _mm512_fpclass_ps_mask(aVal, 0x10); // +Inf only
628+
__mmask16 inf_mask = _mm512_fpclass_ps_mask(aVal, 0x08); // +Inf only
629629
__mmask16 neg_mask = _mm512_cmp_ps_mask(aVal, _mm512_setzero_ps(), _CMP_LT_OQ);
630630
__mmask16 invalid_mask = _kor_mask16(nan_mask, neg_mask); // neg or NaN -> NaN
631631

@@ -685,9 +685,10 @@ static inline void volk_32f_log2_32f_a_avx512dq(float* bVector,
685685
__m512 aVal = _mm512_load_ps(aPtr);
686686

687687
// Use fpclass for special value detection (AVX512DQ feature)
688+
// 0x01 = QNaN, 0x02 = +0, 0x04 = -0, 0x08 = +Inf, 0x10 = -Inf, 0x80 = SNaN
688689
__mmask16 nan_mask = _mm512_fpclass_ps_mask(aVal, 0x81); // NaN (QNaN | SNaN)
689690
__mmask16 zero_mask = _mm512_fpclass_ps_mask(aVal, 0x06); // Zero (+0 | -0)
690-
__mmask16 inf_mask = _mm512_fpclass_ps_mask(aVal, 0x10); // +Inf only
691+
__mmask16 inf_mask = _mm512_fpclass_ps_mask(aVal, 0x08); // +Inf only
691692
__mmask16 neg_mask = _mm512_cmp_ps_mask(aVal, _mm512_setzero_ps(), _CMP_LT_OQ);
692693
__mmask16 invalid_mask = _kor_mask16(nan_mask, neg_mask); // neg or NaN -> NaN
693694

0 commit comments

Comments
 (0)