_mm256_mask_madd52hi_epu64 in core::arch::x86_64 - Rust
Description: Multiply packed unsigned 52-bit integers in each 64-bit element of `b` and `c` to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in `a`, and store the results in `dst` using writemask `k` (elements are copied from `k` when the corresponding mask bit is not set).

Skip to main content

## _mm256_mask_madd52hi_epu64

# Function _mm256_mask_madd52hi_epu64

1.89.0 · Source

    pub fn _mm256_mask_madd52hi_epu64(
        a: __m256i,
        k: __mmask8,
        b: __m256i,
        c: __m256i,
    ) -> __m256i

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

Multiply packed unsigned 52-bit integers in each 64-bit element of `b` and `c` to form a 104-bit intermediate result. Add the high 52-bit unsigned integer from the intermediate result with the corresponding unsigned 64-bit integer in `a`, and store the results in `dst` using writemask `k` (elements are copied from `k` when the corresponding mask bit is not set).

Intel’s documentation