diff --git a/tests/codegen-llvm/issues/step-by-one-vectorized-57517.rs b/tests/codegen-llvm/issues/step-by-one-vectorized-57517.rs new file mode 100644 index 0000000000000..026348febf880 --- /dev/null +++ b/tests/codegen-llvm/issues/step-by-one-vectorized-57517.rs @@ -0,0 +1,18 @@ +//! Regression test for . +//! +//! A loop over `iter_mut().step_by(1)` must be vectorized, like the same loop +//! without `step_by`. + +//@ compile-flags: -Copt-level=3 +//@ only-x86_64 + +#![crate_type = "lib"] + +// CHECK-LABEL: @step_by_one +#[no_mangle] +pub fn step_by_one(arr: &mut [i32]) { + // CHECK: add <{{[0-9]+}} x i32> + for e in arr.iter_mut().step_by(1) { + *e = e.wrapping_add(3); + } +}