about summary refs log tree commit diff
path: root/tests/codegen/integer-cmp.rs
diff options
context:
space:
mode:
authorKrasimir Georgiev <krasimir@google.com>2024-08-21 09:21:29 +0000
committerKrasimir Georgiev <krasimir@google.com>2024-08-22 13:23:00 +0000
commitf1fac42f4a6aa2f9535a32db91c7f9c93220d5a4 (patch)
treef567d316fcce8799ac84b4ac4a742dcb2c225ab5 /tests/codegen/integer-cmp.rs
parent4d7c095832494257a9f57e13fd151a9d4f5c6851 (diff)
downloadrust-f1fac42f4a6aa2f9535a32db91c7f9c93220d5a4.tar.gz
rust-f1fac42f4a6aa2f9535a32db91c7f9c93220d5a4.zip
llvm 20: adapt integer comparison tests
The LLVM commit https://github.com/llvm/llvm-project/commit/abf69a167bbc99054871e3f9cc8810bbebcb6747
changed the IR in a few comparison tests:
https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/30500#01917017-26fe-4a4d-956b-725a2903e5a8

Adapted accordingly.
Diffstat (limited to 'tests/codegen/integer-cmp.rs')
-rw-r--r--tests/codegen/integer-cmp.rs21
1 files changed, 13 insertions, 8 deletions
diff --git a/tests/codegen/integer-cmp.rs b/tests/codegen/integer-cmp.rs
index bba112b246f..8df68d8d490 100644
--- a/tests/codegen/integer-cmp.rs
+++ b/tests/codegen/integer-cmp.rs
@@ -1,6 +1,9 @@
 // This is test for more optimal Ord implementation for integers.
 // See <https://github.com/rust-lang/rust/issues/63758> for more info.
 
+//@ revisions: llvm-pre-20 llvm-20
+//@ [llvm-20] min-llvm-version: 20
+//@ [llvm-pre-20] ignore-llvm-version: 20 - 99
 //@ compile-flags: -C opt-level=3
 
 #![crate_type = "lib"]
@@ -10,19 +13,21 @@ use std::cmp::Ordering;
 // CHECK-LABEL: @cmp_signed
 #[no_mangle]
 pub fn cmp_signed(a: i64, b: i64) -> Ordering {
-    // CHECK: icmp slt
-    // CHECK: icmp ne
-    // CHECK: zext i1
-    // CHECK: select i1
+    // llvm-20: @llvm.scmp.i8.i64
+    // llvm-pre-20: icmp slt
+    // llvm-pre-20: icmp ne
+    // llvm-pre-20: zext i1
+    // llvm-pre-20: select i1
     a.cmp(&b)
 }
 
 // CHECK-LABEL: @cmp_unsigned
 #[no_mangle]
 pub fn cmp_unsigned(a: u32, b: u32) -> Ordering {
-    // CHECK: icmp ult
-    // CHECK: icmp ne
-    // CHECK: zext i1
-    // CHECK: select i1
+    // llvm-20: @llvm.ucmp.i8.i32
+    // llvm-pre-20: icmp ult
+    // llvm-pre-20: icmp ne
+    // llvm-pre-20: zext i1
+    // llvm-pre-20: select i1
     a.cmp(&b)
 }