about summary refs log tree commit diff
path: root/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/simd/intrinsic/generic-arithmetic-pass.rs')
-rw-r--r--tests/ui/simd/intrinsic/generic-arithmetic-pass.rs67
1 files changed, 48 insertions, 19 deletions
diff --git a/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs b/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs
index e4eb2a9da27..4a18c0164e4 100644
--- a/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs
+++ b/tests/ui/simd/intrinsic/generic-arithmetic-pass.rs
@@ -23,25 +23,54 @@ macro_rules! all_eq {
     }};
 }
 
-extern "rust-intrinsic" {
-    fn simd_add<T>(x: T, y: T) -> T;
-    fn simd_sub<T>(x: T, y: T) -> T;
-    fn simd_mul<T>(x: T, y: T) -> T;
-    fn simd_div<T>(x: T, y: T) -> T;
-    fn simd_rem<T>(x: T, y: T) -> T;
-    fn simd_shl<T>(x: T, y: T) -> T;
-    fn simd_shr<T>(x: T, y: T) -> T;
-    fn simd_and<T>(x: T, y: T) -> T;
-    fn simd_or<T>(x: T, y: T) -> T;
-    fn simd_xor<T>(x: T, y: T) -> T;
-
-    fn simd_neg<T>(x: T) -> T;
-    fn simd_bswap<T>(x: T) -> T;
-    fn simd_bitreverse<T>(x: T) -> T;
-    fn simd_ctlz<T>(x: T) -> T;
-    fn simd_ctpop<T>(x: T) -> T;
-    fn simd_cttz<T>(x: T) -> T;
-}
+#[rustc_intrinsic]
+unsafe fn simd_add<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_sub<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_mul<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_div<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_rem<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_shl<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_shr<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_and<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_or<T>(x: T, y: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_xor<T>(x: T, y: T) -> T;
+
+
+#[rustc_intrinsic]
+unsafe fn simd_neg<T>(x: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_bswap<T>(x: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_bitreverse<T>(x: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_ctlz<T>(x: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_ctpop<T>(x: T) -> T;
+
+#[rustc_intrinsic]
+unsafe fn simd_cttz<T>(x: T) -> T;
 
 fn main() {
     let x1 = i32x4([1, 2, 3, 4]);