# _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.

Parent topic: Intrinsics for Miscellaneous Operations