_mm_maskz_getexp_sh
Classification
AVX-512, Miscellaneous, CPUID Test: AVX512_FP16
Header File
Instruction
VGETEXPSH xmm {z}, xmm, xmm
Synopsis
_mm_maskz_getexp_sh(__mmask8 k, __m128h a, __m128h b);
Description
Convert the exponent of the lower half-precision (16-bit) floating-point element in "b" to a half-precision (16-bit) floating-point number representing the integer exponent, store the result in the lower element of "dst" using zeromask "k" (the element is zeroed out when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". This intrinsic essentially calculates "floor(log2(x))" for the lower element.
Operation
IF k[0]
dst.fp16[0] := ConvertExpFP16(b.fp16[0])
ELSE
dst.fp16[0] := 0
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0