[−][src]Function safe_arch::mul_i16_horizontal_add_m128i
#[must_use]pub fn mul_i16_horizontal_add_m128i(a: m128i, b: m128i) -> m128i
This is supported with target feature
sse2
only.Multiply i16
lanes producing i32
values, horizontal add pairs of i32
values to produce the final output.
let a = m128i::from([1_i16, 2, 3, 4, -1, -2, -3, -4]); let b = m128i::from([5_i16, 6, 7, 8, -15, -26, -37, 48]); let c: [i32; 4] = mul_i16_horizontal_add_m128i(a, b).into(); assert_eq!(c, [17, 53, 67, -81]);