1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN,GFX11 %s
3 # RUN: llc -mtriple=amdgcn -mcpu=gfx1150 -mattr=+wavefrontsize32 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN,GFX1150 %s
6 name: trans_use_1_hazard
9 ; GFX11-LABEL: name: trans_use_1_hazard
10 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
11 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
12 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
13 ; GFX11-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
14 ; GFX11-NEXT: S_ENDPGM 0
16 ; GFX1150-LABEL: name: trans_use_1_hazard
17 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
18 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
19 ; GFX1150-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
20 ; GFX1150-NEXT: S_ENDPGM 0
21 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
22 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
23 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
28 name: trans_use_1_no_hazard_1
31 ; GCN-LABEL: name: trans_use_1_no_hazard_1
32 ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
33 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095
34 ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
35 ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
36 ; GCN-NEXT: S_ENDPGM 0
37 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
39 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
40 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
45 name: trans_use_2_hazard
48 ; GFX11-LABEL: name: trans_use_2_hazard
49 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
50 ; GFX11-NEXT: $sgpr0 = S_MOV_B32 0
51 ; GFX11-NEXT: $sgpr1 = S_MOV_B32 0
52 ; GFX11-NEXT: $sgpr2 = S_MOV_B32 0
53 ; GFX11-NEXT: $sgpr3 = S_MOV_B32 0
54 ; GFX11-NEXT: $sgpr4 = S_MOV_B32 0
55 ; GFX11-NEXT: $sgpr5 = S_MOV_B32 0
56 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
57 ; GFX11-NEXT: $sgpr6 = S_MOV_B32 0
58 ; GFX11-NEXT: $sgpr7 = S_MOV_B32 0
59 ; GFX11-NEXT: $sgpr8 = S_MOV_B32 0
60 ; GFX11-NEXT: $sgpr9 = S_MOV_B32 0
61 ; GFX11-NEXT: $sgpr10 = S_MOV_B32 0
62 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
63 ; GFX11-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
64 ; GFX11-NEXT: S_ENDPGM 0
66 ; GFX1150-LABEL: name: trans_use_2_hazard
67 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
68 ; GFX1150-NEXT: $sgpr0 = S_MOV_B32 0
69 ; GFX1150-NEXT: $sgpr1 = S_MOV_B32 0
70 ; GFX1150-NEXT: $sgpr2 = S_MOV_B32 0
71 ; GFX1150-NEXT: $sgpr3 = S_MOV_B32 0
72 ; GFX1150-NEXT: $sgpr4 = S_MOV_B32 0
73 ; GFX1150-NEXT: $sgpr5 = S_MOV_B32 0
74 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
75 ; GFX1150-NEXT: $sgpr6 = S_MOV_B32 0
76 ; GFX1150-NEXT: $sgpr7 = S_MOV_B32 0
77 ; GFX1150-NEXT: $sgpr8 = S_MOV_B32 0
78 ; GFX1150-NEXT: $sgpr9 = S_MOV_B32 0
79 ; GFX1150-NEXT: $sgpr10 = S_MOV_B32 0
80 ; GFX1150-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
81 ; GFX1150-NEXT: S_ENDPGM 0
82 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
89 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
95 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
100 name: trans_use_3_hazard
103 ; GFX11-LABEL: name: trans_use_3_hazard
104 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
105 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
106 ; GFX11-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec
107 ; GFX11-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec
108 ; GFX11-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec
109 ; GFX11-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec
110 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
111 ; GFX11-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
112 ; GFX11-NEXT: S_ENDPGM 0
114 ; GFX1150-LABEL: name: trans_use_3_hazard
115 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
116 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
117 ; GFX1150-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec
118 ; GFX1150-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec
119 ; GFX1150-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec
120 ; GFX1150-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec
121 ; GFX1150-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
122 ; GFX1150-NEXT: S_ENDPGM 0
123 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
124 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
125 $vgpr10 = V_MOV_B32_e32 0, implicit $exec
126 $vgpr11 = V_MOV_B32_e32 0, implicit $exec
127 $vgpr12 = V_MOV_B32_e32 0, implicit $exec
128 $vgpr13 = V_MOV_B32_e32 0, implicit $exec
129 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
134 name: trans_use_3_no_hazard_1
137 ; GCN-LABEL: name: trans_use_3_no_hazard_1
138 ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
139 ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
140 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec
141 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec
142 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec
143 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec
144 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec
145 ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
146 ; GCN-NEXT: S_ENDPGM 0
147 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
148 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
149 $vgpr10 = V_MOV_B32_e32 0, implicit $exec
150 $vgpr11 = V_MOV_B32_e32 0, implicit $exec
151 $vgpr12 = V_MOV_B32_e32 0, implicit $exec
152 $vgpr13 = V_MOV_B32_e32 0, implicit $exec
153 $vgpr14 = V_MOV_B32_e32 0, implicit $exec
154 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
159 name: trans_use_3_no_hazard_2
162 ; GCN-LABEL: name: trans_use_3_no_hazard_2
163 ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
164 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec
165 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec
166 ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
167 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec
168 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec
169 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec
170 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec
171 ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
172 ; GCN-NEXT: S_ENDPGM 0
173 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
174 $vgpr10 = V_MOV_B32_e32 0, implicit $exec
175 $vgpr11 = V_MOV_B32_e32 0, implicit $exec
176 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
177 $vgpr12 = V_MOV_B32_e32 0, implicit $exec
178 $vgpr13 = V_MOV_B32_e32 0, implicit $exec
179 $vgpr14 = V_MOV_B32_e32 0, implicit $exec
180 $vgpr15 = V_MOV_B32_e32 0, implicit $exec
181 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
186 name: trans_use_3_no_hazard_3
189 ; GCN-LABEL: name: trans_use_3_no_hazard_3
190 ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
191 ; GCN-NEXT: $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
192 ; GCN-NEXT: $vgpr12 = V_SQRT_F32_e32 $vgpr13, implicit $mode, implicit $exec
193 ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
194 ; GCN-NEXT: S_ENDPGM 0
195 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
196 $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
197 $vgpr12 = V_SQRT_F32_e32 $vgpr13, implicit $mode, implicit $exec
198 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
203 name: trans_use_4_one_depctr_1
206 ; GFX11-LABEL: name: trans_use_4_one_depctr_1
207 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
208 ; GFX11-NEXT: $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
209 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
210 ; GFX11-NEXT: $vgpr5 = V_ADD_F32_e32 $vgpr1, $vgpr4, implicit $mode, implicit $exec
211 ; GFX11-NEXT: $vgpr7 = V_ADD_F32_e32 $vgpr3, $vgpr6, implicit $mode, implicit $exec
212 ; GFX11-NEXT: S_ENDPGM 0
214 ; GFX1150-LABEL: name: trans_use_4_one_depctr_1
215 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
216 ; GFX1150-NEXT: $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
217 ; GFX1150-NEXT: $vgpr5 = V_ADD_F32_e32 $vgpr1, $vgpr4, implicit $mode, implicit $exec
218 ; GFX1150-NEXT: $vgpr7 = V_ADD_F32_e32 $vgpr3, $vgpr6, implicit $mode, implicit $exec
219 ; GFX1150-NEXT: S_ENDPGM 0
220 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
221 $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
222 $vgpr5 = V_ADD_F32_e32 $vgpr1, $vgpr4, implicit $mode, implicit $exec
223 $vgpr7 = V_ADD_F32_e32 $vgpr3, $vgpr6, implicit $mode, implicit $exec
228 name: trans_use_4_one_depctr_2
231 ; GFX11-LABEL: name: trans_use_4_one_depctr_2
232 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
233 ; GFX11-NEXT: $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
234 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
235 ; GFX11-NEXT: $vgpr5 = V_ADD_F32_e32 $vgpr3, $vgpr4, implicit $mode, implicit $exec
236 ; GFX11-NEXT: $vgpr7 = V_ADD_F32_e32 $vgpr1, $vgpr6, implicit $mode, implicit $exec
237 ; GFX11-NEXT: S_ENDPGM 0
239 ; GFX1150-LABEL: name: trans_use_4_one_depctr_2
240 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
241 ; GFX1150-NEXT: $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
242 ; GFX1150-NEXT: $vgpr5 = V_ADD_F32_e32 $vgpr3, $vgpr4, implicit $mode, implicit $exec
243 ; GFX1150-NEXT: $vgpr7 = V_ADD_F32_e32 $vgpr1, $vgpr6, implicit $mode, implicit $exec
244 ; GFX1150-NEXT: S_ENDPGM 0
245 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
246 $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
247 $vgpr5 = V_ADD_F32_e32 $vgpr3, $vgpr4, implicit $mode, implicit $exec
248 $vgpr7 = V_ADD_F32_e32 $vgpr1, $vgpr6, implicit $mode, implicit $exec
256 ; GFX11-LABEL: name: trans_use_4
257 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
258 ; GFX11-NEXT: $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
259 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
260 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
261 ; GFX11-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
262 ; GFX11-NEXT: S_ENDPGM 0
264 ; GFX1150-LABEL: name: trans_use_4
265 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
266 ; GFX1150-NEXT: $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
267 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
268 ; GFX1150-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
269 ; GFX1150-NEXT: S_ENDPGM 0
270 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
271 $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
272 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
273 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
278 name: trans_use_branching_1a
280 ; GFX11-LABEL: name: trans_use_branching_1a
282 ; GFX11-NEXT: successors: %bb.2(0x80000000)
284 ; GFX11-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
285 ; GFX11-NEXT: S_BRANCH %bb.2
288 ; GFX11-NEXT: successors: %bb.2(0x80000000)
290 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
291 ; GFX11-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
292 ; GFX11-NEXT: $vgpr31 = V_MOV_B32_e32 0, implicit $exec
293 ; GFX11-NEXT: $vgpr32 = V_MOV_B32_e32 0, implicit $exec
294 ; GFX11-NEXT: $vgpr33 = V_MOV_B32_e32 0, implicit $exec
295 ; GFX11-NEXT: S_BRANCH %bb.2
298 ; GFX11-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
299 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
300 ; GFX11-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
301 ; GFX11-NEXT: S_ENDPGM 0
303 ; GFX1150-LABEL: name: trans_use_branching_1a
305 ; GFX1150-NEXT: successors: %bb.2(0x80000000)
306 ; GFX1150-NEXT: {{ $}}
307 ; GFX1150-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
308 ; GFX1150-NEXT: S_BRANCH %bb.2
309 ; GFX1150-NEXT: {{ $}}
310 ; GFX1150-NEXT: bb.1:
311 ; GFX1150-NEXT: successors: %bb.2(0x80000000)
312 ; GFX1150-NEXT: {{ $}}
313 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
314 ; GFX1150-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
315 ; GFX1150-NEXT: $vgpr31 = V_MOV_B32_e32 0, implicit $exec
316 ; GFX1150-NEXT: $vgpr32 = V_MOV_B32_e32 0, implicit $exec
317 ; GFX1150-NEXT: $vgpr33 = V_MOV_B32_e32 0, implicit $exec
318 ; GFX1150-NEXT: S_BRANCH %bb.2
319 ; GFX1150-NEXT: {{ $}}
320 ; GFX1150-NEXT: bb.2:
321 ; GFX1150-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
322 ; GFX1150-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
323 ; GFX1150-NEXT: S_ENDPGM 0
325 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
328 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
329 $vgpr30 = V_MOV_B32_e32 0, implicit $exec
330 $vgpr31 = V_MOV_B32_e32 0, implicit $exec
331 $vgpr32 = V_MOV_B32_e32 0, implicit $exec
332 $vgpr33 = V_MOV_B32_e32 0, implicit $exec
335 $vgpr3 = V_MOV_B32_e32 0, implicit $exec
336 $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
341 name: trans_use_branching_1b
343 ; GFX11-LABEL: name: trans_use_branching_1b
345 ; GFX11-NEXT: successors: %bb.2(0x80000000)
347 ; GFX11-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
348 ; GFX11-NEXT: S_BRANCH %bb.2
351 ; GFX11-NEXT: successors: %bb.2(0x80000000)
353 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
354 ; GFX11-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
355 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
356 ; GFX11-NEXT: S_BRANCH %bb.2
359 ; GFX11-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
360 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
361 ; GFX11-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
362 ; GFX11-NEXT: S_ENDPGM 0
364 ; GFX1150-LABEL: name: trans_use_branching_1b
366 ; GFX1150-NEXT: successors: %bb.2(0x80000000)
367 ; GFX1150-NEXT: {{ $}}
368 ; GFX1150-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
369 ; GFX1150-NEXT: S_BRANCH %bb.2
370 ; GFX1150-NEXT: {{ $}}
371 ; GFX1150-NEXT: bb.1:
372 ; GFX1150-NEXT: successors: %bb.2(0x80000000)
373 ; GFX1150-NEXT: {{ $}}
374 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
375 ; GFX1150-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
376 ; GFX1150-NEXT: S_WAITCNT_DEPCTR 4095
377 ; GFX1150-NEXT: S_BRANCH %bb.2
378 ; GFX1150-NEXT: {{ $}}
379 ; GFX1150-NEXT: bb.2:
380 ; GFX1150-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
381 ; GFX1150-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
382 ; GFX1150-NEXT: S_ENDPGM 0
384 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
387 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
388 $vgpr30 = V_MOV_B32_e32 0, implicit $exec
389 S_WAITCNT_DEPCTR 4095
392 $vgpr3 = V_MOV_B32_e32 0, implicit $exec
393 $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
398 name: trans_use_branching_1c_no_hazard_1
400 ; GCN-LABEL: name: trans_use_branching_1c_no_hazard_1
402 ; GCN-NEXT: successors: %bb.2(0x80000000)
404 ; GCN-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
405 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095
406 ; GCN-NEXT: S_BRANCH %bb.2
409 ; GCN-NEXT: successors: %bb.2(0x80000000)
411 ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
412 ; GCN-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
413 ; GCN-NEXT: S_BRANCH %bb.2
416 ; GCN-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
417 ; GCN-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
418 ; GCN-NEXT: S_ENDPGM 0
420 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
421 S_WAITCNT_DEPCTR 4095
424 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
425 $vgpr30 = V_MOV_B32_e32 0, implicit $exec
428 $vgpr3 = V_MOV_B32_e32 0, implicit $exec
429 $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec