VFPCLASSPH - Floating-Point CLASS Packed Half

VFPCLASSPH k1{k2}, xmm2/m128, imm8    (V5+FP16+VL
__mmask8 _mm_fpclass_ph_mask(__m128h a, int imm8);
__mmask8 _mm_mask_fpclass_ph_mask(__mmask8 k2, __m128h a, int imm8);

For each FP16, 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.
VFPCLASSPH k1{k2}, ymm2/m256, imm8    (V5+FP16+VL
__mmask16 _mm256_fpclass_ph_mask(__m256h a, int imm8);
__mmask16 _mm256_mask_fpclass_ph_mask(__mmask16 k2, __m256h a, int imm8);

For each FP16, 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.
VFPCLASSPH k1{k2}, zmm2/m512, imm8    (V5+FP16
__mmask32 _mm512_fpclass_ph_mask(__m512h a, int imm8);
__mmask32 _mm512_mask_fpclass_ph_mask(__mmask32 k2, __m512h a, int imm8);

For each FP16, 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