rust/tests/mir-opt/instsimplify/combine_array_len.rs
Camille Gillot de73af9ec4 Add test.
2025-09-16 22:44:35 +00:00

26 lines
651 B
Rust

// EMIT_MIR_FOR_EACH_PANIC_STRATEGY
//@ test-mir-pass: InstSimplify-after-simplifycfg
// EMIT_MIR combine_array_len.norm2.InstSimplify-after-simplifycfg.diff
fn norm2(x: [f32; 2]) -> f32 {
// CHECK-LABEL: fn norm2(
// CHECK-NOT: PtrMetadata(
let a = x[0];
let b = x[1];
a * a + b * b
}
// EMIT_MIR combine_array_len.normN.InstSimplify-after-simplifycfg.diff
fn normN<const N: usize>(x: [f32; N]) -> f32 {
// CHECK-LABEL: fn normN(
// CHECK-NOT: PtrMetadata(
let a = x[0];
let b = x[1];
a * a + b * b
}
fn main() {
assert_eq!(norm2([3.0, 4.0]), 5.0 * 5.0);
assert_eq!(normN([3.0, 4.0]), 5.0 * 5.0);
}