Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_subrsetb_epi32/ _mm512_mask_subrsetb_epi32

Reverse subtracts int32 vectors and sets borrow. The corresponding instruction is VPSUBRSETBD. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

Syntax

Without Mask

extern _m512i __cdecl _mm512_subrsetb_epi32(_m512i v2, _m512i v3, __mmask16* borrow);

With Mask

extern _m512i __cdecl _mm512_mask_subrsetb_epi32(_m512i v2, __mmask16 k1, __mmask16 k2_old, _m512i v3, __mmask16* borrow);

Parameters

v2

int32 vector subtracted from v3

v3

int32 vector from which subtraction is done

k1

Writemask; only those elements of the source vectors with corresponding bit set to '1' in the k1 mask are computed and stored in the result

k2_old

mask register; those elements of the source vectors with corresponding bit set to '0' in the k1 mask use the corresponding elements from this mask register to fill the destination vector

borrow

mask register; borrowed value of subtraction written into nth bit

Description

Performs an element-by-element subtraction of the int32 vector v2, from int32 vector v3. The result is written into int32 vector v2. The borrowed value from the subtraction difference for the nth element is written into the nth bit of vector mask borrow.

The masked variant has one additional argument: k1. Only those elements in the source registers with the corresponding bit set in vector mask k1 are used for computing. Elements in v2 with corresponding bit clear in k1 copy the corresponding elements in k2_old into the resulting vector.

Returns

Returns the result of the subtraction operation. The result is written into int32 vector v2. The borrowed value is written into k2.