about summary refs log tree commit diff
path: root/tests/codegen/issues
diff options
context:
space:
mode:
authorScott McMurray <scottmcm@users.noreply.github.com>2024-04-09 13:41:35 -0700
committerScott McMurray <scottmcm@users.noreply.github.com>2024-04-10 08:28:43 -0700
commit593e900ad25f1b21cc218ea8bcce3c5e3e94ceac (patch)
treebfc9eb71eb5591beed60c858b34b7ffc176eb6c2 /tests/codegen/issues
parentc6dde9d8a786186877bea8ed0b22d61476d76851 (diff)
downloadrust-593e900ad25f1b21cc218ea8bcce3c5e3e94ceac.tar.gz
rust-593e900ad25f1b21cc218ea8bcce3c5e3e94ceac.zip
Update 122805 test for PR 123185
Diffstat (limited to 'tests/codegen/issues')
-rw-r--r--tests/codegen/issues/issue-122805.rs39
1 files changed, 29 insertions, 10 deletions
diff --git a/tests/codegen/issues/issue-122805.rs b/tests/codegen/issues/issue-122805.rs
index 6a5be39238f..6d108ada6dd 100644
--- a/tests/codegen/issues/issue-122805.rs
+++ b/tests/codegen/issues/issue-122805.rs
@@ -1,4 +1,11 @@
-//@ compile-flags: -O
+//@ revisions: OPT2 OPT3WINX64 OPT3LINX64
+//@ [OPT2] compile-flags: -O
+//@ [OPT3LINX64] compile-flags: -C opt-level=3
+//@ [OPT3WINX64] compile-flags: -C opt-level=3
+//@ [OPT3LINX64] only-linux
+//@ [OPT3WINX64] only-windows
+//@ [OPT3LINX64] only-x86_64
+//@ [OPT3WINX64] only-x86_64
 //@ min-llvm-version: 18.1.3
 
 #![crate_type = "lib"]
@@ -9,15 +16,27 @@
 // to avoid complicating the code.
 // CHECK-LABEL: define{{.*}}void @convert(
 // CHECK-NOT: shufflevector
-// CHECK: insertelement <8 x i16>
-// CHECK-NEXT: insertelement <8 x i16>
-// CHECK-NEXT: insertelement <8 x i16>
-// CHECK-NEXT: insertelement <8 x i16>
-// CHECK-NEXT: insertelement <8 x i16>
-// CHECK-NEXT: insertelement <8 x i16>
-// CHECK-NEXT: insertelement <8 x i16>
-// CHECK-NEXT: insertelement <8 x i16>
-// CHECK-NEXT: store <8 x i16>
+// OPT2: store i16
+// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 2
+// OPT2-NEXT: store i16
+// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 4
+// OPT2-NEXT: store i16
+// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 6
+// OPT2-NEXT: store i16
+// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 8
+// OPT2-NEXT: store i16
+// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 10
+// OPT2-NEXT: store i16
+// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 12
+// OPT2-NEXT: store i16
+// OPT2-NEXT: getelementptr inbounds i8, {{.+}} 14
+// OPT2-NEXT: store i16
+// OPT3LINX64: load <8 x i16>
+// OPT3LINX64-NEXT: call <8 x i16> @llvm.bswap
+// OPT3LINX64-NEXT: store <8 x i16>
+// OPT3WINX64: load <8 x i16>
+// OPT3WINX64-NEXT: call <8 x i16> @llvm.bswap
+// OPT3WINX64-NEXT: store <8 x i16>
 // CHECK-NEXT: ret void
 #[no_mangle]
 #[cfg(target_endian = "little")]