| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py | |
| # RUN: llc -mtriple=amdgpu9.00 -verify-machineinstrs -run-pass=si-insert-waitcnts -o - %s | FileCheck -check-prefix=GCN %s | |
| # Make sure no waitcnt is inserted for meta instruction uses. | |
| --- | |
| name: waitcnt_kill | |
| body: | | |
| bb.0: | |
| liveins: $vgpr0_vgpr1 | |
| ; GCN-LABEL: name: waitcnt_kill | |
| ; GCN: liveins: $vgpr0_vgpr1 | |
| ; GCN-NEXT: {{ $}} | |
| ; GCN-NEXT: S_WAITCNT .Vmcnt_0_Expcnt_0_Lgkmcnt_0 | |
| ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec | |
| ; GCN-NEXT: KILL $vgpr0 | |
| $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec | |
| KILL $vgpr0 | |
| ... | |
| --- | |
| name: waitcnt_implicit_def | |
| body: | | |
| bb.0: | |
| liveins: $vgpr0_vgpr1 | |
| ; GCN-LABEL: name: waitcnt_implicit_def | |
| ; GCN: liveins: $vgpr0_vgpr1 | |
| ; GCN-NEXT: {{ $}} | |
| ; GCN-NEXT: S_WAITCNT .Vmcnt_0_Expcnt_0_Lgkmcnt_0 | |
| ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec | |
| ; GCN-NEXT: $vgpr0 = IMPLICIT_DEF | |
| $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec | |
| $vgpr0 = IMPLICIT_DEF | |
| ... | |
| --- | |
| name: waitcnt_eh_label | |
| body: | | |
| bb.0: | |
| liveins: $vgpr0_vgpr1, $vgpr2 | |
| ; GCN-LABEL: name: waitcnt_eh_label | |
| ; GCN: liveins: $vgpr0_vgpr1, $vgpr2 | |
| ; GCN-NEXT: {{ $}} | |
| ; GCN-NEXT: S_WAITCNT .Vmcnt_0_Expcnt_0_Lgkmcnt_0 | |
| ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec | |
| ; GCN-NEXT: EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0 | |
| $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec | |
| EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0 | |
| ... | |
| --- | |
| name: waitcnt_cfi | |
| body: | | |
| bb.0: | |
| liveins: $vgpr0_vgpr1, $vgpr2 | |
| ; GCN-LABEL: name: waitcnt_cfi | |
| ; GCN: liveins: $vgpr0_vgpr1, $vgpr2 | |
| ; GCN-NEXT: {{ $}} | |
| ; GCN-NEXT: S_WAITCNT .Vmcnt_0_Expcnt_0_Lgkmcnt_0 | |
| ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec | |
| ; GCN-NEXT: CFI_INSTRUCTION offset $vgpr0, 16 | |
| $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec | |
| CFI_INSTRUCTION offset $vgpr0, 16 | |
| ... |