_mm256_alignr_epi8
Classification
AVX_ALL, Miscellaneous, CPUID Test: AVX2
Header File
immintrin.h
Instruction
VPALIGNR ymm, ymm, ymm, imm8
Synopsis
 _mm256_alignr_epi8(__m256i a, __m256i b, const int imm8);
Description
Concatenate pairs of 16-byte blocks in "a" and "b" into a 32-byte temporary result, shift the result right by "imm8" bytes, and store the low 16 bytes in "dst".
Operation
FOR j := 0 to 1
	i := j*128
	tmp[255:0] := ((a[i+127:i] << 128)[255:0] OR b[i+127:i]) >> (imm8*8)
	dst[i+127:i] := tmp[127:0]
ENDFOR
dst[MAX:256] := 0