VFPCLASSPS - Floating-Point CLASS Packed Single

VFPCLASSPS k1{k2}, xmm2/m128/m32bcst, imm8    (V5+DQ+VL
__mmask8 _mm_fpclass_ps_mask(__m128 a, int imm8);
__mmask8 _mm_mask_fpclass_ps_mask(__mmask8 k2, __m128 a, int imm8);

For each float, if (1) belongs to one of the classes specified in imm8, set 1, else set 0, to the corresponding bit of (2).
If k2 bit is 0, the corresponding bit of (2) is cleared. Upper bits of (2) are zeroed.
VFPCLASSPS k1{k2}, ymm2/m256/m32bcst, imm8    (V5+DQ+VL
__mmask8 _mm256_fpclass_ps_mask(__m256 a, int imm8);
__mmask8 _mm256_mask_fpclass_ps_mask(__mmask8 k2, __m256 a, int imm8);

For each float, if (1) belongs to one of the classes specified in imm8, set 1, else set 0, to the corresponding bit of (2).
If k2 bit is 0, the corresponding bit of (2) is cleared. Upper bits of (2) are zeroed.
VFPCLASSPS k1{k2}, zmm2/m512/m32bcst, imm8    (V5+DQ
__mmask16 _mm512_fpclass_ps_mask(__m512 a, int imm8);
__mmask16 _mm512_mask_fpclass_ps_mask(__mmask16 k2, __m512 a, int imm8);

For each float, if (1) belongs to one of the classes specified in imm8, set 1, else set 0, to the corresponding bit of (2).
If k2 bit is 0, the corresponding bit of (2) is cleared. Upper bits of (2) are zeroed.

imm8

bit 7 SNaN
bit 6 negative finite
bit 5 denormal
bit 4 negative infinity
bit 3 positive infinity
bit 2 negative zero
bit 1 positive zero
bit 0 QNaN

x86/x64 SIMD Instruction List  Feedback