1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass=si-insert-waitcnts -o - %s | FileCheck -check-prefix=GCN %s
4 # Make sure no waitcnt is inserted for meta instruction uses.
13 ; GCN-LABEL: name: waitcnt_kill
14 ; GCN: liveins: $vgpr0_vgpr1
16 ; GCN-NEXT: S_WAITCNT 0
17 ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
18 ; GCN-NEXT: KILL $vgpr0
19 $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
25 name: waitcnt_implicit_def
30 ; GCN-LABEL: name: waitcnt_implicit_def
31 ; GCN: liveins: $vgpr0_vgpr1
33 ; GCN-NEXT: S_WAITCNT 0
34 ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
35 ; GCN-NEXT: $vgpr0 = IMPLICIT_DEF
36 $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
42 name: waitcnt_eh_label
46 liveins: $vgpr0_vgpr1, $vgpr2
47 ; GCN-LABEL: name: waitcnt_eh_label
48 ; GCN: liveins: $vgpr0_vgpr1, $vgpr2
50 ; GCN-NEXT: S_WAITCNT 0
51 ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
52 ; GCN-NEXT: EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0
53 $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
54 EH_LABEL <mcsymbol Ltmp0>, implicit $vgpr0
64 liveins: $vgpr0_vgpr1, $vgpr2
65 ; GCN-LABEL: name: waitcnt_cfi
66 ; GCN: liveins: $vgpr0_vgpr1, $vgpr2
68 ; GCN-NEXT: S_WAITCNT 0
69 ; GCN-NEXT: $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
70 ; GCN-NEXT: CFI_INSTRUCTION offset $vgpr0, 16
71 $vgpr0 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
72 CFI_INSTRUCTION offset $vgpr0, 16