rust/compiler/rustc_codegen_gcc/src
Trevor Gross d2ff033302
Rollup merge of #128731 - RalfJung:simd-shuffle-vector, r=workingjubilee
simd_shuffle intrinsic: allow argument to be passed as vector

See https://github.com/rust-lang/rust/issues/128738 for context.

I'd like to get rid of [this hack](6c0b89dfac/compiler/rustc_codegen_ssa/src/mir/block.rs (L922-L935)). https://github.com/rust-lang/rust/pull/128537 almost lets us do that since constant SIMD vectors will then be passed as immediate arguments. However, simd_shuffle for some reason actually takes an *array* as argument, not a vector, so the hack is still required to ensure that the array becomes an immediate (which then later stages of codegen convert into a vector, as that's what LLVM needs).

This PR prepares simd_shuffle to also support a vector as the `idx` argument. Once this lands, stdarch can hopefully be updated to pass `idx` as a vector, and then support for arrays can be removed, which finally lets us get rid of that hack.
2024-08-27 01:46:50 -05:00
..
back Merge commit '98ed962c7d3eebe12c97588e61245273d265e72f' into master 2024-07-10 12:44:23 +02:00
intrinsic simd_shuffle intrinsic: allow argument to be passed as vector (not just as array) 2024-08-13 07:51:17 +02:00
abi.rs Format cg_gcc with same formatting parameters 2024-07-17 20:22:07 +02:00
allocator.rs Merge commit 'b385428e3ddf330805241e7758e773f933357c4b' into subtree-update_cg_gcc_2024-03-05 2024-03-05 19:58:36 +01:00
archive.rs Move computation of decorated names out of the create_dll_import_lib method 2024-07-30 10:32:32 +00:00
asm.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
attributes.rs Hide implicit target features from diagnostics when possible 2024-08-07 00:43:52 -04:00
base.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
builder.rs make the GCC backend compatible with vector shuffle indices 2024-08-13 07:51:28 +02:00
callee.rs Merge commit '98ed962c7d3eebe12c97588e61245273d265e72f' into master 2024-07-10 12:44:23 +02:00
common.rs const vector passed to codegen 2024-08-08 11:15:03 +01:00
consts.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
context.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
coverageinfo.rs Unbox and unwrap the contents of StatementKind::Coverage 2024-03-23 22:05:11 +11:00
debuginfo.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
declare.rs Merge commit '98ed962c7d3eebe12c97588e61245273d265e72f' into master 2024-07-10 12:44:23 +02:00
errors.rs Remove redundant argument from subdiagnostic method 2024-06-18 15:42:11 +00:00
gcc_util.rs Refactor and fill out target feature lists 2024-08-07 00:41:48 -04:00
int.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
lib.rs Refactor and fill out target feature lists 2024-08-07 00:41:48 -04:00
mono_item.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
type_.rs Merge commit '98ed962c7d3eebe12c97588e61245273d265e72f' into master 2024-07-10 12:44:23 +02:00
type_of.rs Shrink TyKind::FnPtr. 2024-08-09 14:33:25 +10:00