_mm512_mask_subrsetb_epi32
Classification
KNC, Arithmetic, CPUID Test: KNCNI
Header File
Instruction
VPSUBRSETBD zmm {k}, k, zmm
Synopsis
_mm512_mask_subrsetb_epi32(__m512i v2, __mmask16 k, __mmask16 k_old, __m512i v3, __mmask16 * borrow);
Description
Performs element-by-element subtraction of packed 32-bit integer elements in "v2" from "v3", storing the results in "dst" and "v2". The borrowed value from the subtraction difference for the nth element is written to the nth bit of "borrow" (borrow flag). Results are written using writemask "k" (elements are copied from "k" to "k_old" when the corresponding mask bit is not set).
Operation
FOR j := 0 to 15
i := j*32
IF k[j]
diff := v3[i+31:i] - v2[i+31:i]
borrow[j] := Borrow(v3[i+31:i] - v2[i+31:i])
dst[i+31:i] := diff
v2[i+31:i] := diff
ELSE
borrow[j] := k_old[j]
FI
ENDFOR
dst[MAX:512] := 0