about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuqman Aden <me@luqman.ca>2022-12-11 19:21:51 -0800
committerLuqman Aden <me@luqman.ca>2023-05-05 14:25:56 -0700
commit75f3fafa72a4149e730d17e755c3ad96aa40ad9a (patch)
tree499a92beefceafc038ab4ca7840e43e30291fb97
parent48af94c080d37a5396dd4452c21cd8006f38fba4 (diff)
downloadrust-75f3fafa72a4149e730d17e755c3ad96aa40ad9a.tar.gz
rust-75f3fafa72a4149e730d17e755c3ad96aa40ad9a.zip
Add test.
-rw-r--r--src/test/ui/simd/issue-105439.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/simd/issue-105439.rs b/src/test/ui/simd/issue-105439.rs
new file mode 100644
index 00000000000..3376449598c
--- /dev/null
+++ b/src/test/ui/simd/issue-105439.rs
@@ -0,0 +1,14 @@
+// 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]);
+}