# Function _mm512_alignr_epi8

1.89.0 · Source

    pub fn _mm512_alignr_epi8(a: __m512i, b: __m512i, const IMM8: i32) -> __m512i

Available on (x86 or x86-64) and target feature `avx512bw` and x86 only.
Expand 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. Unlike `_mm_alignr_epi8`, `_mm256_alignr_epi8` functions, where the entire input vectors are concatenated to the temporary result, this concatenation happens in 4 steps, where each step builds 32-byte temporary result.

Intel’s documentation