Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 7/13/2023
Public
Document Table of 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.