1# RUN: llc -march=amdgcn -verify-machineinstrs -run-pass=si-optimize-exec-masking-pre-ra -o - %s | FileCheck -check-prefix=GCN %s
2
3# GCN: name: negated_cond_vop2
4# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
5# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, %0, implicit-def dead $scc
6# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
7---
8name:            negated_cond_vop2
9body:             |
10  bb.0:
11    %0:sreg_64_xexec = IMPLICIT_DEF
12    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
13    V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
14    $vcc = S_AND_B64 $exec, killed $vcc, implicit-def dead $scc
15    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
16    S_BRANCH %bb.1
17
18  bb.1:
19    S_BRANCH %bb.2
20
21  bb.2:
22    S_ENDPGM 0
23...
24
25# GCN: name: negated_cond_vop3
26# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
27# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, %0, implicit-def dead $scc
28# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
29---
30name:            negated_cond_vop3
31body:             |
32  bb.0:
33    %0:sreg_64_xexec = IMPLICIT_DEF
34    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
35    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1, 1, implicit $exec
36    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
37    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
38    S_BRANCH %bb.1
39
40  bb.1:
41    S_BRANCH %bb.2
42
43  bb.2:
44    S_ENDPGM 0
45...
46
47# GCN: name: negated_cond_vop2_redef_vcc1
48# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
49# GCN-NEXT: %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
50# GCN-NEXT: V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
51# GCN-NEXT: $vcc_lo = COPY $sgpr0
52# GCN-NEXT: $vcc = S_AND_B64 $exec, $vcc, implicit-def dead $scc
53# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
54---
55name:            negated_cond_vop2_redef_vcc1
56body:             |
57  bb.0:
58    %0:sreg_64_xexec = IMPLICIT_DEF
59    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
60    V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
61    $vcc_lo = COPY $sgpr0
62    $vcc = S_AND_B64 $exec, killed $vcc, implicit-def dead $scc
63    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
64    S_BRANCH %bb.1
65
66  bb.1:
67    S_BRANCH %bb.2
68
69  bb.2:
70    S_ENDPGM 0
71...
72
73# GCN: name: negated_cond_vop2_redef_vcc2
74# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
75# GCN-NEXT: %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
76# GCN-NEXT: V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
77# GCN-NEXT: $vcc_hi = COPY $sgpr0
78# GCN-NEXT: $vcc = S_AND_B64 $exec, $vcc, implicit-def dead $scc
79# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
80---
81name:            negated_cond_vop2_redef_vcc2
82body:             |
83  bb.0:
84    %0:sreg_64_xexec = IMPLICIT_DEF
85    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
86    V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
87    $vcc_hi = COPY $sgpr0
88    $vcc = S_AND_B64 $exec, killed $vcc, implicit-def dead $scc
89    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
90    S_BRANCH %bb.1
91
92  bb.1:
93    S_BRANCH %bb.2
94
95  bb.2:
96    S_ENDPGM 0
97...
98
99# GCN: name: negated_cond_vop3_redef_cmp
100# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
101# GCN-NEXT: %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
102# GCN-NEXT: %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1, 1, implicit $exec
103# GCN-NEXT: %2.sub1:sreg_64_xexec = COPY $sgpr0
104# GCN-NEXT: $vcc = S_AND_B64 %2, $exec, implicit-def dead $scc
105# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
106---
107name:            negated_cond_vop3_redef_cmp
108body:             |
109  bb.0:
110    %0:sreg_64_xexec = IMPLICIT_DEF
111    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
112    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1, 1, implicit $exec
113    %2.sub1 = COPY $sgpr0
114    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
115    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
116    S_BRANCH %bb.1
117
118  bb.1:
119    S_BRANCH %bb.2
120
121  bb.2:
122    S_ENDPGM 0
123...
124
125# GCN: name: negated_cond_undef_vcc
126# GCN:      $vcc = S_AND_B64 $exec, undef $vcc, implicit-def dead $scc
127# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
128---
129name:            negated_cond_undef_vcc
130body:             |
131  bb.0:
132    $vcc = S_AND_B64 $exec, undef $vcc, implicit-def dead $scc
133    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
134    S_BRANCH %bb.1
135
136  bb.1:
137    S_BRANCH %bb.2
138
139  bb.2:
140    S_ENDPGM 0
141...
142
143# GCN: name: negated_cond_vop3_imp_vcc
144# GCN:      $vcc = IMPLICIT_DEF
145# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, $vcc, implicit-def dead $scc
146# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
147---
148name:            negated_cond_vop3_imp_vcc
149body:             |
150  bb.0:
151    $vcc = IMPLICIT_DEF
152    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, $vcc, implicit $exec
153    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1, 1, implicit $exec
154    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
155    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
156    S_BRANCH %bb.1
157
158  bb.1:
159    S_BRANCH %bb.2
160
161  bb.2:
162    S_ENDPGM 0
163...
164
165# GCN: name: negated_cond_vop2_imp_vcc
166# GCN:      $vcc = IMPLICIT_DEF
167# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, $vcc, implicit-def dead $scc
168# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
169---
170name:            negated_cond_vop2_imp_vcc
171body:             |
172  bb.0:
173    $vcc = IMPLICIT_DEF
174    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, $vcc, implicit $exec
175    V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
176    $vcc = S_AND_B64 killed $vcc, $exec, implicit-def dead $scc
177    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
178    S_BRANCH %bb.1
179
180  bb.1:
181    S_BRANCH %bb.2
182
183  bb.2:
184    S_ENDPGM 0
185...
186
187# GCN: name: negated_cond_vop3_redef_sel
188# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
189# GCN-NEXT: %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
190# GCN-NEXT: %1:vgpr_32 = COPY $vgpr0
191# GCN-NEXT: %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1, 1, implicit $exec
192# GCN-NEXT: $vcc = S_AND_B64 %2, $exec, implicit-def dead $scc
193# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
194---
195name:            negated_cond_vop3_redef_sel
196body:             |
197  bb.0:
198    %0:sreg_64_xexec = IMPLICIT_DEF
199    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
200    %1:vgpr_32 = COPY $vgpr0
201    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1, 1, implicit $exec
202    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
203    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
204    S_BRANCH %bb.1
205
206  bb.1:
207    S_BRANCH %bb.2
208
209  bb.2:
210    S_ENDPGM 0
211...
212
213# GCN: name: negated_cond_vop2_used_sel
214# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
215# GCN-NEXT: %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
216# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, %0, implicit-def dead $scc
217# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
218---
219name:            negated_cond_vop2_used_sel
220body:             |
221  bb.0:
222    %0:sreg_64_xexec = IMPLICIT_DEF
223    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
224    V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
225    $vcc = S_AND_B64 $exec, killed $vcc, implicit-def dead $scc
226    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
227    S_BRANCH %bb.1
228
229  bb.1:
230    S_BRANCH %bb.2
231
232  bb.2:
233    $vgpr0 = COPY %1
234    S_ENDPGM 0, implicit $vgpr0
235...
236
237# GCN: name: negated_cond_vop2_used_vcc
238# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
239# GCN-NEXT: %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
240# GCN-NEXT: V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
241# GCN-NEXT: $sgpr0_sgpr1 = COPY $vcc
242# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, %0, implicit-def dead $scc
243# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
244---
245name:            negated_cond_vop2_used_vcc
246body:             |
247  bb.0:
248    %0:sreg_64_xexec = IMPLICIT_DEF
249    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
250    V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
251    $sgpr0_sgpr1 = COPY $vcc
252    $vcc = S_AND_B64 $exec, killed $vcc, implicit-def dead $scc
253    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
254    S_BRANCH %bb.1
255
256  bb.1:
257    S_BRANCH %bb.2
258
259  bb.2:
260    S_ENDPGM 0, implicit $vgpr0
261...
262
263# GCN: name: negated_cond_vop3_sel_wrong_subreg1
264# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
265# GCN-NEXT: %1.sub1:vreg_64 = IMPLICIT_DEF
266# GCN-NEXT: %1.sub0:vreg_64 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
267# GCN-NEXT: %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1.sub1, 1, implicit $exec
268# GCN-NEXT: $vcc = S_AND_B64 %2, $exec, implicit-def dead $scc
269# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
270---
271name:            negated_cond_vop3_sel_wrong_subreg1
272body:             |
273  bb.0:
274    %0:sreg_64_xexec = IMPLICIT_DEF
275    undef %1.sub1 = IMPLICIT_DEF
276    %1.sub0:vreg_64 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
277    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1.sub1, 1, implicit $exec
278    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
279    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
280    S_BRANCH %bb.1
281
282  bb.1:
283    S_BRANCH %bb.2
284
285  bb.2:
286    S_ENDPGM 0
287...
288
289# GCN: name: negated_cond_vop3_sel_wrong_subreg2
290# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
291# GCN-NEXT: %1.sub0:vreg_64 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
292# GCN-NEXT: %1.sub1:vreg_64 = IMPLICIT_DEF
293# GCN-NEXT: %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1.sub1, 1, implicit $exec
294# GCN-NEXT: $vcc = S_AND_B64 %2, $exec, implicit-def dead $scc
295# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
296---
297name:            negated_cond_vop3_sel_wrong_subreg2
298body:             |
299  bb.0:
300    %0:sreg_64_xexec = IMPLICIT_DEF
301    undef %1.sub0:vreg_64 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
302    %1.sub1 = IMPLICIT_DEF
303    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1.sub1, 1, implicit $exec
304    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
305    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
306    S_BRANCH %bb.1
307
308  bb.1:
309    S_BRANCH %bb.2
310
311  bb.2:
312    S_ENDPGM 0
313...
314
315# GCN: name: negated_cond_vop3_sel_right_subreg1
316# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
317# GCN-NEXT: %1.sub1:vreg_64 = IMPLICIT_DEF
318# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, %0, implicit-def dead $scc
319# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
320---
321name:            negated_cond_vop3_sel_right_subreg1
322body:             |
323  bb.0:
324    %0:sreg_64_xexec = IMPLICIT_DEF
325    undef %1.sub1 = IMPLICIT_DEF
326    %1.sub0:vreg_64 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
327    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1.sub0, 1, implicit $exec
328    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
329    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
330    S_BRANCH %bb.1
331
332  bb.1:
333    S_BRANCH %bb.2
334
335  bb.2:
336    S_ENDPGM 0
337...
338
339# GCN: name: negated_cond_vop3_sel_right_subreg2
340# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
341# GCN-NEXT: %1.sub1:vreg_64 = IMPLICIT_DEF
342# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, %0, implicit-def dead $scc
343# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
344---
345name:            negated_cond_vop3_sel_right_subreg2
346body:             |
347  bb.0:
348    %0:sreg_64_xexec = IMPLICIT_DEF
349    undef %1.sub0:vreg_64 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
350    %1.sub1 = IMPLICIT_DEF
351    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1.sub0, 1, implicit $exec
352    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
353    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
354    S_BRANCH %bb.1
355
356  bb.1:
357    S_BRANCH %bb.2
358
359  bb.2:
360    S_ENDPGM 0
361...
362
363# GCN: name: negated_cond_vop3_sel_subreg_overlap
364# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
365# GCN-NEXT: %1.sub2:vreg_128 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
366# GCN-NEXT: %1.sub2_sub3:vreg_128 = IMPLICIT_DEF
367# GCN-NEXT: %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1.sub2, 1, implicit $exec
368# GCN-NEXT: $vcc = S_AND_B64 %2, $exec, implicit-def dead $scc
369# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
370---
371name:            negated_cond_vop3_sel_subreg_overlap
372body:             |
373  bb.0:
374    %0:sreg_64_xexec = IMPLICIT_DEF
375    undef %1.sub2:vreg_128 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
376    %1.sub2_sub3 = IMPLICIT_DEF
377    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1.sub2, 1, implicit $exec
378    $vcc = S_AND_B64 killed %2, $exec, implicit-def dead $scc
379    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
380    S_BRANCH %bb.1
381
382  bb.1:
383    S_BRANCH %bb.2
384
385  bb.2:
386    S_ENDPGM 0
387...
388
389# GCN: name: negated_cond_vop2_dominated_blocks
390# GCN:      %0:sreg_64_xexec = IMPLICIT_DEF
391# GCN:      $vcc = S_ANDN2_B64 $exec, %0, implicit-def dead $scc
392# GCN-NEXT: S_CBRANCH_VCCNZ %bb.3, implicit $vcc
393---
394name:            negated_cond_vop2_dominated_blocks
395body:             |
396  bb.0:
397    %0:sreg_64_xexec = IMPLICIT_DEF
398    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
399
400  bb.1:
401    V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
402    $vcc = S_AND_B64 $exec, killed $vcc, implicit-def dead $scc
403    S_CBRANCH_VCCNZ %bb.3, implicit killed $vcc
404    S_BRANCH %bb.2
405
406  bb.2:
407    S_BRANCH %bb.1
408
409  bb.3:
410    S_ENDPGM 0
411...
412
413# GCN: name: negated_cond_vop2_different_blocks_cmp_and
414# GCN:      %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
415# GCN:      $vcc = S_AND_B64 $exec, %2, implicit-def dead $scc
416# GCN-NEXT: S_CBRANCH_VCCNZ %bb.3, implicit $vcc
417---
418name:            negated_cond_vop2_different_blocks_cmp_and
419body:             |
420  bb.0:
421    %0:sreg_64_xexec = IMPLICIT_DEF
422    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
423    %2:sreg_64_xexec = V_CMP_NE_U32_e64 %1, 1, implicit $exec
424
425  bb.1:
426    $vcc = S_AND_B64 $exec, %2, implicit-def dead $scc
427    S_CBRANCH_VCCNZ %bb.3, implicit killed $vcc
428    S_BRANCH %bb.2
429
430  bb.2:
431    S_BRANCH %bb.1
432
433  bb.3:
434    S_ENDPGM 0
435...
436
437# GCN: name: negated_cond_vop2_not_dominated_blocks
438# GCN:      V_CNDMASK_B32_e64 0, 0, 0, 1,
439# GCN:      $vcc = S_AND_B64 $exec, $vcc, implicit-def dead $scc
440# GCN-NEXT: S_CBRANCH_VCCNZ %bb.4, implicit $vcc
441---
442name:            negated_cond_vop2_not_dominated_blocks
443body:             |
444  bb.0:
445    $vcc = IMPLICIT_DEF
446    %1 = IMPLICIT_DEF
447    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
448    S_BRANCH %bb.1
449
450  bb.1:
451    %0:sreg_64_xexec = IMPLICIT_DEF
452    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0, implicit $exec
453
454  bb.2:
455    V_CMP_NE_U32_e32 1, %1, implicit-def $vcc, implicit $exec
456    $vcc = S_AND_B64 $exec, killed $vcc, implicit-def dead $scc
457    S_CBRANCH_VCCNZ %bb.4, implicit killed $vcc
458    S_BRANCH %bb.3
459
460  bb.3:
461    S_BRANCH %bb.2
462
463  bb.4:
464    S_ENDPGM 0
465...
466
467# GCN: name: negated_cond_subreg
468# GCN:      %0.sub0_sub1:sgpr_128 = IMPLICIT_DEF
469# GCN-NEXT: $vcc = S_ANDN2_B64 $exec, %0.sub0_sub1, implicit-def dead $scc
470# GCN-NEXT: S_CBRANCH_VCCNZ %bb.2, implicit $vcc
471---
472name:            negated_cond_subreg
473body:             |
474  bb.0:
475    undef %0.sub0_sub1:sgpr_128 = IMPLICIT_DEF
476    %1:vgpr_32 = V_CNDMASK_B32_e64 0, 0, 0, 1, %0.sub0_sub1, implicit $exec
477    undef %2.sub0_sub1:sgpr_128 = V_CMP_NE_U32_e64 %1, 1, implicit $exec
478    $vcc = S_AND_B64 $exec, %2.sub0_sub1:sgpr_128, implicit-def dead $scc
479    S_CBRANCH_VCCNZ %bb.2, implicit killed $vcc
480    S_BRANCH %bb.1
481
482  bb.1:
483    S_BRANCH %bb.2
484
485  bb.2:
486    S_ENDPGM 0
487...
488