about summary refs log tree commit diff
path: root/tests/codegen/array-cmp.rs
diff options
context:
space:
mode:
authorScott McMurray <scottmcm@users.noreply.github.com>2025-03-23 18:45:08 -0700
committerScott McMurray <scottmcm@users.noreply.github.com>2025-03-30 23:44:31 -0700
commit19648ce5cd12b11889eccacac50c70ca8ac78fee (patch)
treef89c72c0d3ac8eeadf62ec2314208bd6c12fe10d /tests/codegen/array-cmp.rs
parent3c0f72271b0fcc9ebfed79e1004ea4d5693f1a34 (diff)
downloadrust-19648ce5cd12b11889eccacac50c70ca8ac78fee.tar.gz
rust-19648ce5cd12b11889eccacac50c70ca8ac78fee.zip
codegen test for non-memcmp array comparison
Diffstat (limited to 'tests/codegen/array-cmp.rs')
-rw-r--r--tests/codegen/array-cmp.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/codegen/array-cmp.rs b/tests/codegen/array-cmp.rs
index 2565a385b61..f9b7be89882 100644
--- a/tests/codegen/array-cmp.rs
+++ b/tests/codegen/array-cmp.rs
@@ -17,3 +17,15 @@ pub fn compare() -> bool {
             [0x00, 0x00, 0x48, 0x41]
         }
 }
+
+// CHECK-LABEL: @array_of_tuple_le
+// CHECK: call{{.+}}i8 @llvm.scmp.i8.i16
+// CHECK: call{{.+}}i8 @llvm.ucmp.i8.i16
+// CHECK: call{{.+}}i8 @llvm.scmp.i8.i16
+// CHECK: call{{.+}}i8 @llvm.ucmp.i8.i16
+// CHECK: %[[RET:.+]] = icmp slt i8 {{.+}}, 1
+// CHECK: ret i8 %[[RET]]
+#[no_mangle]
+pub fn array_of_tuple_le(a: &[(i16, u16); 2], b: &[(i16, u16); 2]) -> bool {
+    a <= b
+}