rust/tests/codegen-llvm/slp-vectorization-mul3.rs
Ritik Chahar 8476e893e7
Update min-llvm-version: 22
Co-authored-by: Nikita Popov <github@npopov.com>
2026-02-02 16:47:09 +05:30

26 lines
662 B
Rust

//! Regression test for #142519
//@ only-x86_64
//@ compile-flags: -O
//@ min-llvm-version: 22
#![crate_type = "lib"]
// CHECK-LABEL: @mul3
// CHECK: phi <4 x i8>
// CHECK: load <4 x i8>
// CHECK: add <4 x i8>
// CHECK: store <4 x i8>
#[no_mangle]
pub fn mul3(previous: &[[u8; 4]], current: &mut [[u8; 4]]) {
let mut c_bpp = [0u8; 4];
for i in 0..previous.len() {
current[i][0] = current[i][0].wrapping_add(c_bpp[0]);
current[i][1] = current[i][1].wrapping_add(c_bpp[1]);
current[i][2] = current[i][2].wrapping_add(c_bpp[2]);
current[i][3] = current[i][3].wrapping_add(c_bpp[3]);
c_bpp = previous[i];
}
}