17 lines
556 B
Rust
17 lines
556 B
Rust
//@ compile-flags: -Copt-level=3
|
|
//@ min-llvm-version: 20
|
|
#![crate_type = "lib"]
|
|
|
|
/// Ensure the function is properly optimized
|
|
/// In the issue #133528, the function was not getting optimized
|
|
/// whereas, a version with `bytes` wrapped into a `black_box` was optimized
|
|
/// It was probably a LLVM bug that was fixed in LLVM 20
|
|
|
|
// CHECK-LABEL: @looping_over_ne_bytes
|
|
// CHECK: icmp eq i64 %input, -1
|
|
// CHECK-NEXT: ret i1
|
|
#[no_mangle]
|
|
fn looping_over_ne_bytes(input: u64) -> bool {
|
|
let bytes = input.to_ne_bytes();
|
|
bytes.iter().all(|x| *x == !0)
|
|
}
|