1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN,GFX11 %s
3 # RUN: llc -march=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
15 ; GFX1150-LABEL: name: trans_use_1_hazard
16 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
17 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
18 ; GFX1150-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
19 ; GFX1150-NEXT: S_ENDPGM 0
20 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
21 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
22 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
27 name: trans_use_1_no_hazard_1
30 ; GCN-LABEL: name: trans_use_1_no_hazard_1
31 ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
32 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095
33 ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
34 ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
35 ; GCN-NEXT: S_ENDPGM 0
36 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
38 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
39 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
44 name: trans_use_2_hazard
47 ; GFX11-LABEL: name: trans_use_2_hazard
48 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
49 ; GFX11-NEXT: $sgpr0 = S_MOV_B32 0
50 ; GFX11-NEXT: $sgpr1 = S_MOV_B32 0
51 ; GFX11-NEXT: $sgpr2 = S_MOV_B32 0
52 ; GFX11-NEXT: $sgpr3 = S_MOV_B32 0
53 ; GFX11-NEXT: $sgpr4 = S_MOV_B32 0
54 ; GFX11-NEXT: $sgpr5 = S_MOV_B32 0
55 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
56 ; GFX11-NEXT: $sgpr6 = S_MOV_B32 0
57 ; GFX11-NEXT: $sgpr7 = S_MOV_B32 0
58 ; GFX11-NEXT: $sgpr8 = S_MOV_B32 0
59 ; GFX11-NEXT: $sgpr9 = S_MOV_B32 0
60 ; GFX11-NEXT: $sgpr10 = S_MOV_B32 0
61 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
62 ; GFX11-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
63 ; GFX11-NEXT: S_ENDPGM 0
64 ; GFX1150-LABEL: name: trans_use_2_hazard
65 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
66 ; GFX1150-NEXT: $sgpr0 = S_MOV_B32 0
67 ; GFX1150-NEXT: $sgpr1 = S_MOV_B32 0
68 ; GFX1150-NEXT: $sgpr2 = S_MOV_B32 0
69 ; GFX1150-NEXT: $sgpr3 = S_MOV_B32 0
70 ; GFX1150-NEXT: $sgpr4 = S_MOV_B32 0
71 ; GFX1150-NEXT: $sgpr5 = S_MOV_B32 0
72 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
73 ; GFX1150-NEXT: $sgpr6 = S_MOV_B32 0
74 ; GFX1150-NEXT: $sgpr7 = S_MOV_B32 0
75 ; GFX1150-NEXT: $sgpr8 = S_MOV_B32 0
76 ; GFX1150-NEXT: $sgpr9 = S_MOV_B32 0
77 ; GFX1150-NEXT: $sgpr10 = S_MOV_B32 0
78 ; GFX1150-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
79 ; GFX1150-NEXT: S_ENDPGM 0
80 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
87 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
93 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
98 name: trans_use_3_hazard
101 ; GFX11-LABEL: name: trans_use_3_hazard
102 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
103 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
104 ; GFX11-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec
105 ; GFX11-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec
106 ; GFX11-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec
107 ; GFX11-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec
108 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
109 ; GFX11-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
110 ; GFX11-NEXT: S_ENDPGM 0
111 ; GFX1150-LABEL: name: trans_use_3_hazard
112 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
113 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
114 ; GFX1150-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec
115 ; GFX1150-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec
116 ; GFX1150-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec
117 ; GFX1150-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec
118 ; GFX1150-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
119 ; GFX1150-NEXT: S_ENDPGM 0
120 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
121 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
122 $vgpr10 = V_MOV_B32_e32 0, implicit $exec
123 $vgpr11 = V_MOV_B32_e32 0, implicit $exec
124 $vgpr12 = V_MOV_B32_e32 0, implicit $exec
125 $vgpr13 = V_MOV_B32_e32 0, implicit $exec
126 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
131 name: trans_use_3_no_hazard_1
134 ; GCN-LABEL: name: trans_use_3_no_hazard_1
135 ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
136 ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
137 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec
138 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec
139 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec
140 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec
141 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec
142 ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
143 ; GCN-NEXT: S_ENDPGM 0
144 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
145 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
146 $vgpr10 = V_MOV_B32_e32 0, implicit $exec
147 $vgpr11 = V_MOV_B32_e32 0, implicit $exec
148 $vgpr12 = V_MOV_B32_e32 0, implicit $exec
149 $vgpr13 = V_MOV_B32_e32 0, implicit $exec
150 $vgpr14 = V_MOV_B32_e32 0, implicit $exec
151 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
156 name: trans_use_3_no_hazard_2
159 ; GCN-LABEL: name: trans_use_3_no_hazard_2
160 ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
161 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec
162 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec
163 ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
164 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec
165 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec
166 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec
167 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec
168 ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
169 ; GCN-NEXT: S_ENDPGM 0
170 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
171 $vgpr10 = V_MOV_B32_e32 0, implicit $exec
172 $vgpr11 = V_MOV_B32_e32 0, implicit $exec
173 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
174 $vgpr12 = V_MOV_B32_e32 0, implicit $exec
175 $vgpr13 = V_MOV_B32_e32 0, implicit $exec
176 $vgpr14 = V_MOV_B32_e32 0, implicit $exec
177 $vgpr15 = V_MOV_B32_e32 0, implicit $exec
178 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
183 name: trans_use_3_no_hazard_3
186 ; GCN-LABEL: name: trans_use_3_no_hazard_3
187 ; GCN: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
188 ; GCN-NEXT: $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
189 ; GCN-NEXT: $vgpr12 = V_SQRT_F32_e32 $vgpr13, implicit $mode, implicit $exec
190 ; GCN-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
191 ; GCN-NEXT: S_ENDPGM 0
192 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
193 $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
194 $vgpr12 = V_SQRT_F32_e32 $vgpr13, implicit $mode, implicit $exec
195 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
200 name: trans_use_4_one_depctr_1
203 ; GFX11-LABEL: name: trans_use_4_one_depctr_1
204 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
205 ; GFX11-NEXT: $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
206 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
207 ; GFX11-NEXT: $vgpr5 = V_ADD_F32_e32 $vgpr1, $vgpr4, implicit $mode, implicit $exec
208 ; GFX11-NEXT: $vgpr7 = V_ADD_F32_e32 $vgpr3, $vgpr6, implicit $mode, implicit $exec
209 ; GFX11-NEXT: S_ENDPGM 0
210 ; GFX1150-LABEL: name: trans_use_4_one_depctr_1
211 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
212 ; GFX1150-NEXT: $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
213 ; GFX1150-NEXT: $vgpr5 = V_ADD_F32_e32 $vgpr1, $vgpr4, implicit $mode, implicit $exec
214 ; GFX1150-NEXT: $vgpr7 = V_ADD_F32_e32 $vgpr3, $vgpr6, implicit $mode, implicit $exec
215 ; GFX1150-NEXT: S_ENDPGM 0
216 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
217 $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
218 $vgpr5 = V_ADD_F32_e32 $vgpr1, $vgpr4, implicit $mode, implicit $exec
219 $vgpr7 = V_ADD_F32_e32 $vgpr3, $vgpr6, implicit $mode, implicit $exec
224 name: trans_use_4_one_depctr_2
227 ; GFX11-LABEL: name: trans_use_4_one_depctr_2
228 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
229 ; GFX11-NEXT: $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
230 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
231 ; GFX11-NEXT: $vgpr5 = V_ADD_F32_e32 $vgpr3, $vgpr4, implicit $mode, implicit $exec
232 ; GFX11-NEXT: $vgpr7 = V_ADD_F32_e32 $vgpr1, $vgpr6, implicit $mode, implicit $exec
233 ; GFX11-NEXT: S_ENDPGM 0
234 ; GFX1150-LABEL: name: trans_use_4_one_depctr_2
235 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
236 ; GFX1150-NEXT: $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
237 ; GFX1150-NEXT: $vgpr5 = V_ADD_F32_e32 $vgpr3, $vgpr4, implicit $mode, implicit $exec
238 ; GFX1150-NEXT: $vgpr7 = V_ADD_F32_e32 $vgpr1, $vgpr6, implicit $mode, implicit $exec
239 ; GFX1150-NEXT: S_ENDPGM 0
240 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
241 $vgpr3 = V_SQRT_F32_e32 $vgpr2, implicit $mode, implicit $exec
242 $vgpr5 = V_ADD_F32_e32 $vgpr3, $vgpr4, implicit $mode, implicit $exec
243 $vgpr7 = V_ADD_F32_e32 $vgpr1, $vgpr6, implicit $mode, implicit $exec
251 ; GFX11-LABEL: name: trans_use_4
252 ; GFX11: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
253 ; GFX11-NEXT: $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
254 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
255 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
256 ; GFX11-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
257 ; GFX11-NEXT: S_ENDPGM 0
258 ; GFX1150-LABEL: name: trans_use_4
259 ; GFX1150: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
260 ; GFX1150-NEXT: $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
261 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
262 ; GFX1150-NEXT: $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
263 ; GFX1150-NEXT: S_ENDPGM 0
264 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
265 $vgpr10 = V_SQRT_F32_e32 $vgpr11, implicit $mode, implicit $exec
266 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
267 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
272 name: trans_use_branching_1a
274 ; GFX11-LABEL: name: trans_use_branching_1a
276 ; GFX11-NEXT: successors: %bb.2(0x80000000)
278 ; GFX11-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
279 ; GFX11-NEXT: S_BRANCH %bb.2
282 ; GFX11-NEXT: successors: %bb.2(0x80000000)
284 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
285 ; GFX11-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
286 ; GFX11-NEXT: $vgpr31 = V_MOV_B32_e32 0, implicit $exec
287 ; GFX11-NEXT: $vgpr32 = V_MOV_B32_e32 0, implicit $exec
288 ; GFX11-NEXT: $vgpr33 = V_MOV_B32_e32 0, implicit $exec
289 ; GFX11-NEXT: S_BRANCH %bb.2
292 ; GFX11-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
293 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
294 ; GFX11-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
295 ; GFX11-NEXT: S_ENDPGM 0
296 ; GFX1150-LABEL: name: trans_use_branching_1a
298 ; GFX1150-NEXT: successors: %bb.2(0x80000000)
299 ; GFX1150-NEXT: {{ $}}
300 ; GFX1150-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
301 ; GFX1150-NEXT: S_BRANCH %bb.2
302 ; GFX1150-NEXT: {{ $}}
303 ; GFX1150-NEXT: bb.1:
304 ; GFX1150-NEXT: successors: %bb.2(0x80000000)
305 ; GFX1150-NEXT: {{ $}}
306 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
307 ; GFX1150-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
308 ; GFX1150-NEXT: $vgpr31 = V_MOV_B32_e32 0, implicit $exec
309 ; GFX1150-NEXT: $vgpr32 = V_MOV_B32_e32 0, implicit $exec
310 ; GFX1150-NEXT: $vgpr33 = V_MOV_B32_e32 0, implicit $exec
311 ; GFX1150-NEXT: S_BRANCH %bb.2
312 ; GFX1150-NEXT: {{ $}}
313 ; GFX1150-NEXT: bb.2:
314 ; GFX1150-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
315 ; GFX1150-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
316 ; GFX1150-NEXT: S_ENDPGM 0
318 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
321 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
322 $vgpr30 = V_MOV_B32_e32 0, implicit $exec
323 $vgpr31 = V_MOV_B32_e32 0, implicit $exec
324 $vgpr32 = V_MOV_B32_e32 0, implicit $exec
325 $vgpr33 = V_MOV_B32_e32 0, implicit $exec
328 $vgpr3 = V_MOV_B32_e32 0, implicit $exec
329 $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
334 name: trans_use_branching_1b
336 ; GFX11-LABEL: name: trans_use_branching_1b
338 ; GFX11-NEXT: successors: %bb.2(0x80000000)
340 ; GFX11-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
341 ; GFX11-NEXT: S_BRANCH %bb.2
344 ; GFX11-NEXT: successors: %bb.2(0x80000000)
346 ; GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
347 ; GFX11-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
348 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
349 ; GFX11-NEXT: S_BRANCH %bb.2
352 ; GFX11-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
353 ; GFX11-NEXT: S_WAITCNT_DEPCTR 4095
354 ; GFX11-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
355 ; GFX11-NEXT: S_ENDPGM 0
356 ; GFX1150-LABEL: name: trans_use_branching_1b
358 ; GFX1150-NEXT: successors: %bb.2(0x80000000)
359 ; GFX1150-NEXT: {{ $}}
360 ; GFX1150-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
361 ; GFX1150-NEXT: S_BRANCH %bb.2
362 ; GFX1150-NEXT: {{ $}}
363 ; GFX1150-NEXT: bb.1:
364 ; GFX1150-NEXT: successors: %bb.2(0x80000000)
365 ; GFX1150-NEXT: {{ $}}
366 ; GFX1150-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
367 ; GFX1150-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
368 ; GFX1150-NEXT: S_WAITCNT_DEPCTR 4095
369 ; GFX1150-NEXT: S_BRANCH %bb.2
370 ; GFX1150-NEXT: {{ $}}
371 ; GFX1150-NEXT: bb.2:
372 ; GFX1150-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
373 ; GFX1150-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
374 ; GFX1150-NEXT: S_ENDPGM 0
376 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
379 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
380 $vgpr30 = V_MOV_B32_e32 0, implicit $exec
381 S_WAITCNT_DEPCTR 4095
384 $vgpr3 = V_MOV_B32_e32 0, implicit $exec
385 $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
390 name: trans_use_branching_1c_no_hazard_1
392 ; GCN-LABEL: name: trans_use_branching_1c_no_hazard_1
394 ; GCN-NEXT: successors: %bb.2(0x80000000)
396 ; GCN-NEXT: $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
397 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095
398 ; GCN-NEXT: S_BRANCH %bb.2
401 ; GCN-NEXT: successors: %bb.2(0x80000000)
403 ; GCN-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit $exec
404 ; GCN-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec
405 ; GCN-NEXT: S_BRANCH %bb.2
408 ; GCN-NEXT: $vgpr3 = V_MOV_B32_e32 0, implicit $exec
409 ; GCN-NEXT: $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec
410 ; GCN-NEXT: S_ENDPGM 0
412 $vgpr1 = V_SQRT_F32_e32 $vgpr0, implicit $mode, implicit $exec
413 S_WAITCNT_DEPCTR 4095
416 $vgpr2 = V_MOV_B32_e32 0, implicit $exec
417 $vgpr30 = V_MOV_B32_e32 0, implicit $exec
420 $vgpr3 = V_MOV_B32_e32 0, implicit $exec
421 $vgpr4 = V_ADD_F32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec