]> git.proxmox.com Git - rustc.git/blob - src/test/codegen/integer-cmp.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / codegen / integer-cmp.rs
1 // This is test for more optimal Ord implementation for integers.
2 // See <https://github.com/rust-lang/rust/issues/63758> for more info.
3
4 // compile-flags: -C opt-level=3
5
6 #![crate_type = "lib"]
7
8 use std::cmp::Ordering;
9
10 // CHECK-LABEL: @cmp_signed
11 #[no_mangle]
12 pub fn cmp_signed(a: i64, b: i64) -> Ordering {
13 // CHECK: icmp slt
14 // CHECK: icmp ne
15 // CHECK: zext i1
16 // CHECK: select i1
17 a.cmp(&b)
18 }
19
20 // CHECK-LABEL: @cmp_unsigned
21 #[no_mangle]
22 pub fn cmp_unsigned(a: u32, b: u32) -> Ordering {
23 // CHECK: icmp ult
24 // CHECK: icmp ne
25 // CHECK: zext i1
26 // CHECK: select i1
27 a.cmp(&b)
28 }