Function safe_arch::mul_i16_scale_round_m128i
source · pub fn mul_i16_scale_round_m128i(a: m128i, b: m128i) -> m128i
Available with target feature
ssse3
only.Expand description
Multiply i16
lanes into i32
intermediates, keep the high 18 bits, round
by adding 1, right shift by 1.
This is _mm_mulhrs_epi16
, which I can only assume is named for something
like “high bits rounded and scaled”.
- Intrinsic:
_mm_mulhrs_epi16
- Assembly:
pmulhrsw xmm, xmm