From 6f32cee78189259c220b8b992d3432b39d0b2c61 Mon Sep 17 00:00:00 2001 From: zakrad <49591476+zakrad@users.noreply.github.com> Date: Tue, 3 Nov 2026 14:19:24 +0330 Subject: [PATCH] Add codegen test for step_by(1) loop vectorization --- .../issues/step-by-one-vectorized-57517.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 tests/codegen-llvm/issues/step-by-one-vectorized-57517.rs 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); + } +}