Commit 7199bba
Automerge: [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.File tree
2 files changed
+9
-8
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
2 files changed
+9
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39827 | 39827 | | |
39828 | 39828 | | |
39829 | 39829 | | |
39830 | | - | |
39831 | 39830 | | |
39832 | 39831 | | |
39833 | 39832 | | |
| |||
39838 | 39837 | | |
39839 | 39838 | | |
39840 | 39839 | | |
39841 | | - | |
39842 | | - | |
39843 | | - | |
39844 | | - | |
39845 | | - | |
| 39840 | + | |
| 39841 | + | |
| 39842 | + | |
39846 | 39843 | | |
39847 | 39844 | | |
39848 | 39845 | | |
39849 | 39846 | | |
| 39847 | + | |
| 39848 | + | |
39850 | 39849 | | |
39851 | 39850 | | |
39852 | 39851 | | |
| |||
39864 | 39863 | | |
39865 | 39864 | | |
39866 | 39865 | | |
| 39866 | + | |
| 39867 | + | |
39867 | 39868 | | |
39868 | 39869 | | |
39869 | 39870 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
| 145 | + | |
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
| |||
0 commit comments