Skip to content

Commit a8273dd

Browse files
ecstatic-morseworkingjubilee
authored andcommitted
Mark simd_shuffle intrinsics as rustc_args_required_const
This change was made in `stdarch` but not `packed_simd`. See rust-lang/rust#69280 for background.
1 parent c61141b commit a8273dd

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/codegen/llvm.rs

+6
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,37 @@ extern "platform-intrinsic" {
1010
// FIXME: Passing this intrinsics an `idx` array with an index that is
1111
// out-of-bounds will produce a monomorphization-time error.
1212
// https://github.com/rust-lang-nursery/packed_simd/issues/21
13+
#[rustc_args_required_const(2)]
1314
pub fn simd_shuffle2<T, U>(x: T, y: T, idx: [u32; 2]) -> U
1415
where
1516
T: Simd,
1617
<T as Simd>::Element: Shuffle<[u32; 2], Output = U>;
1718

19+
#[rustc_args_required_const(2)]
1820
pub fn simd_shuffle4<T, U>(x: T, y: T, idx: [u32; 4]) -> U
1921
where
2022
T: Simd,
2123
<T as Simd>::Element: Shuffle<[u32; 4], Output = U>;
2224

25+
#[rustc_args_required_const(2)]
2326
pub fn simd_shuffle8<T, U>(x: T, y: T, idx: [u32; 8]) -> U
2427
where
2528
T: Simd,
2629
<T as Simd>::Element: Shuffle<[u32; 8], Output = U>;
2730

31+
#[rustc_args_required_const(2)]
2832
pub fn simd_shuffle16<T, U>(x: T, y: T, idx: [u32; 16]) -> U
2933
where
3034
T: Simd,
3135
<T as Simd>::Element: Shuffle<[u32; 16], Output = U>;
3236

37+
#[rustc_args_required_const(2)]
3338
pub fn simd_shuffle32<T, U>(x: T, y: T, idx: [u32; 32]) -> U
3439
where
3540
T: Simd,
3641
<T as Simd>::Element: Shuffle<[u32; 32], Output = U>;
3742

43+
#[rustc_args_required_const(2)]
3844
pub fn simd_shuffle64<T, U>(x: T, y: T, idx: [u32; 64]) -> U
3945
where
4046
T: Simd,

0 commit comments

Comments
 (0)