Intel® C++ Compiler 16.0 User and Reference Guide
Aligns elements of two source vectors depending on bits in a mask. The corresponding Intel® AVX2 instruction is VPALIGNRB.
extern __m256i _mm256_alignr_epi8(__m256i s1, __m256i s2, const int mask); |
s1 |
integer source vector used for the operation |
s2 |
integer source vector used for the operation |
mask |
8-bit immediate bits used for the operation |
Performs an alignment operation by concatenating two blocks of 16-byte data from the first and second source vectors, s1 and s2, into an intermediate 32-byte composite, shifting the composite at byte granularity to the right by a constant immediate specified by mask, and extracting the right-aligned 16-byte result into the destination vector. The immediate value is considered unsigned.
Result of the alignment operation.