about summary refs log tree commit diff
path: root/tests/codegen/const-vector.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/const-vector.rs')
-rw-r--r--tests/codegen/const-vector.rs78
1 files changed, 0 insertions, 78 deletions
diff --git a/tests/codegen/const-vector.rs b/tests/codegen/const-vector.rs
deleted file mode 100644
index a2249f4fff7..00000000000
--- a/tests/codegen/const-vector.rs
+++ /dev/null
@@ -1,78 +0,0 @@
-//@ revisions: OPT0 OPT0_S390X
-//@ [OPT0] ignore-s390x
-//@ [OPT0_S390X] only-s390x
-//@ [OPT0] compile-flags: -C no-prepopulate-passes -Copt-level=0
-//@ [OPT0_S390X] compile-flags: -C no-prepopulate-passes -Copt-level=0 -C target-cpu=z13
-
-// This test checks that constants of SIMD type are passed as immediate vectors.
-// We ensure that both vector representations (struct with fields and struct wrapping array) work.
-#![crate_type = "lib"]
-#![feature(abi_unadjusted)]
-#![feature(const_trait_impl)]
-#![feature(repr_simd)]
-#![feature(rustc_attrs)]
-#![feature(simd_ffi)]
-#![feature(arm_target_feature)]
-#![feature(mips_target_feature)]
-#![allow(non_camel_case_types)]
-
-#[path = "../auxiliary/minisimd.rs"]
-mod minisimd;
-use minisimd::{PackedSimd as Simd, f32x2, i8x2};
-
-// The following functions are required for the tests to ensure
-// that they are called with a const vector
-
-extern "unadjusted" {
-    fn test_i8x2(a: i8x2);
-    fn test_i8x2_two_args(a: i8x2, b: i8x2);
-    fn test_i8x2_mixed_args(a: i8x2, c: i32, b: i8x2);
-    fn test_i8x2_arr(a: i8x2);
-    fn test_f32x2(a: f32x2);
-    fn test_f32x2_arr(a: f32x2);
-    fn test_simd(a: Simd<i32, 4>);
-    fn test_simd_unaligned(a: Simd<i32, 3>);
-}
-
-// Ensure the packed variant of the simd struct does not become a const vector
-// if the size is not a power of 2
-// CHECK: %"minisimd::PackedSimd<i32, 3>" = type { [3 x i32] }
-
-#[cfg_attr(target_family = "wasm", target_feature(enable = "simd128"))]
-#[cfg_attr(target_arch = "arm", target_feature(enable = "neon"))]
-#[cfg_attr(target_arch = "x86", target_feature(enable = "sse"))]
-#[cfg_attr(target_arch = "mips", target_feature(enable = "msa"))]
-pub fn do_call() {
-    unsafe {
-        // CHECK: call void @test_i8x2(<2 x i8> <i8 32, i8 64>
-        test_i8x2(const { i8x2::from_array([32, 64]) });
-
-        // CHECK: call void @test_i8x2_two_args(<2 x i8> <i8 32, i8 64>, <2 x i8> <i8 8, i8 16>
-        test_i8x2_two_args(
-            const { i8x2::from_array([32, 64]) },
-            const { i8x2::from_array([8, 16]) },
-        );
-
-        // CHECK: call void @test_i8x2_mixed_args(<2 x i8> <i8 32, i8 64>, i32 43, <2 x i8> <i8 8, i8 16>
-        test_i8x2_mixed_args(
-            const { i8x2::from_array([32, 64]) },
-            43,
-            const { i8x2::from_array([8, 16]) },
-        );
-
-        // CHECK: call void @test_i8x2_arr(<2 x i8> <i8 32, i8 64>
-        test_i8x2_arr(const { i8x2::from_array([32, 64]) });
-
-        // CHECK: call void @test_f32x2(<2 x float> <float 0x3FD47AE140000000, float 0x3FE47AE140000000>
-        test_f32x2(const { f32x2::from_array([0.32, 0.64]) });
-
-        // CHECK: void @test_f32x2_arr(<2 x float> <float 0x3FD47AE140000000, float 0x3FE47AE140000000>
-        test_f32x2_arr(const { f32x2::from_array([0.32, 0.64]) });
-
-        // CHECK: call void @test_simd(<4 x i32> <i32 2, i32 4, i32 6, i32 8>
-        test_simd(const { Simd::<i32, 4>([2, 4, 6, 8]) });
-
-        // CHECK: call void @test_simd_unaligned(%"minisimd::PackedSimd<i32, 3>" %1
-        test_simd_unaligned(const { Simd::<i32, 3>([2, 4, 6]) });
-    }
-}