diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2025-04-08 17:30:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-08 17:30:35 +0100 |
commit | 46d4c3b1f64dfbca2a029ff30434aaa5248fc190 (patch) | |
tree | 4e82a2ed3a7c169acfd2a2d7b38574fca436d037 /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp | |
parent | d6c8e8908d421979a428ede9f9a630dac8576c5b (diff) | |
download | llvm-46d4c3b1f64dfbca2a029ff30434aaa5248fc190.zip llvm-46d4c3b1f64dfbca2a029ff30434aaa5248fc190.tar.gz llvm-46d4c3b1f64dfbca2a029ff30434aaa5248fc190.tar.bz2 |
[X86] combineX86ShuffleChain - always prefer VPERMQ/PD for unary subvector shuffles on AVX2+ targets (#134849)
When combining 2 x 128-bit subvectors, don't assume that if the node is
already a X86ISD::VPERM2X128 node then there's nothing to do.
Fix issue where if we'd somehow combined to X86ISD::VPERM2X128
(typically if the 2 operands had then simplified to a common operand),
we can't canonicalise back to X86ISD::VPERMI on AVX2+ targets.
This matches the v4f64/v4i64 shuffle lowering preference for VPERMQ/PD
over VPERM2F128/I128.
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
0 files changed, 0 insertions, 0 deletions