@@ -1069,6 +1069,51 @@ body: |
10691069 $sgpr0 = S_MOV_B32 $sgpr0
10701070 ...
10711071
1072+ # FIXME: Missing S_WAIT_XCNT before overwriting vgpr0.
1073+ ---
1074+ name : mixed_pending_events
1075+ tracksRegLiveness : true
1076+ machineFunctionInfo :
1077+ isEntryFunction : true
1078+ body : |
1079+ ; GCN-LABEL: name: mixed_pending_events
1080+ ; GCN: bb.0:
1081+ ; GCN-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
1082+ ; GCN-NEXT: liveins: $vgpr0_vgpr1, $sgpr0_sgpr1, $scc
1083+ ; GCN-NEXT: {{ $}}
1084+ ; GCN-NEXT: $sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
1085+ ; GCN-NEXT: S_CBRANCH_SCC1 %bb.2, implicit $scc
1086+ ; GCN-NEXT: {{ $}}
1087+ ; GCN-NEXT: bb.1:
1088+ ; GCN-NEXT: successors: %bb.2(0x80000000)
1089+ ; GCN-NEXT: liveins: $vgpr0_vgpr1, $sgpr2
1090+ ; GCN-NEXT: {{ $}}
1091+ ; GCN-NEXT: $vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1092+ ; GCN-NEXT: $vgpr3 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1093+ ; GCN-NEXT: {{ $}}
1094+ ; GCN-NEXT: bb.2:
1095+ ; GCN-NEXT: liveins: $sgpr2, $vgpr2
1096+ ; GCN-NEXT: {{ $}}
1097+ ; GCN-NEXT: S_WAIT_LOADCNT 1
1098+ ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 $vgpr2, implicit $exec
1099+ ; GCN-NEXT: S_WAIT_KMCNT 0
1100+ ; GCN-NEXT: $sgpr2 = S_MOV_B32 $sgpr2
1101+ ; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
1102+ bb.0:
1103+ liveins: $vgpr0_vgpr1, $sgpr0_sgpr1, $scc
1104+ $sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
1105+ S_CBRANCH_SCC1 %bb.2, implicit $scc
1106+ bb.1:
1107+ liveins: $vgpr0_vgpr1, $sgpr2
1108+ $vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1109+ $vgpr3 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1110+ bb.2:
1111+ liveins: $sgpr2, $vgpr2
1112+ $vgpr2 = V_MOV_B32_e32 $vgpr2, implicit $exec
1113+ $sgpr2 = S_MOV_B32 $sgpr2
1114+ $vgpr0 = V_MOV_B32_e32 0, implicit $exec
1115+ ...
1116+
10721117---
10731118name : pending_vmem_event_between_block
10741119tracksRegLiveness : true
0 commit comments