//@ 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) }