Skip to main content

## _mm512_alignr_epi8

# Function _mm512_alignr_epi8

1.89.0 (const: unstable) · Source

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

Available on x86-64 and target feature `avx512bw` 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