From ccf091636fb6801e0f37d6b0f7d62debef727beb Mon Sep 17 00:00:00 2001 From: ecstatic-morse Date: Tue, 29 Oct 2019 12:42:50 -0700 Subject: [PATCH] Add `#[rustc_args_required_const]` to `simd_shuffle` Currently, these have to be special-cased in the promotion logic for rustc. --- crates/core_arch/src/simd_llvm.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crates/core_arch/src/simd_llvm.rs b/crates/core_arch/src/simd_llvm.rs index 7f18ca8f0f..5b5c6dd0a8 100644 --- a/crates/core_arch/src/simd_llvm.rs +++ b/crates/core_arch/src/simd_llvm.rs @@ -10,12 +10,19 @@ extern "platform-intrinsic" { pub fn simd_gt(x: T, y: T) -> U; pub fn simd_ge(x: T, y: T) -> U; + #[rustc_args_required_const(2)] pub fn simd_shuffle2(x: T, y: T, idx: [u32; 2]) -> U; + #[rustc_args_required_const(2)] pub fn simd_shuffle4(x: T, y: T, idx: [u32; 4]) -> U; + #[rustc_args_required_const(2)] pub fn simd_shuffle8(x: T, y: T, idx: [u32; 8]) -> U; + #[rustc_args_required_const(2)] pub fn simd_shuffle16(x: T, y: T, idx: [u32; 16]) -> U; + #[rustc_args_required_const(2)] pub fn simd_shuffle32(x: T, y: T, idx: [u32; 32]) -> U; + #[rustc_args_required_const(2)] pub fn simd_shuffle64(x: T, y: T, idx: [u32; 64]) -> U; + #[rustc_args_required_const(2)] pub fn simd_shuffle128(x: T, y: T, idx: [u32; 128]) -> U; pub fn simd_insert(x: T, idx: u32, val: U) -> T;