_mm_mask_ternarylogic_epi32 in core::arch::x86_64 - Rust
Description: Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in imm8. For each bit in each packed 32-bit integer, the corresponding bit from src, a, and b are used to form a 3 bit index into imm8, and the value at that bit in imm8 is written to the corresponding bit in dst using writemask k at 32-bit granularity (32-bit elements are copied from src when the corresponding mask bit is not set).

Skip to main content

## _mm_mask_ternarylogic_epi32

# Function _mm_mask_ternarylogic_epi32

1.89.0 · Source

    pub fn _mm_mask_ternarylogic_epi32(
        src: __m128i,
        k: __mmask8,
        a: __m128i,
        b: __m128i,
        const IMM8: i32,
    ) -> __m128i

Available on x86-64 and (x86 or x86-64) and target feature `avx512f` and target feature `avx512vl` only.
Expand description

Bitwise ternary logic that provides the capability to implement any three-operand binary function; the specific binary function is specified by value in imm8. For each bit in each packed 32-bit integer, the corresponding bit from src, a, and b are used to form a 3 bit index into imm8, and the value at that bit in imm8 is written to the corresponding bit in dst using writemask k at 32-bit granularity (32-bit elements are copied from src when the corresponding mask bit is not set).

Intel’s documentation