|
1 | 1 | # RUN: llc -mtriple=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass si-insert-waitcnts -o - %s | FileCheck -check-prefix=GFX9 %s
|
2 | 2 | # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass si-insert-waitcnts -o - %s | FileCheck -check-prefix=GFX10 %s
|
| 3 | +# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs -run-pass si-insert-waitcnts -o - %s | FileCheck -check-prefix=GFX12 %s |
3 | 4 |
|
4 | 5 | ---
|
5 | 6 |
|
|
20 | 21 | # GFX10-LABEL: bb.1:
|
21 | 22 | # GFX10: S_WAITCNT 16
|
22 | 23 | # GFX10-LABEL: bb.2:
|
| 24 | + |
| 25 | +# GFX12-LABEL: waitcnt_vm_loop |
| 26 | +# GFX12-LABEL: bb.0: |
| 27 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 28 | +# GFX12-LABEL: bb.1: |
| 29 | +# GFX12: S_WAIT_LOADCNT 0 |
| 30 | +# GFX12-LABEL: bb.2: |
23 | 31 | name: waitcnt_vm_loop
|
24 | 32 | body: |
|
25 | 33 | bb.0:
|
@@ -58,6 +66,13 @@ body: |
|
58 | 66 | # GFX10-LABEL: bb.1:
|
59 | 67 | # GFX10: S_WAITCNT 16
|
60 | 68 | # GFX10-LABEL: bb.2:
|
| 69 | + |
| 70 | +# GFX12-LABEL: waitcnt_vm_loop_noterm |
| 71 | +# GFX12-LABEL: bb.0: |
| 72 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 73 | +# GFX12-LABEL: bb.1: |
| 74 | +# GFX12: S_WAIT_LOADCNT 0 |
| 75 | +# GFX12-LABEL: bb.2: |
61 | 76 | name: waitcnt_vm_loop_noterm
|
62 | 77 | body: |
|
63 | 78 | bb.0:
|
@@ -129,6 +144,13 @@ body: |
|
129 | 144 | # GFX10-LABEL: bb.1:
|
130 | 145 | # GFX10: S_WAITCNT 16
|
131 | 146 | # GFX10-LABEL: bb.2:
|
| 147 | + |
| 148 | +# GFX12-LABEL: waitcnt_vm_loop_load |
| 149 | +# GFX12-LABEL: bb.0: |
| 150 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 151 | +# GFX12-LABEL: bb.1: |
| 152 | +# GFX12: S_WAIT_LOADCNT 0 |
| 153 | +# GFX12-LABEL: bb.2: |
132 | 154 | name: waitcnt_vm_loop_load
|
133 | 155 | body: |
|
134 | 156 | bb.0:
|
@@ -170,6 +192,13 @@ body: |
|
170 | 192 | # GFX10-LABEL: bb.1:
|
171 | 193 | # GFX10: S_WAITCNT 16
|
172 | 194 | # GFX10-LABEL: bb.2:
|
| 195 | + |
| 196 | +# GFX12-LABEL: waitcnt_vm_loop_no_store |
| 197 | +# GFX12-LABEL: bb.0: |
| 198 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 199 | +# GFX12-LABEL: bb.1: |
| 200 | +# GFX12: S_WAIT_LOADCNT 0 |
| 201 | +# GFX12-LABEL: bb.2: |
173 | 202 | name: waitcnt_vm_loop_no_store
|
174 | 203 | body: |
|
175 | 204 | bb.0:
|
@@ -212,6 +241,13 @@ body: |
|
212 | 241 | # GFX10-LABEL: bb.1:
|
213 | 242 | # GFX10-NOT: S_WAITCNT 16
|
214 | 243 | # GFX10-LABEL: bb.2:
|
| 244 | + |
| 245 | +# GFX12-LABEL: waitcnt_vm_loop_no_use |
| 246 | +# GFX12-LABEL: bb.0: |
| 247 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 248 | +# GFX12-LABEL: bb.1: |
| 249 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 250 | +# GFX12-LABEL: bb.2: |
215 | 251 | name: waitcnt_vm_loop_no_use
|
216 | 252 | body: |
|
217 | 253 | bb.0:
|
@@ -255,6 +291,14 @@ body: |
|
255 | 291 | # GFX10-LABEL: bb.1:
|
256 | 292 | # GFX10-NOT: S_WAITCNT 16
|
257 | 293 | # GFX10-LABEL: bb.2:
|
| 294 | + |
| 295 | +# GFX12-LABEL: waitcnt_vm_loop2 |
| 296 | +# GFX12-LABEL: bb.0: |
| 297 | +# GFX12: BUFFER_LOAD_FORMAT_X_IDXEN |
| 298 | +# GFX12: S_WAIT_LOADCNT 0 |
| 299 | +# GFX12-LABEL: bb.1: |
| 300 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 301 | +# GFX12-LABEL: bb.2: |
258 | 302 | name: waitcnt_vm_loop2
|
259 | 303 | body: |
|
260 | 304 | bb.0:
|
@@ -294,6 +338,14 @@ body: |
|
294 | 338 | # GFX10-LABEL: bb.1:
|
295 | 339 | # GFX10-NOT: S_WAITCNT 16
|
296 | 340 | # GFX10-LABEL: bb.2:
|
| 341 | + |
| 342 | +# GFX12-LABEL: waitcnt_vm_loop2_store |
| 343 | +# GFX12-LABEL: bb.0: |
| 344 | +# GFX12: BUFFER_LOAD_FORMAT_X_IDXEN |
| 345 | +# GFX12: S_WAIT_LOADCNT 0 |
| 346 | +# GFX12-LABEL: bb.1: |
| 347 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 348 | +# GFX12-LABEL: bb.2: |
297 | 349 | name: waitcnt_vm_loop2_store
|
298 | 350 | body: |
|
299 | 351 | bb.0:
|
@@ -334,6 +386,13 @@ body: |
|
334 | 386 | # GFX10-LABEL: bb.1:
|
335 | 387 | # GFX10: S_WAITCNT 16
|
336 | 388 | # GFX10-LABEL: bb.2:
|
| 389 | + |
| 390 | +# GFX12-LABEL: waitcnt_vm_loop2_use_in_loop |
| 391 | +# GFX12-LABEL: bb.0: |
| 392 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 393 | +# GFX12-LABEL: bb.1: |
| 394 | +# GFX12: S_WAIT_LOADCNT 0 |
| 395 | +# GFX12-LABEL: bb.2: |
337 | 396 | name: waitcnt_vm_loop2_use_in_loop
|
338 | 397 | body: |
|
339 | 398 | bb.0:
|
@@ -379,6 +438,15 @@ body: |
|
379 | 438 | # GFX10-LABEL: bb.2:
|
380 | 439 | # GFX10-NOT: S_WAITCNT 16
|
381 | 440 | # GFX10-LABEL: bb.3:
|
| 441 | + |
| 442 | +# GFX12-LABEL: waitcnt_vm_loop2_nowait |
| 443 | +# GFX12-LABEL: bb.0: |
| 444 | +# GFX12: S_WAIT_LOADCNT 0 |
| 445 | +# GFX12-LABEL: bb.1: |
| 446 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 447 | +# GFX12-LABEL: bb.2: |
| 448 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 449 | +# GFX12-LABEL: bb.3: |
382 | 450 | name: waitcnt_vm_loop2_nowait
|
383 | 451 | body: |
|
384 | 452 | bb.0:
|
@@ -427,6 +495,14 @@ body: |
|
427 | 495 | # GFX10-LABEL: bb.1:
|
428 | 496 | # GFX10-NOT: S_WAITCNT 16
|
429 | 497 | # GFX10-LABEL: bb.2:
|
| 498 | + |
| 499 | +# GFX12-LABEL: waitcnt_vm_loop2_reginterval |
| 500 | +# GFX12-LABEL: bb.0: |
| 501 | +# GFX12: GLOBAL_LOAD_DWORDX4 |
| 502 | +# GFX12: S_WAIT_LOADCNT 0 |
| 503 | +# GFX12-LABEL: bb.1: |
| 504 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 505 | +# GFX12-LABEL: bb.2: |
430 | 506 | name: waitcnt_vm_loop2_reginterval
|
431 | 507 | body: |
|
432 | 508 | bb.0:
|
@@ -467,6 +543,13 @@ body: |
|
467 | 543 | # GFX10-LABEL: bb.1:
|
468 | 544 | # GFX10: S_WAITCNT 16
|
469 | 545 | # GFX10-LABEL: bb.2:
|
| 546 | + |
| 547 | +# GFX12-LABEL: waitcnt_vm_loop2_reginterval2 |
| 548 | +# GFX12-LABEL: bb.0: |
| 549 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 550 | +# GFX12-LABEL: bb.1: |
| 551 | +# GFX12: S_WAIT_LOADCNT 0 |
| 552 | +# GFX12-LABEL: bb.2: |
470 | 553 | name: waitcnt_vm_loop2_reginterval2
|
471 | 554 | body: |
|
472 | 555 | bb.0:
|
@@ -513,6 +596,15 @@ body: |
|
513 | 596 | # GFX10-NOT: S_WAITCNT 16240
|
514 | 597 | # GFX10-LABEL: bb.2:
|
515 | 598 |
|
| 599 | +# GFX12-LABEL: waitcnt_vm_zero |
| 600 | +# GFX12-LABEL: bb.0: |
| 601 | +# GFX12: BUFFER_LOAD_FORMAT_X_IDXEN |
| 602 | +# GFX12: BUFFER_LOAD_FORMAT_X_IDXEN |
| 603 | +# GFX12: S_WAIT_LOADCNT 0 |
| 604 | +# GFX12-LABEL: bb.1: |
| 605 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 606 | +# GFX12-LABEL: bb.2: |
| 607 | + |
516 | 608 | name: waitcnt_vm_zero
|
517 | 609 | body: |
|
518 | 610 | bb.0:
|
@@ -548,6 +640,14 @@ body: |
|
548 | 640 | # GFX10-LABEL: bb.1:
|
549 | 641 | # GFX10-NOT: S_WAITCNT
|
550 | 642 |
|
| 643 | +# GFX12-LABEL: waitcnt_vm_necessary |
| 644 | +# GFX12-LABEL: bb.0: |
| 645 | +# GFX12: S_WAIT_LOADCNT 0 |
| 646 | +# GFX12: $vgpr4 |
| 647 | +# GFX12-NOT: S_WAITCNT |
| 648 | +# GFX12-LABEL: bb.1: |
| 649 | +# GFX12-NOT: S_WAITCNT |
| 650 | + |
551 | 651 | # GFX9-LABEL: waitcnt_vm_necessary
|
552 | 652 | # GFX9-LABEL: bb.0:
|
553 | 653 | # GFX9: S_WAITCNT 3952
|
@@ -590,6 +690,13 @@ body: |
|
590 | 690 | # GFX10: S_WAITCNT 16
|
591 | 691 | # GFX10-LABEL: bb.2:
|
592 | 692 |
|
| 693 | +# GFX12-LABEL: waitcnt_vm_loop_global_mem |
| 694 | +# GFX12-LABEL: bb.0: |
| 695 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 696 | +# GFX12-LABEL: bb.1: |
| 697 | +# GFX12: S_WAIT_LOADCNT 0 |
| 698 | +# GFX12-LABEL: bb.2: |
| 699 | + |
593 | 700 | name: waitcnt_vm_loop_global_mem
|
594 | 701 | body: |
|
595 | 702 | bb.0:
|
@@ -631,6 +738,13 @@ body: |
|
631 | 738 | # GFX10: S_WAITCNT 16
|
632 | 739 | # GFX10-LABEL: bb.2:
|
633 | 740 |
|
| 741 | +# GFX12-LABEL: waitcnt_vm_loop_scratch_mem |
| 742 | +# GFX12-LABEL: bb.0: |
| 743 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 744 | +# GFX12-LABEL: bb.1: |
| 745 | +# GFX12: S_WAIT_LOADCNT 0 |
| 746 | +# GFX12-LABEL: bb.2: |
| 747 | + |
634 | 748 | name: waitcnt_vm_loop_scratch_mem
|
635 | 749 | body: |
|
636 | 750 | bb.0:
|
@@ -671,6 +785,14 @@ body: |
|
671 | 785 | # GFX10-LABEL: bb.1:
|
672 | 786 | # GFX10: S_WAITCNT 11
|
673 | 787 | # GFX10-LABEL: bb.2:
|
| 788 | + |
| 789 | +# GFX12-LABEL: waitcnt_vm_loop_flat_mem |
| 790 | +# GFX12-LABEL: bb.0: |
| 791 | +# GFX12: FLAT_LOAD_DWORD |
| 792 | +# GFX12-NOT: S_WAIT_LOADCNT_DSCNT 0 |
| 793 | +# GFX12-LABEL: bb.1: |
| 794 | +# GFX12: S_WAIT_LOADCNT_DSCNT 0 |
| 795 | +# GFX12-LABEL: bb.2: |
674 | 796 | name: waitcnt_vm_loop_flat_mem
|
675 | 797 | body: |
|
676 | 798 | bb.0:
|
@@ -713,6 +835,13 @@ body: |
|
713 | 835 | # GFX10-LABEL: bb.1:
|
714 | 836 | # GFX10: S_WAITCNT 16
|
715 | 837 | # GFX10-LABEL: bb.2:
|
| 838 | + |
| 839 | +# GFX12-LABEL: waitcnt_vm_loop_flat_load |
| 840 | +# GFX12-LABEL: bb.0: |
| 841 | +# GFX12-NOT: S_WAIT_LOADCNT 0 |
| 842 | +# GFX12-LABEL: bb.1: |
| 843 | +# GFX12: S_WAIT_LOADCNT 0 |
| 844 | +# GFX12-LABEL: bb.2: |
716 | 845 | name: waitcnt_vm_loop_flat_load
|
717 | 846 | body: |
|
718 | 847 | bb.0:
|
|
0 commit comments