Commit 7a1516a
committed
[AArch64] match TRN starting from undef elements
When the first element of a trn mask is undef, the isTRNMask function
assumes that the value for "WhichResult" should be 1. That has a 50%
chance of being wrong, so we fail to match some valid trn1/trn2.
This patch introduces a more precise test to determine the correct
value of "WhichResult", based on corresponding code in the isZIPMask
and isUZPMask functions.1 parent e797ec6 commit 7a1516a
File tree
4 files changed
+264
-251
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
4 files changed
+264
-251
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6685 | 6685 | | |
6686 | 6686 | | |
6687 | 6687 | | |
6688 | | - | |
| 6688 | + | |
6689 | 6689 | | |
6690 | 6690 | | |
6691 | | - | |
| 6691 | + | |
| 6692 | + | |
| 6693 | + | |
| 6694 | + | |
| 6695 | + | |
| 6696 | + | |
| 6697 | + | |
| 6698 | + | |
| 6699 | + | |
| 6700 | + | |
| 6701 | + | |
| 6702 | + | |
| 6703 | + | |
| 6704 | + | |
| 6705 | + | |
6692 | 6706 | | |
6693 | 6707 | | |
6694 | 6708 | | |
6695 | 6709 | | |
6696 | 6710 | | |
| 6711 | + | |
6697 | 6712 | | |
6698 | 6713 | | |
6699 | 6714 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| 88 | + | |
88 | 89 | | |
89 | 90 | | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
97 | 97 | | |
| 98 | + | |
| 99 | + | |
98 | 100 | | |
99 | 101 | | |
100 | | - | |
101 | | - | |
| 102 | + | |
102 | 103 | | |
103 | 104 | | |
104 | 105 | | |
105 | | - | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| |||
0 commit comments