Add codegen test for SLP vectorization

This commit is contained in:
ritik chahar
2026-02-01 21:41:43 +05:30
parent 7d8ebe3128
commit 2292d53b7b
@@ -0,0 +1,23 @@
// compile-flags: -O
#![crate_type = "lib"]
// CHECK-LABEL: mul3
// CHECK: %[[C_BPP:.*]] = phi <4 x i8>
// CHECK: %[[V:.*]] = load <4 x i8>, ptr
// CHECK: %[[ADD:.*]] = add <4 x i8> %[[V]], %[[C_BPP]]
// CHECK: store {{<4 x i8>|i32}} {{.*}}, ptr
pub fn mul3(previous: &[u8], current: &mut [u8]) {
let mut c_bpp = [0u8; 4];
for (chunk, b_bpp) in current.chunks_exact_mut(4).zip(previous.chunks_exact(4)) {
let new_chunk = [
chunk[0].wrapping_add(c_bpp[0]),
chunk[1].wrapping_add(c_bpp[1]),
chunk[2].wrapping_add(c_bpp[2]),
chunk[3].wrapping_add(c_bpp[3]),
];
chunk.copy_from_slice(&new_chunk);
c_bpp.copy_from_slice(b_bpp);
}
}