@@ -10,31 +10,37 @@ extern "platform-intrinsic" {
10
10
// FIXME: Passing this intrinsics an `idx` array with an index that is
11
11
// out-of-bounds will produce a monomorphization-time error.
12
12
// https://github.com/rust-lang-nursery/packed_simd/issues/21
13
+ #[ rustc_args_required_const( 2 ) ]
13
14
pub fn simd_shuffle2 < T , U > ( x : T , y : T , idx : [ u32 ; 2 ] ) -> U
14
15
where
15
16
T : Simd ,
16
17
<T as Simd >:: Element : Shuffle < [ u32 ; 2 ] , Output = U > ;
17
18
19
+ #[ rustc_args_required_const( 2 ) ]
18
20
pub fn simd_shuffle4 < T , U > ( x : T , y : T , idx : [ u32 ; 4 ] ) -> U
19
21
where
20
22
T : Simd ,
21
23
<T as Simd >:: Element : Shuffle < [ u32 ; 4 ] , Output = U > ;
22
24
25
+ #[ rustc_args_required_const( 2 ) ]
23
26
pub fn simd_shuffle8 < T , U > ( x : T , y : T , idx : [ u32 ; 8 ] ) -> U
24
27
where
25
28
T : Simd ,
26
29
<T as Simd >:: Element : Shuffle < [ u32 ; 8 ] , Output = U > ;
27
30
31
+ #[ rustc_args_required_const( 2 ) ]
28
32
pub fn simd_shuffle16 < T , U > ( x : T , y : T , idx : [ u32 ; 16 ] ) -> U
29
33
where
30
34
T : Simd ,
31
35
<T as Simd >:: Element : Shuffle < [ u32 ; 16 ] , Output = U > ;
32
36
37
+ #[ rustc_args_required_const( 2 ) ]
33
38
pub fn simd_shuffle32 < T , U > ( x : T , y : T , idx : [ u32 ; 32 ] ) -> U
34
39
where
35
40
T : Simd ,
36
41
<T as Simd >:: Element : Shuffle < [ u32 ; 32 ] , Output = U > ;
37
42
43
+ #[ rustc_args_required_const( 2 ) ]
38
44
pub fn simd_shuffle64 < T , U > ( x : T , y : T , idx : [ u32 ; 64 ] ) -> U
39
45
where
40
46
T : Simd ,
0 commit comments