Commit 990289c
authored
[X86] LowerShuffle - don't call canonicalizeShuffleMaskWithHorizOp if we could shuffle whole lanes (#170838)
canonicalizeShuffleMaskWithHorizOp was getting stuck as it was
canonicalizing a SHUFFLE(HADD(X,X)) to only refer to the results of the
LHS X, but the original shuffle was shuffling entire lanes (with
VPERM2F128), and the canonicalised shuffle was then attempting to
lowering back to the original VPERM2F128 pattern.
I think we can drop this call to canonicalizeShuffleMaskWithHorizOp once
#143000 is addressed as vectorcombine should fold away all the patterns
this addresses.
Fixes #1677931 parent d02471a commit 990289c
File tree
2 files changed
+43
-9
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
2 files changed
+43
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18462 | 18462 | | |
18463 | 18463 | | |
18464 | 18464 | | |
| 18465 | + | |
| 18466 | + | |
18465 | 18467 | | |
18466 | | - | |
18467 | | - | |
18468 | | - | |
18469 | | - | |
18470 | | - | |
18471 | | - | |
18472 | | - | |
18473 | | - | |
18474 | | - | |
| 18468 | + | |
| 18469 | + | |
| 18470 | + | |
| 18471 | + | |
| 18472 | + | |
| 18473 | + | |
| 18474 | + | |
| 18475 | + | |
| 18476 | + | |
| 18477 | + | |
| 18478 | + | |
18475 | 18479 | | |
18476 | 18480 | | |
18477 | 18481 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
0 commit comments