Intel® C++ Compiler 16.0 User and Reference Guide

_mm512_sbbr_epi32/ _mm512_mask_sbbr_epi32

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

Syntax

Without Mask

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

With Mask

extern _m512i __cdecl _mm512_mask_sbbr_epi32(_m512i v2, __mmask16 k1, __mmask16 k2, _m512i v3, __mmask16* borrow);

Parameters

v2

int32 vector subtracted from v3

v3

int32 vector from which subtraction is done; can contain the result of a swizzle/broadcast/conversion process on a memory or int32 vector

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

mask register; corresponding element  subtracted from v2

borrow

mask register; borrowed value of subtraction written into nth bit

Description

Performs an element-by-element three-input subtraction of the int32 vector v2, as well as the corresponding bit of k2, from int32 vector v3. The borrowed value from the subtraction difference for the nth element is written into the nth bit of vector mask k2_res.

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 are copied as is to the resulting vector.

Returns

Returns the result of the subtraction operation. The borrowed value is written into k2_res.