Commit fec92e4
committed
[AArch64] Don't use LowerToPredicatedOp to shufflevector -> SVE lowerings
The use of `LowerToPredicatedOp` here seems like a mistake as
`LowerToPredicatedOp` turns the SDValue passed to it into the desired
predicated node by copying over operands (and adding a predicate). This
results in two odd things here, the BITCASTs created and passed to
`LowerToPredicatedOp` are not used, only the operands of those bitcasts
are taken. Secondly, when a shuffle vector node is passed directly to
`LowerToPredicatedOp` to create a `REVD_MERGE_PASSTHRU` node
an invalid REV node is created as REV only takes one vector operand,
but both operands from the shuffle vector are copied to the new REV node.
This is not an issue in practice as the extra operand is ignored.
These issues were found by the verification added in llvm#140472.
Part of llvm#140472.
Note: Test changes only result in the vxi64 lowering matching the vxf64
lowering.1 parent 35a9631 commit fec92e4
File tree
3 files changed
+18
-18
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
3 files changed
+18
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29773 | 29773 | | |
29774 | 29774 | | |
29775 | 29775 | | |
| 29776 | + | |
| 29777 | + | |
| 29778 | + | |
| 29779 | + | |
| 29780 | + | |
| 29781 | + | |
| 29782 | + | |
| 29783 | + | |
| 29784 | + | |
29776 | 29785 | | |
29777 | 29786 | | |
29778 | 29787 | | |
29779 | | - | |
29780 | | - | |
29781 | 29788 | | |
29782 | 29789 | | |
29783 | 29790 | | |
29784 | 29791 | | |
29785 | 29792 | | |
29786 | 29793 | | |
29787 | 29794 | | |
29788 | | - | |
29789 | | - | |
29790 | | - | |
29791 | | - | |
29792 | | - | |
| 29795 | + | |
| 29796 | + | |
| 29797 | + | |
29793 | 29798 | | |
29794 | 29799 | | |
29795 | 29800 | | |
29796 | 29801 | | |
29797 | 29802 | | |
29798 | | - | |
29799 | | - | |
29800 | | - | |
29801 | | - | |
29802 | | - | |
29803 | | - | |
29804 | | - | |
29805 | | - | |
| 29803 | + | |
| 29804 | + | |
29806 | 29805 | | |
29807 | 29806 | | |
29808 | 29807 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| 216 | + | |
216 | 217 | | |
217 | | - | |
| 218 | + | |
218 | 219 | | |
219 | 220 | | |
220 | 221 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
677 | 677 | | |
678 | 678 | | |
679 | 679 | | |
680 | | - | |
| 680 | + | |
681 | 681 | | |
682 | 682 | | |
683 | 683 | | |
| |||
686 | 686 | | |
687 | 687 | | |
688 | 688 | | |
689 | | - | |
| 689 | + | |
690 | 690 | | |
691 | 691 | | |
692 | 692 | | |
| |||
0 commit comments