75 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass=si-insert-waitcnts -o - %s | FileCheck -check-prefix=GCN %s3 4# Make sure no waitcnt is inserted for meta instruction uses.5 6---7 8name: waitcnt_kill9 10body: |11 bb.0:12 liveins: $vgpr0_vgpr113 ; GCN-LABEL: name: waitcnt_kill14 ; GCN: liveins: $vgpr0_vgpr115 ; GCN-NEXT: {{ $}}16 ; GCN-NEXT: S_WAITCNT 017 ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec18 ; GCN-NEXT: KILL $vgpr019 $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec20 KILL $vgpr021...22 23---24 25name: waitcnt_implicit_def26 27body: |28 bb.0:29 liveins: $vgpr0_vgpr130 ; GCN-LABEL: name: waitcnt_implicit_def31 ; GCN: liveins: $vgpr0_vgpr132 ; GCN-NEXT: {{ $}}33 ; GCN-NEXT: S_WAITCNT 034 ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec35 ; GCN-NEXT: $vgpr0 = IMPLICIT_DEF36 $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec37 $vgpr0 = IMPLICIT_DEF38...39 40---41 42name: waitcnt_eh_label43 44body: |45 bb.0:46 liveins: $vgpr0_vgpr1, $vgpr247 ; GCN-LABEL: name: waitcnt_eh_label48 ; GCN: liveins: $vgpr0_vgpr1, $vgpr249 ; GCN-NEXT: {{ $}}50 ; GCN-NEXT: S_WAITCNT 051 ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec52 ; GCN-NEXT: EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr053 $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec54 EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr055 56...57 58---59 60name: waitcnt_cfi61 62body: |63 bb.0:64 liveins: $vgpr0_vgpr1, $vgpr265 ; GCN-LABEL: name: waitcnt_cfi66 ; GCN: liveins: $vgpr0_vgpr1, $vgpr267 ; GCN-NEXT: {{ $}}68 ; GCN-NEXT: S_WAITCNT 069 ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec70 ; GCN-NEXT: CFI_INSTRUCTION offset $vgpr0, 1671 $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec72 CFI_INSTRUCTION offset $vgpr0, 1673 74...75