]>
git.proxmox.com Git - rustc.git/blob - src/test/ui/simd/intrinsic/generic-shuffle.rs
3 // Test that the simd_shuffle intrinsic produces ok-ish error
4 // messages when misused.
6 #![feature(repr_simd, platform_intrinsics)]
10 pub struct Simd
<T
, const N
: usize>([T
; N
]);
12 extern "platform-intrinsic" {
13 fn simd_shuffle
<T
, I
, U
>(a
: T
, b
: T
, i
: I
) -> U
;
17 const I
: [u32; 2] = [0; 2];
18 const I2
: [f32; 2] = [0.; 2];
19 let v
= Simd
::<u32, 4>([0; 4]);
22 let _
: Simd
<u32, 2> = simd_shuffle(v
, v
, I
);
24 let _
: Simd
<u32, 4> = simd_shuffle(v
, v
, I
);
25 //~^ ERROR invalid monomorphization of `simd_shuffle` intrinsic
27 let _
: Simd
<f32, 2> = simd_shuffle(v
, v
, I
);
28 //~^ ERROR invalid monomorphization of `simd_shuffle` intrinsic
30 let _
: Simd
<u32, 2> = simd_shuffle(v
, v
, I2
);
31 //~^ ERROR invalid monomorphization of `simd_shuffle` intrinsic