about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuqman Aden <me@luqman.ca>2022-12-12 15:52:02 -0800
committerLuqman Aden <me@luqman.ca>2023-05-05 14:25:56 -0700
commitaf69cc0ea0698d47b281e6b5da78d4794dc5df04 (patch)
tree9ef202f882376354ca7cabeb418b098c7ed557bd
parent75f3fafa72a4149e730d17e755c3ad96aa40ad9a (diff)
downloadrust-af69cc0ea0698d47b281e6b5da78d4794dc5df04.tar.gz
rust-af69cc0ea0698d47b281e6b5da78d4794dc5df04.zip
Make test more targeted.
-rw-r--r--src/test/ui/simd/issue-105439.rs28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/test/ui/simd/issue-105439.rs b/src/test/ui/simd/issue-105439.rs
index 3376449598c..f3291f1bffe 100644
--- a/src/test/ui/simd/issue-105439.rs
+++ b/src/test/ui/simd/issue-105439.rs
@@ -1,14 +1,16 @@
-// This is used to ICE with MIR inlining enabled due to an invalid bitcast.
-// run-pass
-// compile-flags: -O -Zmir-opt-level=3
-#![feature(portable_simd)]
-
-use std::simd::Simd;
-
-fn main() {
-    let a = Simd::from_array([0, 4, 1, 5]);
-    let b = Simd::from_array([2, 6, 3, 7]);
-    let (x, y) = a.deinterleave(b);
-    assert_eq!(x.to_array(), [0, 1, 2, 3]);
-    assert_eq!(y.to_array(), [4, 5, 6, 7]);
+// build-pass
+
+#![crate_type = "lib"]
+
+#![feature(repr_simd)]
+#![feature(platform_intrinsics)]
+
+#[allow(non_camel_case_types)]
+#[derive(Clone, Copy)]
+#[repr(simd)]
+pub struct i32x4([i32; 4]);
+
+pub fn f(a: i32x4) -> [i32; 4] {
+    let b = a;
+    b.0
 }