]> git.lizzy.rs Git - rust.git/commitdiff
Move SIMD tests
authorCaleb Zulawski <caleb.zulawski@gmail.com>
Sat, 23 Jan 2021 22:55:34 +0000 (17:55 -0500)
committerCaleb Zulawski <caleb.zulawski@gmail.com>
Sat, 23 Jan 2021 22:55:34 +0000 (17:55 -0500)
28 files changed:
src/test/ui/issues/issue-17170.rs [deleted file]
src/test/ui/issues/issue-17170.stderr [deleted file]
src/test/ui/issues/issue-39720.rs [deleted file]
src/test/ui/issues/issue-39720.stderr [deleted file]
src/test/ui/simd-type-generic-monomorphisation-empty.rs [deleted file]
src/test/ui/simd-type-generic-monomorphisation-empty.stderr [deleted file]
src/test/ui/simd-type-generic-monomorphisation-oversized.rs [deleted file]
src/test/ui/simd-type-generic-monomorphisation-oversized.stderr [deleted file]
src/test/ui/simd-type-generic-monomorphisation-power-of-two.rs [deleted file]
src/test/ui/simd-type-generic-monomorphisation-power-of-two.stderr [deleted file]
src/test/ui/simd-type-generic-monomorphisation.rs [deleted file]
src/test/ui/simd-type-generic-monomorphisation.stderr [deleted file]
src/test/ui/simd-type.rs [deleted file]
src/test/ui/simd-type.stderr [deleted file]
src/test/ui/simd/issue-17170.rs [new file with mode: 0644]
src/test/ui/simd/issue-17170.stderr [new file with mode: 0644]
src/test/ui/simd/issue-39720.rs [new file with mode: 0644]
src/test/ui/simd/issue-39720.stderr [new file with mode: 0644]
src/test/ui/simd/simd-type-generic-monomorphisation-empty.rs [new file with mode: 0644]
src/test/ui/simd/simd-type-generic-monomorphisation-empty.stderr [new file with mode: 0644]
src/test/ui/simd/simd-type-generic-monomorphisation-oversized.rs [new file with mode: 0644]
src/test/ui/simd/simd-type-generic-monomorphisation-oversized.stderr [new file with mode: 0644]
src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.rs [new file with mode: 0644]
src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.stderr [new file with mode: 0644]
src/test/ui/simd/simd-type-generic-monomorphisation.rs [new file with mode: 0644]
src/test/ui/simd/simd-type-generic-monomorphisation.stderr [new file with mode: 0644]
src/test/ui/simd/simd-type.rs
src/test/ui/simd/simd-type.stderr [new file with mode: 0644]

diff --git a/src/test/ui/issues/issue-17170.rs b/src/test/ui/issues/issue-17170.rs
deleted file mode 100644 (file)
index 49cfbab..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-#![feature(repr_simd)]
-
-#[repr(simd)]
-struct T(f64, f64, f64);
-//~^ ERROR SIMD vector length must be a power of two
-
-static X: T = T(0.0, 0.0, 0.0);
-
-fn main() {
-    let _ = X;
-}
diff --git a/src/test/ui/issues/issue-17170.stderr b/src/test/ui/issues/issue-17170.stderr
deleted file mode 100644 (file)
index b35c3c4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0075]: SIMD vector length must be a power of two
-  --> $DIR/issue-17170.rs:4:1
-   |
-LL | struct T(f64, f64, f64);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: monomorphising SIMD type `T` of non-power-of-two length
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0075`.
diff --git a/src/test/ui/issues/issue-39720.rs b/src/test/ui/issues/issue-39720.rs
deleted file mode 100644 (file)
index 7d59692..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// ignore-emscripten FIXME(#45351)
-
-#![feature(repr_simd, platform_intrinsics)]
-
-#[repr(simd)]
-#[derive(Copy, Clone, Debug)]
-pub struct Char3(pub i8, pub i8, pub i8);
-//~^ ERROR SIMD vector length must be a power of two
-
-#[repr(simd)]
-#[derive(Copy, Clone, Debug)]
-pub struct Short3(pub i16, pub i16, pub i16);
-//~^ ERROR SIMD vector length must be a power of two
-
-extern "platform-intrinsic" {
-    fn simd_cast<T, U>(x: T) -> U;
-}
-
-fn main() {
-    let cast: Short3 = unsafe { simd_cast(Char3(10, -3, -9)) };
-
-    println!("{:?}", cast);
-}
diff --git a/src/test/ui/issues/issue-39720.stderr b/src/test/ui/issues/issue-39720.stderr
deleted file mode 100644 (file)
index 355ceff..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0075]: SIMD vector length must be a power of two
-  --> $DIR/issue-39720.rs:7:1
-   |
-LL | pub struct Char3(pub i8, pub i8, pub i8);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0075]: SIMD vector length must be a power of two
-  --> $DIR/issue-39720.rs:12:1
-   |
-LL | pub struct Short3(pub i16, pub i16, pub i16);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0075`.
diff --git a/src/test/ui/simd-type-generic-monomorphisation-empty.rs b/src/test/ui/simd-type-generic-monomorphisation-empty.rs
deleted file mode 100644 (file)
index 0121404..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// build-fail
-
-#![feature(repr_simd, platform_intrinsics)]
-
-// error-pattern:monomorphising SIMD type `Simd<0_usize>` of zero length
-
-#[repr(simd)]
-struct Simd<const N: usize>([f32; N]);
-
-fn main() {
-    let _ = Simd::<0>([]);
-}
diff --git a/src/test/ui/simd-type-generic-monomorphisation-empty.stderr b/src/test/ui/simd-type-generic-monomorphisation-empty.stderr
deleted file mode 100644 (file)
index 00fde19..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-error: monomorphising SIMD type `Simd<0_usize>` of zero length
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/simd-type-generic-monomorphisation-oversized.rs b/src/test/ui/simd-type-generic-monomorphisation-oversized.rs
deleted file mode 100644 (file)
index bd0d457..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// build-fail
-
-#![feature(repr_simd, platform_intrinsics)]
-
-// error-pattern:monomorphising SIMD type `Simd<65536_usize>` of length greater than 32768
-
-#[repr(simd)]
-struct Simd<const N: usize>([f32; N]);
-
-fn main() {
-    let _ = Simd::<65536>([0.; 65536]);
-}
diff --git a/src/test/ui/simd-type-generic-monomorphisation-oversized.stderr b/src/test/ui/simd-type-generic-monomorphisation-oversized.stderr
deleted file mode 100644 (file)
index f441835..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-error: monomorphising SIMD type `Simd<65536_usize>` of length greater than 32768
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/simd-type-generic-monomorphisation-power-of-two.rs b/src/test/ui/simd-type-generic-monomorphisation-power-of-two.rs
deleted file mode 100644 (file)
index 3a0b9e0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// build-fail
-
-#![feature(repr_simd, platform_intrinsics)]
-
-// error-pattern:monomorphising SIMD type `Simd<3_usize>` of non-power-of-two length
-
-#[repr(simd)]
-struct Simd<const N: usize>([f32; N]);
-
-fn main() {
-    let _ = Simd::<3>([0.; 3]);
-}
diff --git a/src/test/ui/simd-type-generic-monomorphisation-power-of-two.stderr b/src/test/ui/simd-type-generic-monomorphisation-power-of-two.stderr
deleted file mode 100644 (file)
index 82cc0d8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-error: monomorphising SIMD type `Simd<3_usize>` of non-power-of-two length
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/simd-type-generic-monomorphisation.rs b/src/test/ui/simd-type-generic-monomorphisation.rs
deleted file mode 100644 (file)
index 0275f0c..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-// build-fail
-
-#![feature(repr_simd, platform_intrinsics)]
-
-// ignore-tidy-linelength
-
-// error-pattern:monomorphising SIMD type `Simd2<X>` with a non-primitive-scalar (integer/float/pointer) element type `X`
-
-struct X(Vec<i32>);
-#[repr(simd)]
-struct Simd2<T>(T, T);
-
-fn main() {
-    let _ = Simd2(X(vec![]), X(vec![]));
-}
diff --git a/src/test/ui/simd-type-generic-monomorphisation.stderr b/src/test/ui/simd-type-generic-monomorphisation.stderr
deleted file mode 100644 (file)
index 7f23893..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-error: monomorphising SIMD type `Simd2<X>` with a non-primitive-scalar (integer/float/pointer) element type `X`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/simd-type.rs b/src/test/ui/simd-type.rs
deleted file mode 100644 (file)
index 87df264..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#![feature(repr_simd)]
-#![allow(non_camel_case_types)]
-
-// ignore-tidy-linelength
-
-#[repr(simd)]
-struct empty; //~ ERROR SIMD vector cannot be empty
-
-#[repr(simd)]
-struct empty2([f32; 0]); //~ ERROR SIMD vector cannot be empty
-
-#[repr(simd)]
-struct pow2([f32; 7]); //~ ERROR SIMD vector length must be a power of two
-
-#[repr(simd)]
-struct i64f64(i64, f64); //~ ERROR SIMD vector should be homogeneous
-
-struct Foo;
-
-#[repr(simd)]
-struct FooV(Foo, Foo); //~ ERROR SIMD vector element type should be a primitive scalar (integer/float/pointer) type
-
-#[repr(simd)]
-struct FooV2([Foo; 2]); //~ ERROR SIMD vector element type should be a primitive scalar (integer/float/pointer) type
-
-#[repr(simd)]
-struct TooBig([f32; 65536]); //~ ERROR SIMD vector cannot have more than 32768 elements
-
-#[repr(simd)]
-struct JustRight([u128; 32768]);
-
-fn main() {}
diff --git a/src/test/ui/simd-type.stderr b/src/test/ui/simd-type.stderr
deleted file mode 100644 (file)
index 8b15ef0..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-error[E0075]: SIMD vector cannot be empty
-  --> $DIR/simd-type.rs:7:1
-   |
-LL | struct empty;
-   | ^^^^^^^^^^^^^
-
-error[E0075]: SIMD vector cannot be empty
-  --> $DIR/simd-type.rs:10:1
-   |
-LL | struct empty2([f32; 0]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0075]: SIMD vector length must be a power of two
-  --> $DIR/simd-type.rs:13:1
-   |
-LL | struct pow2([f32; 7]);
-   | ^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0076]: SIMD vector should be homogeneous
-  --> $DIR/simd-type.rs:16:1
-   |
-LL | struct i64f64(i64, f64);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^ SIMD elements must have the same type
-
-error[E0077]: SIMD vector element type should be a primitive scalar (integer/float/pointer) type
-  --> $DIR/simd-type.rs:21:1
-   |
-LL | struct FooV(Foo, Foo);
-   | ^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0077]: SIMD vector element type should be a primitive scalar (integer/float/pointer) type
-  --> $DIR/simd-type.rs:24:1
-   |
-LL | struct FooV2([Foo; 2]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0075]: SIMD vector cannot have more than 32768 elements
-  --> $DIR/simd-type.rs:27:1
-   |
-LL | struct TooBig([f32; 65536]);
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 7 previous errors
-
-Some errors have detailed explanations: E0075, E0076, E0077.
-For more information about an error, try `rustc --explain E0075`.
diff --git a/src/test/ui/simd/issue-17170.rs b/src/test/ui/simd/issue-17170.rs
new file mode 100644 (file)
index 0000000..49cfbab
--- /dev/null
@@ -0,0 +1,11 @@
+#![feature(repr_simd)]
+
+#[repr(simd)]
+struct T(f64, f64, f64);
+//~^ ERROR SIMD vector length must be a power of two
+
+static X: T = T(0.0, 0.0, 0.0);
+
+fn main() {
+    let _ = X;
+}
diff --git a/src/test/ui/simd/issue-17170.stderr b/src/test/ui/simd/issue-17170.stderr
new file mode 100644 (file)
index 0000000..b35c3c4
--- /dev/null
@@ -0,0 +1,11 @@
+error[E0075]: SIMD vector length must be a power of two
+  --> $DIR/issue-17170.rs:4:1
+   |
+LL | struct T(f64, f64, f64);
+   | ^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: monomorphising SIMD type `T` of non-power-of-two length
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0075`.
diff --git a/src/test/ui/simd/issue-39720.rs b/src/test/ui/simd/issue-39720.rs
new file mode 100644 (file)
index 0000000..7d59692
--- /dev/null
@@ -0,0 +1,23 @@
+// ignore-emscripten FIXME(#45351)
+
+#![feature(repr_simd, platform_intrinsics)]
+
+#[repr(simd)]
+#[derive(Copy, Clone, Debug)]
+pub struct Char3(pub i8, pub i8, pub i8);
+//~^ ERROR SIMD vector length must be a power of two
+
+#[repr(simd)]
+#[derive(Copy, Clone, Debug)]
+pub struct Short3(pub i16, pub i16, pub i16);
+//~^ ERROR SIMD vector length must be a power of two
+
+extern "platform-intrinsic" {
+    fn simd_cast<T, U>(x: T) -> U;
+}
+
+fn main() {
+    let cast: Short3 = unsafe { simd_cast(Char3(10, -3, -9)) };
+
+    println!("{:?}", cast);
+}
diff --git a/src/test/ui/simd/issue-39720.stderr b/src/test/ui/simd/issue-39720.stderr
new file mode 100644 (file)
index 0000000..355ceff
--- /dev/null
@@ -0,0 +1,15 @@
+error[E0075]: SIMD vector length must be a power of two
+  --> $DIR/issue-39720.rs:7:1
+   |
+LL | pub struct Char3(pub i8, pub i8, pub i8);
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0075]: SIMD vector length must be a power of two
+  --> $DIR/issue-39720.rs:12:1
+   |
+LL | pub struct Short3(pub i16, pub i16, pub i16);
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0075`.
diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation-empty.rs b/src/test/ui/simd/simd-type-generic-monomorphisation-empty.rs
new file mode 100644 (file)
index 0000000..0121404
--- /dev/null
@@ -0,0 +1,12 @@
+// build-fail
+
+#![feature(repr_simd, platform_intrinsics)]
+
+// error-pattern:monomorphising SIMD type `Simd<0_usize>` of zero length
+
+#[repr(simd)]
+struct Simd<const N: usize>([f32; N]);
+
+fn main() {
+    let _ = Simd::<0>([]);
+}
diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation-empty.stderr b/src/test/ui/simd/simd-type-generic-monomorphisation-empty.stderr
new file mode 100644 (file)
index 0000000..00fde19
--- /dev/null
@@ -0,0 +1,4 @@
+error: monomorphising SIMD type `Simd<0_usize>` of zero length
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation-oversized.rs b/src/test/ui/simd/simd-type-generic-monomorphisation-oversized.rs
new file mode 100644 (file)
index 0000000..bd0d457
--- /dev/null
@@ -0,0 +1,12 @@
+// build-fail
+
+#![feature(repr_simd, platform_intrinsics)]
+
+// error-pattern:monomorphising SIMD type `Simd<65536_usize>` of length greater than 32768
+
+#[repr(simd)]
+struct Simd<const N: usize>([f32; N]);
+
+fn main() {
+    let _ = Simd::<65536>([0.; 65536]);
+}
diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation-oversized.stderr b/src/test/ui/simd/simd-type-generic-monomorphisation-oversized.stderr
new file mode 100644 (file)
index 0000000..f441835
--- /dev/null
@@ -0,0 +1,4 @@
+error: monomorphising SIMD type `Simd<65536_usize>` of length greater than 32768
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.rs b/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.rs
new file mode 100644 (file)
index 0000000..3a0b9e0
--- /dev/null
@@ -0,0 +1,12 @@
+// build-fail
+
+#![feature(repr_simd, platform_intrinsics)]
+
+// error-pattern:monomorphising SIMD type `Simd<3_usize>` of non-power-of-two length
+
+#[repr(simd)]
+struct Simd<const N: usize>([f32; N]);
+
+fn main() {
+    let _ = Simd::<3>([0.; 3]);
+}
diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.stderr b/src/test/ui/simd/simd-type-generic-monomorphisation-power-of-two.stderr
new file mode 100644 (file)
index 0000000..82cc0d8
--- /dev/null
@@ -0,0 +1,4 @@
+error: monomorphising SIMD type `Simd<3_usize>` of non-power-of-two length
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation.rs b/src/test/ui/simd/simd-type-generic-monomorphisation.rs
new file mode 100644 (file)
index 0000000..0275f0c
--- /dev/null
@@ -0,0 +1,15 @@
+// build-fail
+
+#![feature(repr_simd, platform_intrinsics)]
+
+// ignore-tidy-linelength
+
+// error-pattern:monomorphising SIMD type `Simd2<X>` with a non-primitive-scalar (integer/float/pointer) element type `X`
+
+struct X(Vec<i32>);
+#[repr(simd)]
+struct Simd2<T>(T, T);
+
+fn main() {
+    let _ = Simd2(X(vec![]), X(vec![]));
+}
diff --git a/src/test/ui/simd/simd-type-generic-monomorphisation.stderr b/src/test/ui/simd/simd-type-generic-monomorphisation.stderr
new file mode 100644 (file)
index 0000000..7f23893
--- /dev/null
@@ -0,0 +1,4 @@
+error: monomorphising SIMD type `Simd2<X>` with a non-primitive-scalar (integer/float/pointer) element type `X`
+
+error: aborting due to previous error
+
index e7b9bfe32f8df43f8247f96c954826f4ab5665fb..cc7443d04856cba2acb4397449b684b823cae9d9 100644 (file)
@@ -1,9 +1,33 @@
-// run-pass
-#![allow(dead_code)]
+#![feature(repr_simd)]
+#![allow(non_camel_case_types)]
 
-// pretty-expanded FIXME #23616
+// ignore-tidy-linelength
 
-#![feature(repr_simd)]
+#[repr(simd)]
+struct empty; //~ ERROR SIMD vector cannot be empty
+
+#[repr(simd)]
+struct empty2([f32; 0]); //~ ERROR SIMD vector cannot be empty
+
+#[repr(simd)]
+struct pow2([f32; 7]); //~ ERROR SIMD vector length must be a power of two
+
+#[repr(simd)]
+struct i64f64(i64, f64); //~ ERROR SIMD vector should be homogeneous
+
+struct Foo;
+
+#[repr(simd)]
+struct FooV(Foo, Foo); //~ ERROR SIMD vector element type should be a primitive scalar (integer/float/pointer) type
+
+#[repr(simd)]
+struct FooV2([Foo; 2]); //~ ERROR SIMD vector element type should be a primitive scalar (integer/float/pointer) type
+
+#[repr(simd)]
+struct TooBig([f32; 65536]); //~ ERROR SIMD vector cannot have more than 32768 elements
+
+#[repr(simd)]
+struct JustRight([u128; 32768]);
 
 #[repr(simd)]
 struct RGBA {
@@ -13,4 +37,4 @@ struct RGBA {
     a: f32
 }
 
-pub fn main() {}
+fn main() {}
diff --git a/src/test/ui/simd/simd-type.stderr b/src/test/ui/simd/simd-type.stderr
new file mode 100644 (file)
index 0000000..8b15ef0
--- /dev/null
@@ -0,0 +1,46 @@
+error[E0075]: SIMD vector cannot be empty
+  --> $DIR/simd-type.rs:7:1
+   |
+LL | struct empty;
+   | ^^^^^^^^^^^^^
+
+error[E0075]: SIMD vector cannot be empty
+  --> $DIR/simd-type.rs:10:1
+   |
+LL | struct empty2([f32; 0]);
+   | ^^^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0075]: SIMD vector length must be a power of two
+  --> $DIR/simd-type.rs:13:1
+   |
+LL | struct pow2([f32; 7]);
+   | ^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0076]: SIMD vector should be homogeneous
+  --> $DIR/simd-type.rs:16:1
+   |
+LL | struct i64f64(i64, f64);
+   | ^^^^^^^^^^^^^^^^^^^^^^^^ SIMD elements must have the same type
+
+error[E0077]: SIMD vector element type should be a primitive scalar (integer/float/pointer) type
+  --> $DIR/simd-type.rs:21:1
+   |
+LL | struct FooV(Foo, Foo);
+   | ^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0077]: SIMD vector element type should be a primitive scalar (integer/float/pointer) type
+  --> $DIR/simd-type.rs:24:1
+   |
+LL | struct FooV2([Foo; 2]);
+   | ^^^^^^^^^^^^^^^^^^^^^^^
+
+error[E0075]: SIMD vector cannot have more than 32768 elements
+  --> $DIR/simd-type.rs:27:1
+   |
+LL | struct TooBig([f32; 65536]);
+   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 7 previous errors
+
+Some errors have detailed explanations: E0075, E0076, E0077.
+For more information about an error, try `rustc --explain E0075`.