Commit 66915b5
authored
AMDGPU/GlobalISel: add RegBankLegalize rules for extends and trunc (#132383)
Uniform S1:
Truncs to uniform S1 and AnyExts from S1 are left as is as they are meant
to be combined away. Uniform S1 ZExt and SExt are lowered using select.
Divergent S1:
Trunc of VGPR to VCC is lowered as compare.
Extends of VCC are lowered using select.
For remaining types:
S32 to S64 ZExt and SExt are lowered using merge values, AnyExt and Trunc
are again left as is to be combined away.
Notably uniform S16 for SExt and Zext is not lowered to S32 and left as is
for instruction select to deal with them. This is because there are patterns
that check for S16 type.1 parent 7902e9b commit 66915b5
File tree
10 files changed
+360
-183
lines changed- llvm
- lib/Target/AMDGPU
- test/CodeGen/AMDGPU/GlobalISel
10 files changed
+360
-183
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
216 | 223 | | |
217 | 224 | | |
218 | 225 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
133 | 133 | | |
134 | 134 | | |
135 | 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 | + | |
136 | 173 | | |
137 | 174 | | |
138 | 175 | | |
| |||
256 | 293 | | |
257 | 294 | | |
258 | 295 | | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
| 296 | + | |
| 297 | + | |
279 | 298 | | |
280 | 299 | | |
281 | 300 | | |
| |||
292 | 311 | | |
293 | 312 | | |
294 | 313 | | |
295 | | - | |
296 | | - | |
| 314 | + | |
| 315 | + | |
297 | 316 | | |
298 | | - | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
299 | 320 | | |
300 | 321 | | |
301 | 322 | | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
302 | 331 | | |
303 | 332 | | |
304 | 333 | | |
| |||
321 | 350 | | |
322 | 351 | | |
323 | 352 | | |
324 | | - | |
| 353 | + | |
325 | 354 | | |
326 | 355 | | |
327 | 356 | | |
| |||
409 | 438 | | |
410 | 439 | | |
411 | 440 | | |
| 441 | + | |
412 | 442 | | |
413 | 443 | | |
| 444 | + | |
| 445 | + | |
414 | 446 | | |
415 | 447 | | |
416 | 448 | | |
| |||
521 | 553 | | |
522 | 554 | | |
523 | 555 | | |
| 556 | + | |
524 | 557 | | |
525 | 558 | | |
526 | 559 | | |
| |||
537 | 570 | | |
538 | 571 | | |
539 | 572 | | |
| 573 | + | |
| 574 | + | |
540 | 575 | | |
541 | 576 | | |
542 | 577 | | |
| |||
742 | 777 | | |
743 | 778 | | |
744 | 779 | | |
745 | | - | |
746 | | - | |
| 780 | + | |
| 781 | + | |
747 | 782 | | |
748 | 783 | | |
749 | 784 | | |
| |||
756 | 791 | | |
757 | 792 | | |
758 | 793 | | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
759 | 817 | | |
760 | 818 | | |
761 | 819 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
113 | 114 | | |
114 | 115 | | |
115 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
489 | 489 | | |
490 | 490 | | |
491 | 491 | | |
| 492 | + | |
492 | 493 | | |
493 | | - | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
494 | 502 | | |
495 | 503 | | |
496 | 504 | | |
497 | 505 | | |
| 506 | + | |
498 | 507 | | |
| 508 | + | |
499 | 509 | | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
500 | 513 | | |
501 | | - | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
502 | 517 | | |
503 | | - | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
504 | 535 | | |
| 536 | + | |
| 537 | + | |
505 | 538 | | |
| 539 | + | |
506 | 540 | | |
507 | | - | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
508 | 547 | | |
509 | 548 | | |
510 | 549 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
162 | 165 | | |
163 | 166 | | |
164 | 167 | | |
| |||
0 commit comments