diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2025-04-01 08:39:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-01 08:39:29 +0100 |
commit | c5afcfe0bb44067b2cd050ed9cff311eada9cc37 (patch) | |
tree | 89d9bbfb93b413ac35bc4f03d89b6d5ec188c3f7 /llvm/lib/Bitcode/Reader | |
parent | 5ff8c036063d83c6eff495de7709b12875113d62 (diff) | |
download | llvm-c5afcfe0bb44067b2cd050ed9cff311eada9cc37.zip llvm-c5afcfe0bb44067b2cd050ed9cff311eada9cc37.tar.gz llvm-c5afcfe0bb44067b2cd050ed9cff311eada9cc37.tar.bz2 |
[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast) (REAPPLIED) (#133724)
If the broadcast is already the full vector width, try to prefer a blend/vshuff64x2 over a vector insertion which is usually lower latency (and sometimes a lower uop count), and reduces changes in vector sizes that can interfere with further combines.
Updated version of #133083 - which lead to infinite loops due to shuffle lowering recreating the INSERT_SUBVECTOR pattern, this variant creates the BLENDI/SHUF128 nodes directly.
Diffstat (limited to 'llvm/lib/Bitcode/Reader')
0 files changed, 0 insertions, 0 deletions