diff options
Diffstat (limited to 'tests/ui/simd/intrinsic/generic-arithmetic-pass.rs')
| -rw-r--r-- | tests/ui/simd/intrinsic/generic-arithmetic-pass.rs | 67 |
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]); |
