Developer Guide and Reference

Contents

_mm256_alignr_epi8

Aligns elements of two source vectors depending on bits in a mask. The corresponding Intel® AVX2 instruction is
VPALIGNR
.

Syntax

extern __m256i _mm256_alignr_epi8(__m256i s1, __m256i s2, const int mask);
Arguments
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
Description
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.
Returns
Result of the alignment operation.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804