_mm512_alignr_epi8 in core::arch::x86_64 - Rust
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.

core::arch::x86_64

# Function _mm512_alignr_epi8

Source

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

🔬This is a nightly-only experimental API. (`stdarch_x86_avx512` #111137)
Available on (x86 or x86-64) and target feature `avx512bw` and x86-64 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