about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
diff options
context:
space:
mode:
authorTrevor Gross <t.gross35@gmail.com>2024-08-27 01:46:50 -0500
committerGitHub <noreply@github.com>2024-08-27 01:46:50 -0500
commit8a26d21ce23b55147252a7bbf7dd30c25b294b58 (patch)
treeefd60aa4f4f79f59809a2c3bcc47a8d332c4c433 /compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp
parent8e7b3b5c2b307eb078ea836eba4e5bb30e5c4b60 (diff)
parent6906793db867f0c7701a1414bec286953b0e20e7 (diff)
downloadrust-8a26d21ce23b55147252a7bbf7dd30c25b294b58.tar.gz
rust-8a26d21ce23b55147252a7bbf7dd30c25b294b58.zip
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](https://github.com/rust-lang/rust/blob/6c0b89dfac65be9a5be12f938f23098ebc36c635/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.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp')
0 files changed, 0 insertions, 0 deletions