_mm_mask_fnmadd_round_sh
Classification
AVX-512, Arithmetic, CPUID Test: AVX512_FP16
Header File
immintrin.h
Instruction
VFNMADD132SH xmm {k}, xmm, xmm {er}
Synopsis
 _mm_mask_fnmadd_round_sh(__m128h a, __mmask8 k, __m128h b, __m128h c, const int rounding);
Description
Multiply the lower half-precision (16-bit) floating-point elements in "a" and "b", and add the negated intermediate result to the lower element in "c". Store the result in the lower element of "dst" using writemask "k" (the element is copied from "a" when mask bit 0 is not set), and copy the upper 7 packed elements from "a" to the upper elements of "dst". [round_note]
Operation
IF k[0]
	dst.fp16[0] := -(a.fp16[0] * b.fp16[0]) + c.fp16[0]
ELSE
	dst.fp16[0] := a.fp16[0]
FI
dst[127:16] := a[127:16]
dst[MAX:128] := 0