diff options
| author | bors <bors@rust-lang.org> | 2024-02-22 09:59:41 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-02-22 09:59:41 +0000 |
| commit | 52dba5ffe73c25951fd6ae38bf20513002dd7874 (patch) | |
| tree | eb55b2cf212ff50733deffd25d5521efc0add346 /compiler/rustc_codegen_ssa/src | |
| parent | f70f19fef41cfdda75c92f163434c29ad046cf09 (diff) | |
| parent | e19f89b5ffaffb680ba72e1918cd74ae101cff51 (diff) | |
Auto merge of #121225 - RalfJung:simd-extract-insert-const-idx, r=oli-obk,Amanieu
require simd_insert, simd_extract indices to be constants As discussed in https://github.com/rust-lang/rust/issues/77477 (see in particular [here](https://github.com/rust-lang/rust/issues/77477#issuecomment-703149102)). This PR doesn't touch codegen yet -- the first step is to ensure that the indices are always constants; the second step is to then make use of this fact in backends. Blocked on https://github.com/rust-lang/stdarch/pull/1530 propagating to the rustc repo.
Diffstat (limited to 'compiler/rustc_codegen_ssa/src')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/block.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_ssa/src/mir/block.rs b/compiler/rustc_codegen_ssa/src/mir/block.rs index 75d413dedad..00007110938 100644 --- a/compiler/rustc_codegen_ssa/src/mir/block.rs +++ b/compiler/rustc_codegen_ssa/src/mir/block.rs @@ -864,8 +864,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { .map(|(i, arg)| { // The indices passed to simd_shuffle in the // third argument must be constant. This is - // checked by const-qualification, which also - // promotes any complex rvalues to constants. + // checked by the type-checker. if i == 2 && intrinsic == sym::simd_shuffle { if let mir::Operand::Constant(constant) = &arg.node { let (llval, ty) = self.simd_shuffle_indices(bx, constant); |
