Intel® C++ Compiler 16.0 User and Reference Guide
Shifts int32 elements right and concatenates vectors. Corresponding instruction is VALIGND. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).
Without Mask extern __m512i __cdecl _mm512_alignr_epi32(__m512i v2, __m512i v3, const int count); |
With Mask extern __m512i __cdecl _mm512_mask_alignr_epi32(__m512i v1_old, __mmask16 k1, __m512i v2, __m512i v3, const int count); |
v2 |
int32 vector used for the operation |
v3 |
int32 vector used for the operation |
v1_old |
Source vector that retains old values of the destination vector; the resulting vector gets corresponding elements from v1_old for zero mask bits |
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; elements in the result vector corresponding to zero bit in k1 are copied from corresponding elements of vector v1_old |
count |
Specifies the number of 32-bit elements by which the shift must occur |
Concatenates int32 vectors v2 and v3, shifts right by specified count of int32 elements, and returns the right-most sixteen int32 elements.
The shift count must be a constant, and cannot exceed 15.
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.
Returns the result of the operation.