blob: b686f8c4b3acb2c3a13681c436cda08d547daa89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
//@ compile-flags: -Copt-level=3
#![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)
}
|