1# RUN: llc -march=amdgcn -mcpu=gfx908 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GCN %s
2
3# GCN-LABEL: name: valu_write_vgpr_mfma_read
4# GCN:      V_MOV_B32
5# GCN:      V_MOV_B32
6# GCN-NEXT: S_NOP 1
7# GCN-NEXT: V_MFMA
8name:            valu_write_vgpr_mfma_read
9body:             |
10  bb.0:
11    $vgpr0 = V_MOV_B32_e32 1, implicit $exec
12    $vgpr1 = V_MOV_B32_e32 1, implicit $exec
13    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
14...
15---
16
17# GCN-LABEL: name: valu_write_vgpr_accvgpr_write_read
18# GCN:      V_MOV_B32
19# GCN-NEXT: S_NOP 1
20# GCN-NEXT: V_ACCVGPR_WRITE_B32
21name:            valu_write_vgpr_accvgpr_write_read
22body:             |
23  bb.0:
24    $vgpr0 = V_MOV_B32_e32 1, implicit $exec
25    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
26...
27---
28
29# GCN-LABEL: name: mfma_write_agpr_mfma_read_same_agpr
30# GCN:      V_MFMA
31# GCN-NEXT: V_MFMA
32name:            mfma_write_agpr_mfma_read_same_agpr
33body:             |
34  bb.0:
35    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
36    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
37...
38---
39
40# GCN-LABEL: name: mfma_write_agpr_mfma_read_overlap
41# GCN:      V_MFMA
42# GCN-NEXT: S_NOP 1
43# GCN-NEXT: V_MFMA
44name:            mfma_write_agpr_mfma_read_overlap
45body:             |
46  bb.0:
47    $agpr1_agpr2_agpr3_agpr4 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
48    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
49...
50---
51
52# GCN-LABEL: name: mfma_write_agpr_mfma_read_partial
53# GCN:      V_MFMA
54# GCN-NEXT: S_NOP 1
55# GCN-NEXT: V_MFMA
56name:            mfma_write_agpr_mfma_read_partial
57body:             |
58  bb.0:
59    $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec
60    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
61...
62---
63
64# GCN-LABEL: name: mfma_write_agpr_mfma_srca_read_overlap
65# GCN:      V_MFMA
66# GCN-NEXT: S_NOP 3
67# GCN-NEXT: V_MFMA
68name:            mfma_write_agpr_mfma_srca_read_overlap
69body:             |
70  bb.0:
71    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
72    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $agpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
73...
74---
75
76# GCN-LABEL: name: mfma_write_agpr_mfma_srcb_read_overlap
77# GCN:      V_MFMA
78# GCN-NEXT: S_NOP 3
79# GCN-NEXT: V_MFMA
80name:            mfma_write_agpr_mfma_srcb_read_overlap
81body:             |
82  bb.0:
83    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
84    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $agpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
85...
86---
87
88# GCN-LABEL: name: mfma_4x4_write_agpr_accvgpr_read
89# GCN:      V_MFMA_F32_4X4X1F32
90# GCN-NEXT: S_NOP 3
91# GCN-NEXT: V_ACCVGPR_READ_B32
92name:            mfma_4x4_write_agpr_accvgpr_read
93body:             |
94  bb.0:
95    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
96    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
97...
98---
99
100# GCN-LABEL: name: mfma_16x16_write_agpr_accvgpr_read
101# GCN:      V_MFMA_F32_16X16X1F32
102# GCN-NEXT: S_NOP 7
103# GCN-NEXT: S_NOP 1
104# GCN-NEXT: V_ACCVGPR_READ_B32
105name:            mfma_16x16_write_agpr_accvgpr_read
106body:             |
107  bb.0:
108    $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec
109    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
110...
111---
112
113# GCN-LABEL: name: mfma_32x32_write_agpr_accvgpr_read
114# GCN:      V_MFMA_F32_32X32X2F32
115# GCN-NEXT: S_NOP 7
116# GCN-NEXT: S_NOP 7
117# GCN-NEXT: S_NOP 1
118# GCN-NEXT: V_ACCVGPR_READ_B32
119name:            mfma_32x32_write_agpr_accvgpr_read
120body:             |
121  bb.0:
122    $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_32X32X2F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec
123    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
124...
125---
126
127# GCN-LABEL: name: mfma_4x4_write_agpr_accvgpr_write
128# GCN:      V_MFMA_F32_4X4X1F32
129# GCN-NEXT: S_NOP 0
130# GCN-NEXT: V_ACCVGPR_WRITE_B32
131name:            mfma_4x4_write_agpr_accvgpr_write
132body:             |
133  bb.0:
134    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
135    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
136...
137---
138
139# GCN-LABEL: name: mfma_16x16_write_agpr_accvgpr_write
140# GCN:      V_MFMA_F32_16X16X1F32
141# GCN-NEXT: S_NOP 6
142# GCN-NEXT: V_ACCVGPR_WRITE_B32
143name:            mfma_16x16_write_agpr_accvgpr_write
144body:             |
145  bb.0:
146    $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec
147    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
148...
149---
150
151# GCN-LABEL: name: mfma_32x32_write_agpr_accvgpr_write
152# GCN:      V_MFMA_F32_32X32X2F32
153# GCN-NEXT: S_NOP 7
154# GCN-NEXT: S_NOP 6
155# GCN-NEXT: V_ACCVGPR_WRITE_B32
156name:            mfma_32x32_write_agpr_accvgpr_write
157body:             |
158  bb.0:
159    $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_32X32X2F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec
160    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
161...
162---
163
164# GCN-LABEL: name: mfma_4x4_read_srcc_accvgpr_write
165# GCN:      V_MFMA_F32_4X4X1F32
166# GCN-NEXT: V_ACCVGPR_WRITE_B32
167name:            mfma_4x4_read_srcc_accvgpr_write
168body:             |
169  bb.0:
170    $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
171    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
172...
173---
174
175# GCN-LABEL: name: mfma_16x16_read_srcc_accvgpr_write
176# GCN:      V_MFMA_F32_16X16X1F32
177# GCN-NEXT: S_NOP 4
178# GCN-NEXT: V_ACCVGPR_WRITE_B32
179name:            mfma_16x16_read_srcc_accvgpr_write
180body:             |
181  bb.0:
182    $agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_16X16X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec
183    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
184...
185---
186
187# GCN-LABEL: name: mfma_32x32_read_srcc_accvgpr_write
188# GCN:      V_MFMA_F32_32X32X2F32
189# GCN-NEXT: S_NOP 7
190# GCN-NEXT: S_NOP 4
191# GCN-NEXT: V_ACCVGPR_WRITE_B32
192name:            mfma_32x32_read_srcc_accvgpr_write
193body:             |
194  bb.0:
195    $agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_32X32X2F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec
196    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
197...
198---
199
200# GCN-LABEL: name: accvgpr_read_write_vgpr_valu_read
201# GCN:      V_ACCVGPR_READ_B32
202# GCN-NEXT: V_ADD_F32
203name:            accvgpr_read_write_vgpr_valu_read
204body:             |
205  bb.0:
206    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr4, implicit $exec
207    $vgpr1 = V_ADD_F32_e32 0, killed $vgpr0, implicit $mode, implicit $exec
208...
209---
210
211# GCN-LABEL: name: accvgpr_read_write_vgpr_mfma_read
212# GCN:      V_ACCVGPR_READ_B32
213# GCN-NEXT: S_NOP 1
214# GCN-NEXT: V_MFMA
215name:            accvgpr_read_write_vgpr_mfma_read
216body:             |
217  bb.0:
218    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr4, implicit $exec
219    $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr0, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
220...
221---
222
223# GCN-LABEL: name: accvgpr_read_write_vgpr_accvgpr_write_read
224# GCN:      V_ACCVGPR_READ_B32
225# GCN-NEXT: S_NOP 1
226# GCN-NEXT: V_ACCVGPR_WRITE_B32
227name:            accvgpr_read_write_vgpr_accvgpr_write_read
228body:             |
229  bb.0:
230    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr1, implicit $exec
231    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
232...
233---
234
235# GCN-LABEL: name: accvgpr_write_agpr_mfma_read_srcc
236# GCN:      V_ACCVGPR_WRITE_B32
237# GCN-NEXT: S_NOP 0
238# GCN-NEXT: V_MFMA
239name:            accvgpr_write_agpr_mfma_read_srcc
240body:             |
241  bb.0:
242    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
243    $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr2, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
244...
245---
246
247# GCN-LABEL: name: accvgpr_write_agpr_mfma_read_srca
248# GCN:      V_ACCVGPR_WRITE_B32
249# GCN-NEXT: S_NOP 2
250# GCN-NEXT: V_MFMA
251name:            accvgpr_write_agpr_mfma_read_srca
252body:             |
253  bb.0:
254    $agpr8 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
255    $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $agpr8, killed $vgpr1, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
256...
257---
258
259# GCN-LABEL: name: accvgpr_write_agpr_mfma_read_srcb
260# GCN:      V_ACCVGPR_WRITE_B32
261# GCN-NEXT: S_NOP 2
262# GCN-NEXT: V_MFMA
263name:            accvgpr_write_agpr_mfma_read_srcb
264body:             |
265  bb.0:
266    $agpr8 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
267    $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $agpr8, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
268...
269---
270
271# GCN-LABEL: name: accvgpr_write_agpr_accvgpr_read
272# GCN:      V_ACCVGPR_WRITE_B32
273# GCN-NEXT: S_NOP 2
274# GCN-NEXT: V_ACCVGPR_READ_B32
275name:            accvgpr_write_agpr_accvgpr_read
276body:             |
277  bb.0:
278    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec
279    $vgpr1 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
280...
281---
282
283# GCN-LABEL: name: vcmpx_write_exec_mfma
284# GCN:      V_CMPX_EQ_I32_e32
285# GCN-NEXT: S_NOP 3
286# GCN-NEXT: V_MFMA
287name:            vcmpx_write_exec_mfma
288body:             |
289  bb.0:
290    implicit $exec, implicit $vcc = V_CMPX_EQ_I32_e32 $vgpr0, $vgpr1, implicit $exec
291    $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $agpr8, killed $vgpr1, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec
292...
293---
294
295# GCN-LABEL: name: vcmpx_write_exec_accvgpr_write
296# GCN:      V_CMPX_EQ_I32_e32
297# GCN-NEXT: S_NOP 3
298# GCN-NEXT: V_ACCVGPR_WRITE_B32
299name:            vcmpx_write_exec_accvgpr_write
300body:             |
301  bb.0:
302    implicit $exec, implicit $vcc = V_CMPX_EQ_I32_e32 $vgpr0, $vgpr1, implicit $exec
303    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
304...
305---
306
307# GCN-LABEL: name: accvgpr_read_write_vgpr_load
308# GCN:      V_ACCVGPR_READ_B32
309# GCN-NEXT: S_NOP 1
310# GCN-NEXT: FLAT_LOAD_DWORD
311name:            accvgpr_read_write_vgpr_load
312body:             |
313  bb.0:
314    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
315    $vgpr3 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
316...
317---
318
319# GCN-LABEL: name: accvgpr_read_write_vgpr_ds_permute
320# GCN:      V_ACCVGPR_READ_B32
321# GCN-NEXT: S_NOP 1
322# GCN-NEXT: DS_PERMUTE_B32
323name:            accvgpr_read_write_vgpr_ds_permute
324body:             |
325  bb.0:
326    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
327    $vgpr1 = DS_PERMUTE_B32 $vgpr0, $vgpr1, 0, implicit $exec
328...
329---
330
331# GCN-LABEL: name: accvgpr_read_write_vgpr_flat_load
332# GCN:      V_ACCVGPR_READ_B32
333# GCN-NEXT: S_NOP 1
334# GCN-NEXT: FLAT_LOAD_DWORD
335name:            accvgpr_read_write_vgpr_flat_load
336body:             |
337  bb.0:
338    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
339    $vgpr4 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
340...
341---
342
343# GCN-LABEL: name: accvgpr_read_write_vgpr_buffer_store
344# GCN:      V_ACCVGPR_READ_B32
345# GCN-NEXT: S_NOP 1
346# GCN-NEXT: BUFFER_STORE_DWORD_OFFSET
347name:            accvgpr_read_write_vgpr_buffer_store
348body:             |
349  bb.0:
350    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
351    BUFFER_STORE_DWORD_OFFSET $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, 0, 0, implicit $exec
352...
353---
354
355# GCN-LABEL: name: accvgpr_read_write_vgpr_store
356# GCN:      V_ACCVGPR_READ_B32
357# GCN-NEXT: S_NOP 1
358# GCN-NEXT: DS_WRITE_B32
359name:            accvgpr_read_write_vgpr_store
360body:             |
361  bb.0:
362    $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
363    DS_WRITE_B32 $vgpr0, $vgpr1, 0, 0, implicit $m0, implicit $exec
364...
365---
366
367# GCN-LABEL: name: valu_write_vgpr_accvgpr_read_load_no_dependency
368# GCN:      V_MOV_B32
369# GCN-NEXT: V_ACCVGPR_READ_B32
370# GCN-NEXT: FLAT_LOAD_DWORD
371name:            valu_write_vgpr_accvgpr_read_load_no_dependency
372body:             |
373  bb.0:
374    $vgpr0 = V_MOV_B32_e32 1, implicit $exec
375    $vgpr1 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
376    $vgpr4 = FLAT_LOAD_DWORD $vgpr2_vgpr3, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
377...
378---
379
380# GCN-LABEL: name: valu_write_vgpr_accvgpr_read_load_1_and_3_depend
381# GCN:      V_MOV_B32
382# GCN-NEXT: V_ACCVGPR_READ_B32
383# GCN-NEXT: S_NOP 0
384# GCN-NEXT: FLAT_LOAD_DWORD
385name:            valu_write_vgpr_accvgpr_read_load_1_and_3_depend
386body:             |
387  bb.0:
388    $vgpr0 = V_MOV_B32_e32 1, implicit $exec
389    $vgpr2 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
390    $vgpr4 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
391...
392---
393
394# GCN-LABEL: name: valu_write_vgpr_accvgpr_write_load_1_and_3_depend
395# GCN:      V_MOV_B32
396# GCN-NEXT: V_ACCVGPR_WRITE_B32
397# GCN-NEXT: S_NOP 0
398# GCN-NEXT: FLAT_LOAD_DWORD
399name:            valu_write_vgpr_accvgpr_write_load_1_and_3_depend
400body:             |
401  bb.0:
402    $vgpr0 = V_MOV_B32_e32 1, implicit $exec
403    $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec
404    $vgpr4 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
405...
406---
407
408# GCN-LABEL: name: valu_write_vgpr_accvgpr_read_load_2_and_3_depend
409# GCN:      V_MOV_B32
410# GCN-NEXT: V_ACCVGPR_READ_B32
411# GCN-NEXT: S_NOP 1
412# GCN-NEXT: FLAT_LOAD_DWORD
413name:            valu_write_vgpr_accvgpr_read_load_2_and_3_depend
414body:             |
415  bb.0:
416    $vgpr0 = V_MOV_B32_e32 1, implicit $exec
417    $vgpr2 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec
418    $vgpr4 = FLAT_LOAD_DWORD $vgpr2_vgpr3, 0, 0, 0, 0, implicit $exec, implicit $flat_scr
419...
420---
421