@@ -520,6 +520,7 @@ body: |
520
520
; GCN-NEXT: GLOBAL_STORE_DWORDX2 $vgpr0_vgpr1, $vgpr4_vgpr5, 16, 0, implicit $exec
521
521
; GCN-NEXT: S_WAIT_KMCNT 0
522
522
; GCN-NEXT: $sgpr2 = S_ADD_I32 $sgpr0, 100, implicit-def $scc
523
+ ; GCN-NEXT: S_WAIT_XCNT 0
523
524
; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 20, implicit $exec
524
525
$sgpr2_sgpr3 = S_LOAD_DWORDX2_IMM $sgpr0_sgpr1, 0, 0 :: (load (s64), addrspace 4)
525
526
$vgpr0 = V_MOV_B32_e32 1, implicit $exec
@@ -921,7 +922,6 @@ body: |
921
922
$vgpr2 = V_MOV_B32_e32 1, implicit $exec
922
923
...
923
924
924
- # FIXME: Missing S_WAIT_XCNT before overwriting vgpr0.
925
925
---
926
926
name : wait_kmcnt_with_outstanding_vmem
927
927
tracksRegLiveness : true
@@ -937,14 +937,14 @@ body: |
937
937
; GCN-NEXT: $vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
938
938
; GCN-NEXT: S_WAIT_KMCNT 0
939
939
; GCN-NEXT: $sgpr2 = S_MOV_B32 $sgpr2
940
+ ; GCN-NEXT: S_WAIT_XCNT 0
940
941
; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
941
942
$sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
942
943
$vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
943
944
$sgpr2 = S_MOV_B32 $sgpr2
944
945
$vgpr0 = V_MOV_B32_e32 0, implicit $exec
945
946
...
946
947
947
- # FIXME: Missing S_WAIT_XCNT before overwriting sgpr0.
948
948
---
949
949
name : wait_loadcnt_with_outstanding_smem
950
950
tracksRegLiveness : true
@@ -960,14 +960,14 @@ body: |
960
960
; GCN-NEXT: $sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
961
961
; GCN-NEXT: S_WAIT_LOADCNT 0
962
962
; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 $vgpr2, implicit $exec
963
+ ; GCN-NEXT: S_WAIT_XCNT 0
963
964
; GCN-NEXT: $sgpr0 = S_MOV_B32 0
964
965
$vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
965
966
$sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
966
967
$vgpr2 = V_MOV_B32_e32 $vgpr2, implicit $exec
967
968
$sgpr0 = S_MOV_B32 0
968
969
...
969
970
970
- # TODO: Unnecessary wait before overwriting vgpr0.
971
971
---
972
972
name : overwrite_vgpr_after_smem
973
973
tracksRegLiveness : true
@@ -981,14 +981,12 @@ body: |
981
981
; GCN-NEXT: {{ $}}
982
982
; GCN-NEXT: $vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
983
983
; GCN-NEXT: $sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
984
- ; GCN-NEXT: S_WAIT_XCNT 0
985
984
; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec
986
985
$vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
987
986
$sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
988
987
$vgpr0 = V_MOV_B32_e32 0, implicit $exec
989
988
...
990
989
991
- # TODO: Unnecessary wait before overwriting sgpr0.
992
990
---
993
991
name : overwrite_sgpr_after_vmem
994
992
tracksRegLiveness : true
@@ -1002,7 +1000,6 @@ body: |
1002
1000
; GCN-NEXT: {{ $}}
1003
1001
; GCN-NEXT: $sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
1004
1002
; GCN-NEXT: $vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
1005
- ; GCN-NEXT: S_WAIT_XCNT 0
1006
1003
; GCN-NEXT: $sgpr0 = S_MOV_B32 0
1007
1004
$sgpr2 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 0, 0
1008
1005
$vgpr2 = GLOBAL_LOAD_DWORD $vgpr0_vgpr1, 0, 0, implicit $exec
0 commit comments