Commit 57b991a
authored
[AArch64] Improve lowering of truncating uzp1 (#82457)
There were two existing patterns:
`concat_vectors(trunc(x), trunc(y)) -> uzp1(x, y)`
`concat_vectors(assertzext(trunc(x)), assertzext(trunc(y))) -> uzp1(x,
y)`
Move them into a class and add the following `assertsext` pattern to it:
`concat_vectors(assertsext(trunc(x)), assertsext(trunc(y))) -> uzp1(x,
y)`
Add the following transform for v8i8 and v4i16 result types to help with
pattern matching:
`truncating uzp1(x, y) -> trunc(concat(x, y))`
And a pattern to go with it:
`trunc(concat_vectors(x, y)) -> uzp1 (x, y)`
Add another isel pattern for v8i8 and v4i16 result vector types, similar
to
the existing concat pattern, but with a trunc node in the begining:
`trunc(concat_vectors(assertext_trunc(x), assertext_trunc(y))) ->
xtn(uzp1(x, y))`1 parent f15a790 commit 57b991a
File tree
17 files changed
+209
-284
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
17 files changed
+209
-284
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21423 | 21423 | | |
21424 | 21424 | | |
21425 | 21425 | | |
21426 | | - | |
21427 | | - | |
21428 | | - | |
21429 | | - | |
21430 | | - | |
21431 | | - | |
| 21426 | + | |
| 21427 | + | |
21432 | 21428 | | |
21433 | 21429 | | |
21434 | 21430 | | |
| |||
21447 | 21443 | | |
21448 | 21444 | | |
21449 | 21445 | | |
21450 | | - | |
21451 | | - | |
21452 | | - | |
21453 | | - | |
21454 | | - | |
21455 | | - | |
21456 | | - | |
21457 | | - | |
21458 | | - | |
| 21446 | + | |
| 21447 | + | |
21459 | 21448 | | |
21460 | | - | |
21461 | | - | |
| 21449 | + | |
| 21450 | + | |
| 21451 | + | |
| 21452 | + | |
| 21453 | + | |
| 21454 | + | |
| 21455 | + | |
| 21456 | + | |
| 21457 | + | |
| 21458 | + | |
| 21459 | + | |
| 21460 | + | |
21462 | 21461 | | |
21463 | | - | |
| 21462 | + | |
| 21463 | + | |
| 21464 | + | |
21464 | 21465 | | |
| 21466 | + | |
| 21467 | + | |
21465 | 21468 | | |
21466 | 21469 | | |
21467 | 21470 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6153 | 6153 | | |
6154 | 6154 | | |
6155 | 6155 | | |
6156 | | - | |
6157 | | - | |
6158 | | - | |
6159 | | - | |
6160 | | - | |
6161 | | - | |
6162 | | - | |
6163 | | - | |
6164 | | - | |
6165 | | - | |
6166 | | - | |
6167 | | - | |
6168 | | - | |
6169 | | - | |
6170 | | - | |
6171 | | - | |
6172 | | - | |
6173 | | - | |
6174 | | - | |
6175 | | - | |
| 6156 | + | |
| 6157 | + | |
| 6158 | + | |
| 6159 | + | |
| 6160 | + | |
| 6161 | + | |
| 6162 | + | |
| 6163 | + | |
| 6164 | + | |
| 6165 | + | |
| 6166 | + | |
| 6167 | + | |
| 6168 | + | |
| 6169 | + | |
| 6170 | + | |
| 6171 | + | |
| 6172 | + | |
| 6173 | + | |
| 6174 | + | |
| 6175 | + | |
| 6176 | + | |
| 6177 | + | |
| 6178 | + | |
| 6179 | + | |
| 6180 | + | |
| 6181 | + | |
| 6182 | + | |
| 6183 | + | |
| 6184 | + | |
| 6185 | + | |
| 6186 | + | |
| 6187 | + | |
| 6188 | + | |
6176 | 6189 | | |
6177 | 6190 | | |
6178 | 6191 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
| 11 | + | |
| 12 | + | |
14 | 13 | | |
15 | 14 | | |
16 | 15 | | |
| |||
26 | 25 | | |
27 | 26 | | |
28 | 27 | | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
36 | 32 | | |
37 | 33 | | |
38 | 34 | | |
| |||
96 | 92 | | |
97 | 93 | | |
98 | 94 | | |
99 | | - | |
100 | | - | |
101 | | - | |
| 95 | + | |
| 96 | + | |
102 | 97 | | |
103 | 98 | | |
104 | 99 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
650 | 650 | | |
651 | 651 | | |
652 | 652 | | |
653 | | - | |
| 653 | + | |
654 | 654 | | |
655 | 655 | | |
656 | 656 | | |
| |||
662 | 662 | | |
663 | 663 | | |
664 | 664 | | |
665 | | - | |
| 665 | + | |
666 | 666 | | |
667 | 667 | | |
| 668 | + | |
668 | 669 | | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | | - | |
675 | | - | |
676 | | - | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
677 | 678 | | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
683 | 684 | | |
684 | 685 | | |
685 | 686 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
77 | | - | |
78 | | - | |
| 76 | + | |
| 77 | + | |
79 | 78 | | |
80 | 79 | | |
81 | 80 | | |
| |||
0 commit comments