[−][src]Function safe_arch::intel::mul_u16_keep_high_m128i
#[must_use]pub fn mul_u16_keep_high_m128i(a: m128i, b: m128i) -> m128i
Lanewise a * b
with lanes as u16
, keep the high bits of the u32
intermediates.
let a = m128i::from([1_u16, 2003, 3005, 45687, 1, 2, 3, 4]); let b = m128i::from([5_u16, 6004, 7006, 8910, 15, 26, 37, 48]); let c: [u16; 8] = mul_u16_keep_high_m128i(a, b).into(); assert_eq!(c, [0, 183, 321, 6211, 0, 0, 0, 0]);