Function add_horizontal_i32_m256i
pub fn add_horizontal_i32_m256i(a: m256i, b: m256i) -> m256i
Available on crate feature
dep_safe_arch
only.Expand description
Horizontal a + b
with lanes as i32
.
- The results are interleaved 128-bits at a time: a.low, b.low, a.high, b.high
let a = m256i::from([5_i32; 8]);
let b = m256i::from([6_i32; 8]);
let c: [i32; 8] = add_horizontal_i32_m256i(a, b).into();
assert_eq!(c, [10, 10, 12, 12, 10, 10, 12, 12]);
- Intrinsic:
_mm256_hadd_epi32
- Assembly:
vphaddd ymm, ymm, ymm