_mm256_mask_gf2p8affineinv_epi64_epi8 in core::arch::x86 - Rust
Description: Performs an affine transformation on the inverted packed bytes in x. That is computes a*inv(x)+b over the Galois Field 2^8 for each packed byte with a being a 8x8 bit matrix and b being a constant 8-bit immediate value. The inverse of a byte is defined with respect to the reduction polynomial x^8+x^4+x^3+x+1. The inverse of 0 is 0. Each pack of 8 bytes in x is paired with the 64-bit word at the same position in a.

Skip to main content

## _mm256_mask_gf2p8affineinv_epi64_epi8

# Function _mm256_mask_gf2p8affineinv_epi64_epi8

1.89.0 · Source

    pub fn _mm256_mask_gf2p8affineinv_epi64_epi8(
        src: __m256i,
        k: __mmask32,
        x: __m256i,
        a: __m256i,
        const B: i32,
    ) -> __m256i

Available on x86 and target feature `gfni` and target feature `avx512bw` and target feature `avx512vl` only.
Expand description

Performs an affine transformation on the inverted packed bytes in x. That is computes a*inv(x)+b over the Galois Field 2^8 for each packed byte with a being a 8x8 bit matrix and b being a constant 8-bit immediate value. The inverse of a byte is defined with respect to the reduction polynomial x^8+x^4+x^3+x+1. The inverse of 0 is 0. Each pack of 8 bytes in x is paired with the 64-bit word at the same position in a.

Uses the writemask in k - elements are copied from src if the corresponding mask bit is not set. Otherwise the computation result is written into the result.

Intel’s documentation