Skip to content

Commit e7d916b

Browse files
authored
[AMDGPU] High VGPR waitcnt generation tests. NFC. (#157533)
1 parent fc1a44f commit e7d916b

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2
2+
# RUN: llc -mtriple=amdgcn -mcpu=gfx1250 -run-pass si-insert-waitcnts %s -o - | FileCheck %s --check-prefix=GCN
3+
4+
---
5+
name: no_wait_between_low_and_high_vgpr
6+
body: |
7+
bb.0:
8+
; GCN-LABEL: name: no_wait_between_low_and_high_vgpr
9+
; GCN: S_WAIT_LOADCNT_DSCNT 0
10+
; GCN-NEXT: S_WAIT_KMCNT 0
11+
; GCN-NEXT: $vgpr0 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
12+
; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr256, 0, 0, implicit $exec, implicit $flat_scr
13+
; GCN-NEXT: S_ENDPGM 0
14+
$vgpr0 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
15+
FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr256, 0, 0, implicit $exec, implicit $flat_scr
16+
S_ENDPGM 0
17+
...
18+
19+
---
20+
name: wait_between_high_and_high_vgpr
21+
body: |
22+
bb.0:
23+
; GCN-LABEL: name: wait_between_high_and_high_vgpr
24+
; GCN: S_WAIT_LOADCNT_DSCNT 0
25+
; GCN-NEXT: S_WAIT_KMCNT 0
26+
; GCN-NEXT: $vgpr511 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
27+
; GCN-NEXT: S_WAIT_LOADCNT_DSCNT 0
28+
; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr511, 0, 0, implicit $exec, implicit $flat_scr
29+
; GCN-NEXT: S_ENDPGM 0
30+
$vgpr511 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
31+
FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr511, 0, 0, implicit $exec, implicit $flat_scr
32+
S_ENDPGM 0
33+
...
34+
35+
---
36+
name: no_wait_between_low_and_high_vgpr_512
37+
body: |
38+
bb.0:
39+
; GCN-LABEL: name: no_wait_between_low_and_high_vgpr_512
40+
; GCN: S_WAIT_LOADCNT_DSCNT 0
41+
; GCN-NEXT: S_WAIT_KMCNT 0
42+
; GCN-NEXT: $vgpr0 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
43+
; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr
44+
; GCN-NEXT: S_ENDPGM 0
45+
$vgpr0 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
46+
FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr
47+
S_ENDPGM 0
48+
...
49+
50+
---
51+
name: wait_between_high_and_high_vgpr_512
52+
body: |
53+
bb.0:
54+
; GCN-LABEL: name: wait_between_high_and_high_vgpr_512
55+
; GCN: S_WAIT_LOADCNT_DSCNT 0
56+
; GCN-NEXT: S_WAIT_KMCNT 0
57+
; GCN-NEXT: $vgpr512 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
58+
; GCN-NEXT: S_WAIT_LOADCNT_DSCNT 0
59+
; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr
60+
; GCN-NEXT: S_ENDPGM 0
61+
$vgpr512 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
62+
FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr
63+
S_ENDPGM 0
64+
...
65+
66+
---
67+
name: no_wait_between_high_vgpr_768_and_high_vgpr_512
68+
body: |
69+
bb.0:
70+
; GCN-LABEL: name: no_wait_between_high_vgpr_768_and_high_vgpr_512
71+
; GCN: S_WAIT_LOADCNT_DSCNT 0
72+
; GCN-NEXT: S_WAIT_KMCNT 0
73+
; GCN-NEXT: $vgpr768 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
74+
; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr
75+
; GCN-NEXT: S_ENDPGM 0
76+
$vgpr768 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
77+
FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr512, 0, 0, implicit $exec, implicit $flat_scr
78+
S_ENDPGM 0
79+
...
80+
81+
---
82+
name: wait_between_high_and_high_vgpr_768
83+
body: |
84+
bb.0:
85+
; GCN-LABEL: name: wait_between_high_and_high_vgpr_768
86+
; GCN: S_WAIT_LOADCNT_DSCNT 0
87+
; GCN-NEXT: S_WAIT_KMCNT 0
88+
; GCN-NEXT: $vgpr768 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
89+
; GCN-NEXT: S_WAIT_LOADCNT_DSCNT 0
90+
; GCN-NEXT: FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr768, 0, 0, implicit $exec, implicit $flat_scr
91+
; GCN-NEXT: S_ENDPGM 0
92+
$vgpr768 = FLAT_LOAD_DWORD undef $vgpr2_vgpr3, 0, 0, implicit $exec, implicit $flat_scr
93+
FLAT_STORE_DWORD undef $vgpr4_vgpr5, $vgpr768, 0, 0, implicit $exec, implicit $flat_scr
94+
S_ENDPGM 0
95+
...

0 commit comments

Comments
 (0)