Commit d651e77
committed
[RISCV] Add DAG combine to convert (iX ctpop (bitcast (vXi1 A))) into vcpop.m.
This only handles the simplest case where vXi1 is a legal vector
type. If the vector type isn't legal we need to go through type
legalization, but pattern gets much harder to recognize after that.
Either because ctpop gets expanded due to Zbb not being enabled, or
the bitcast becoming a bitcast+extractelt, or the ctpop being split
into multiple ctpops and adds, etc.1 parent 4acf935 commit d651e77
File tree
4 files changed
+312
-69
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV/rvv
4 files changed
+312
-69
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1527 | 1527 | | |
1528 | 1528 | | |
1529 | 1529 | | |
1530 | | - | |
| 1530 | + | |
1531 | 1531 | | |
1532 | 1532 | | |
1533 | 1533 | | |
| |||
17055 | 17055 | | |
17056 | 17056 | | |
17057 | 17057 | | |
| 17058 | + | |
| 17059 | + | |
| 17060 | + | |
| 17061 | + | |
| 17062 | + | |
| 17063 | + | |
| 17064 | + | |
| 17065 | + | |
| 17066 | + | |
| 17067 | + | |
| 17068 | + | |
| 17069 | + | |
| 17070 | + | |
| 17071 | + | |
| 17072 | + | |
| 17073 | + | |
| 17074 | + | |
| 17075 | + | |
| 17076 | + | |
| 17077 | + | |
| 17078 | + | |
| 17079 | + | |
| 17080 | + | |
| 17081 | + | |
| 17082 | + | |
| 17083 | + | |
| 17084 | + | |
| 17085 | + | |
| 17086 | + | |
| 17087 | + | |
| 17088 | + | |
| 17089 | + | |
| 17090 | + | |
| 17091 | + | |
| 17092 | + | |
| 17093 | + | |
| 17094 | + | |
| 17095 | + | |
| 17096 | + | |
| 17097 | + | |
| 17098 | + | |
| 17099 | + | |
| 17100 | + | |
| 17101 | + | |
| 17102 | + | |
| 17103 | + | |
17058 | 17104 | | |
17059 | 17105 | | |
17060 | 17106 | | |
| |||
18023 | 18069 | | |
18024 | 18070 | | |
18025 | 18071 | | |
| 18072 | + | |
| 18073 | + | |
| 18074 | + | |
| 18075 | + | |
18026 | 18076 | | |
18027 | 18077 | | |
18028 | 18078 | | |
| |||
| 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 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
453 | 453 | | |
454 | 454 | | |
455 | 455 | | |
456 | | - | |
457 | | - | |
458 | 456 | | |
459 | 457 | | |
460 | | - | |
461 | | - | |
462 | 458 | | |
463 | | - | |
| 459 | + | |
464 | 460 | | |
465 | | - | |
| 461 | + | |
| 462 | + | |
466 | 463 | | |
467 | 464 | | |
468 | 465 | | |
469 | | - | |
| 466 | + | |
470 | 467 | | |
471 | 468 | | |
472 | 469 | | |
| |||
673 | 670 | | |
674 | 671 | | |
675 | 672 | | |
676 | | - | |
677 | | - | |
678 | 673 | | |
679 | 674 | | |
680 | | - | |
681 | | - | |
682 | 675 | | |
683 | | - | |
| 676 | + | |
684 | 677 | | |
685 | | - | |
| 678 | + | |
| 679 | + | |
686 | 680 | | |
687 | 681 | | |
688 | 682 | | |
689 | | - | |
| 683 | + | |
690 | 684 | | |
691 | 685 | | |
692 | 686 | | |
| |||
0 commit comments