// This is a test for optimal Ord trait implementation for bool. // See for more info. // compile-flags: -C opt-level=3 #![crate_type = "lib"] use std::cmp::Ordering; // CHECK-LABEL: @cmp_bool #[no_mangle] pub fn cmp_bool(a: bool, b: bool) -> Ordering { // LLVM 10 produces (zext a) + (sext b), but the final lowering is (zext a) - (zext b). // CHECK: zext i1 // CHECK: {{z|s}}ext i1 // CHECK: {{sub|add}} nsw a.cmp(&b) }