about summary refs log tree commit diff
path: root/tests/codegen/simd/packed-simd-alignment.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/simd/packed-simd-alignment.rs')
-rw-r--r--tests/codegen/simd/packed-simd-alignment.rs44
1 files changed, 0 insertions, 44 deletions
diff --git a/tests/codegen/simd/packed-simd-alignment.rs b/tests/codegen/simd/packed-simd-alignment.rs
deleted file mode 100644
index 53e88d8e5cf..00000000000
--- a/tests/codegen/simd/packed-simd-alignment.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-//@ compile-flags: -Cno-prepopulate-passes
-
-#![crate_type = "lib"]
-#![feature(repr_simd, core_intrinsics)]
-// make sure that codegen emits correctly-aligned loads and stores for repr(packed, simd) types
-// the alignment of a load should be no less than T, and no more than the size of the vector type
-use std::intrinsics::simd as intrinsics;
-
-#[derive(Copy, Clone)]
-#[repr(packed, simd)]
-struct f32x3([f32; 3]);
-
-#[derive(Copy, Clone)]
-#[repr(packed, simd)]
-struct f32x4([f32; 4]);
-
-// CHECK-LABEL: load_f32x3
-#[no_mangle]
-pub fn load_f32x3(floats: &f32x3) -> f32x3 {
-    // FIXME: Is a memcpy really the best we can do?
-    // CHECK: @llvm.memcpy.{{.*}}ptr align 4 {{.*}}ptr align 4
-    *floats
-}
-
-// CHECK-LABEL: load_f32x4
-#[no_mangle]
-pub fn load_f32x4(floats: &f32x4) -> f32x4 {
-    // CHECK: load <4 x float>, ptr %{{[a-z0-9_]*}}, align {{4|8|16}}
-    *floats
-}
-
-// CHECK-LABEL: add_f32x3
-#[no_mangle]
-pub fn add_f32x3(x: f32x3, y: f32x3) -> f32x3 {
-    // CHECK: load <3 x float>, ptr %{{[a-z0-9_]*}}, align 4
-    unsafe { intrinsics::simd_add(x, y) }
-}
-
-// CHECK-LABEL: add_f32x4
-#[no_mangle]
-pub fn add_f32x4(x: f32x4, y: f32x4) -> f32x4 {
-    // CHECK: load <4 x float>, ptr %{{[a-z0-9_]*}}, align {{4|8|16}}
-    unsafe { intrinsics::simd_add(x, y) }
-}