[][src]Function safe_arch::mul_i16_keep_low_m128i

#[must_use]pub fn mul_i16_keep_low_m128i(a: m128i, b: m128i) -> m128i
This is supported with target feature sse2 only.

Lanewise a * b with lanes as i16, keep the low bits of the i32 intermediates.

let a = m128i::from([1_i16, 200, 300, 4568, -1, -2, -3, -4]);
let b = m128i::from([5_i16, 600, 700, 8910, -15, -26, -37, 48]);
let c: [i16; 8] = mul_i16_keep_low_m128i(a, b).into();
assert_eq!(c, [5, -11072, 13392, 3024, 15, 52, 111, -192]);