diff --git a/src/test/codegen/issue-73827-bounds-check-index-in-subexpr.rs b/src/test/codegen/issue-73827-bounds-check-index-in-subexpr.rs new file mode 100644 index 0000000000000..d07eaa75b7a82 --- /dev/null +++ b/src/test/codegen/issue-73827-bounds-check-index-in-subexpr.rs @@ -0,0 +1,18 @@ +// This test checks that bounds checks are elided when +// index is part of a (x | y) < C style condition + +// min-llvm-version: 11.0.0 +// compile-flags: -O + +#![crate_type = "lib"] + +// CHECK-LABEL: @get +#[no_mangle] +pub fn get(array: &[u8; 8], x: usize, y: usize) -> u8 { + if x > 7 || y > 7 { + 0 + } else { + // CHECK-NOT: panic_bounds_check + array[y] + } +}