Commit c6c60e1
authored
[AArch64] Combine signext_inreg of setcc(... != splat(0)) (#157665)
Add the following fold AArch64 DAGCombine:
Fold setcc_merge_zero(
pred, insert_subvector(undef, signext_inreg(vNi1), 0),
!= splat(0))
-> setcc_merge_zero(pred, insert_subvector(undef, shl(vNi1), 0),
!= splat(0))
as the comparison (!= 0) depends only on bit 0 of the input, the left
shift is sufficient.1 parent 7936b6f commit c6c60e1
File tree
7 files changed
+167
-216
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
7 files changed
+167
-216
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26104 | 26104 | | |
26105 | 26105 | | |
26106 | 26106 | | |
| 26107 | + | |
| 26108 | + | |
| 26109 | + | |
| 26110 | + | |
| 26111 | + | |
| 26112 | + | |
| 26113 | + | |
| 26114 | + | |
| 26115 | + | |
| 26116 | + | |
| 26117 | + | |
26107 | 26118 | | |
26108 | 26119 | | |
26109 | 26120 | | |
| |||
26144 | 26155 | | |
26145 | 26156 | | |
26146 | 26157 | | |
| 26158 | + | |
| 26159 | + | |
| 26160 | + | |
| 26161 | + | |
| 26162 | + | |
| 26163 | + | |
| 26164 | + | |
| 26165 | + | |
| 26166 | + | |
| 26167 | + | |
| 26168 | + | |
| 26169 | + | |
| 26170 | + | |
| 26171 | + | |
| 26172 | + | |
| 26173 | + | |
| 26174 | + | |
| 26175 | + | |
| 26176 | + | |
| 26177 | + | |
| 26178 | + | |
26147 | 26179 | | |
26148 | 26180 | | |
26149 | 26181 | | |
| |||
0 commit comments