# Function core::arch::x86::_mm_mask_ternarylogic_epi32

source ·

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

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