_mm_mask_getexp_sh
Classification
AVX-512, Miscellaneous, CPUID Test: AVX512_FP16
Header File
Instruction
VGETEXPSH xmm {k}, xmm, xmm
Synopsis
_mm_mask_getexp_sh(__m128h src, __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 writemask "k" (the element is copied from "src" 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] := src.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0