_mm_maskz_dbsad_epu8 in core::arch::x86 - Rust
Description: Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.
Keywords: rust, rustlang, rust-lang, _mm_maskz_dbsad_epu8

# Function core::arch::x86::_mm_maskz_dbsad_epu8
[−][src]

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

🔬 This is a nightly-only experimental API. (`stdsimd` #48556)
This is supported on x86 and target feature `avx512bw,avx512vl` only.
Expand description

Compute the sum of absolute differences (SADs) of quadruplets of unsigned 8-bit integers in a compared to those in b, and store the 16-bit results in dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set). Four SADs are performed on four 8-bit quadruplets for each 64-bit lane. The first two SADs use the lower 8-bit quadruplet of the lane from a, and the last two SADs use the uppper 8-bit quadruplet of the lane from a. Quadruplets from b are selected from within 128-bit lanes according to the control in imm8, and each SAD in each 64-bit lane uses the selected quadruplet at 8-bit offsets.

Intel’s documentation