_mm_maskz_mulhrs_epi16 in core::arch::x86_64 - Rust
Description: Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

Skip to main content

## _mm_maskz_mulhrs_epi16

# Function _mm_maskz_mulhrs_epi16

1.89.0 · Source

    pub fn _mm_maskz_mulhrs_epi16(k: __mmask8, a: __m128i, b: __m128i) -> __m128i

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

Multiply packed signed 16-bit integers in a and b, producing intermediate signed 32-bit integers. Truncate each intermediate integer to the 18 most significant bits, round by adding 1, and store bits [16:1] to dst using zeromask k (elements are zeroed out when the corresponding mask bit is not set).

Intel’s documentation