xref: /llvm-project/llvm/test/CodeGen/AMDGPU/machine-sink-cycle.mir (revision acb7859f075f91b1105c04c37c6aa85db27a898a)
1*acb7859fSJeffrey Byrnes# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 3
2*acb7859fSJeffrey Byrnes# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 --sink-insts-to-avoid-spills=1 --stop-after=machine-sink -o -  %s | FileCheck -check-prefixes=GFX9-SUNK %s
3*acb7859fSJeffrey Byrnes# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1031 --sink-insts-to-avoid-spills=1 -mattr=+wavefrontsize64 --stop-after=machine-sink -o -  %s | FileCheck -check-prefixes=GFX10-SUNK %s
4*acb7859fSJeffrey Byrnes
5*acb7859fSJeffrey Byrnes---
6*acb7859fSJeffrey Byrnesname:            test_sink_copy
7*acb7859fSJeffrey Byrnesalignment:       1
8*acb7859fSJeffrey ByrnestracksRegLiveness: true
9*acb7859fSJeffrey ByrnesmachineFunctionInfo:
10*acb7859fSJeffrey Byrnes  isEntryFunction: true
11*acb7859fSJeffrey Byrnesbody:             |
12*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-LABEL: name: test_sink_copy
13*acb7859fSJeffrey Byrnes  ; GFX9-SUNK: bb.0:
14*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x80000000)
15*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
16*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
17*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
18*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
19*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
20*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
21*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.1
22*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
23*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.1:
24*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
25*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
26*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
27*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.3
28*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
29*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.2:
30*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
31*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
32*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
33*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY1:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
34*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY2:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
35*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY3:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
36*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY4:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
37*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
38*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]]
39*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
40*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
41*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.3:
42*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
43*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
44*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY5:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
45*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY6:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
46*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY7:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
47*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY8:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
48*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY9:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
49*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
50*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY5]], implicit [[COPY6]], implicit [[COPY7]], implicit [[COPY8]], implicit [[COPY9]]
51*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
52*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
53*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.4:
54*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
55*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
56*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
57*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.5
58*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
59*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.5:
60*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_ENDPGM 0
61*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
62*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.6.entry:
63*acb7859fSJeffrey Byrnes  ;
64*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-LABEL: name: test_sink_copy
65*acb7859fSJeffrey Byrnes  ; GFX10-SUNK: bb.0:
66*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x80000000)
67*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
68*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
69*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
70*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
71*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
72*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
73*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.1
74*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
75*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.1:
76*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
77*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
78*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
79*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.3
80*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
81*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.2:
82*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
83*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
84*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
85*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY1:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
86*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY2:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
87*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY3:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
88*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY4:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
89*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
90*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]]
91*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
92*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
93*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.3:
94*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
95*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
96*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY5:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
97*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY6:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
98*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY7:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
99*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY8:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
100*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY9:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
101*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
102*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY5]], implicit [[COPY6]], implicit [[COPY7]], implicit [[COPY8]], implicit [[COPY9]]
103*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
104*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
105*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.4:
106*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
107*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
108*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
109*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.5
110*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
111*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.5:
112*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_ENDPGM 0
113*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
114*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.6.entry:
115*acb7859fSJeffrey Byrnes  bb.0:
116*acb7859fSJeffrey Byrnes    %0:vreg_256 = IMPLICIT_DEF
117*acb7859fSJeffrey Byrnes    %1:vreg_256 = IMPLICIT_DEF
118*acb7859fSJeffrey Byrnes    %2:vreg_256 = IMPLICIT_DEF
119*acb7859fSJeffrey Byrnes    %3:vreg_256 = IMPLICIT_DEF
120*acb7859fSJeffrey Byrnes    %4:vreg_256 = IMPLICIT_DEF
121*acb7859fSJeffrey Byrnes    %5:vreg_256 = COPY %4
122*acb7859fSJeffrey Byrnes    %6:vreg_256 = COPY %4
123*acb7859fSJeffrey Byrnes    %7:vreg_256 = COPY %4
124*acb7859fSJeffrey Byrnes    %8:vreg_256 = COPY %4
125*acb7859fSJeffrey Byrnes    %9:vreg_256 = COPY %4
126*acb7859fSJeffrey Byrnes
127*acb7859fSJeffrey Byrnes
128*acb7859fSJeffrey Byrnes    S_BRANCH %bb.1
129*acb7859fSJeffrey Byrnes
130*acb7859fSJeffrey Byrnes  bb.1:
131*acb7859fSJeffrey Byrnes    S_CBRANCH_EXECZ %bb.2, implicit $exec
132*acb7859fSJeffrey Byrnes    S_BRANCH %bb.3
133*acb7859fSJeffrey Byrnes
134*acb7859fSJeffrey Byrnes  bb.2:
135*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
136*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9
137*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
138*acb7859fSJeffrey Byrnes
139*acb7859fSJeffrey Byrnes  bb.3:
140*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
141*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9
142*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
143*acb7859fSJeffrey Byrnes
144*acb7859fSJeffrey Byrnes  bb.4:
145*acb7859fSJeffrey Byrnes    S_CBRANCH_SCC1 %bb.1, implicit undef $scc
146*acb7859fSJeffrey Byrnes    S_BRANCH %bb.5
147*acb7859fSJeffrey Byrnes
148*acb7859fSJeffrey Byrnes  bb.5:
149*acb7859fSJeffrey Byrnes    S_ENDPGM 0
150*acb7859fSJeffrey Byrnes...
151*acb7859fSJeffrey Byrnes
152*acb7859fSJeffrey Byrnes# For gfx9, after sinking the copies, pressure is within the desired limit
153*acb7859fSJeffrey Byrnes
154*acb7859fSJeffrey Byrnes---
155*acb7859fSJeffrey Byrnesname:            test_sink_multi_stage
156*acb7859fSJeffrey Byrnesalignment:       1
157*acb7859fSJeffrey ByrnestracksRegLiveness: true
158*acb7859fSJeffrey ByrnesmachineFunctionInfo:
159*acb7859fSJeffrey Byrnes  isEntryFunction: true
160*acb7859fSJeffrey Byrnesbody:             |
161*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-LABEL: name: test_sink_multi_stage
162*acb7859fSJeffrey Byrnes  ; GFX9-SUNK: bb.0:
163*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x80000000)
164*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
165*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
166*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
167*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
168*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
169*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
170*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
171*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
172*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
173*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
174*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
175*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.1
176*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
177*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.1:
178*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
179*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
180*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
181*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.3
182*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
183*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.2:
184*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
185*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
186*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
187*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY1:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
188*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY2:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
189*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY3:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
190*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY4:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
191*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
192*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]]
193*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]]
194*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
195*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
196*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.3:
197*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
198*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
199*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY5:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
200*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY6:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
201*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY7:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
202*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY8:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
203*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[COPY9:%[0-9]+]]:vreg_256_align2 = COPY [[DEF4]]
204*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
205*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY5]], implicit [[COPY6]], implicit [[COPY7]], implicit [[COPY8]], implicit [[COPY9]]
206*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]]
207*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
208*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
209*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.4:
210*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
211*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
212*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
213*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.5
214*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
215*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.5:
216*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_ENDPGM 0
217*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
218*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.6.entry:
219*acb7859fSJeffrey Byrnes  ;
220*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-LABEL: name: test_sink_multi_stage
221*acb7859fSJeffrey Byrnes  ; GFX10-SUNK: bb.0:
222*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x80000000)
223*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
224*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
225*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
226*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
227*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
228*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
229*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.1
230*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
231*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.1:
232*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
233*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
234*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
235*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.3
236*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
237*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.2:
238*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
239*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
240*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
241*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
242*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
243*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
244*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
245*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
246*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY1:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
247*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY2:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
248*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY3:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
249*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY4:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
250*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
251*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]]
252*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]]
253*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
254*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
255*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.3:
256*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
257*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
258*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
259*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
260*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
261*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
262*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
263*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY5:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
264*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY6:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
265*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY7:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
266*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY8:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
267*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[COPY9:%[0-9]+]]:vreg_256 = COPY [[DEF4]]
268*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
269*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[COPY5]], implicit [[COPY6]], implicit [[COPY7]], implicit [[COPY8]], implicit [[COPY9]]
270*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]]
271*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
272*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
273*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.4:
274*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
275*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
276*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
277*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.5
278*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
279*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.5:
280*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_ENDPGM 0
281*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
282*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.6.entry:
283*acb7859fSJeffrey Byrnes  bb.0:
284*acb7859fSJeffrey Byrnes    %0:vreg_256 = IMPLICIT_DEF
285*acb7859fSJeffrey Byrnes    %1:vreg_256 = IMPLICIT_DEF
286*acb7859fSJeffrey Byrnes    %2:vreg_256 = IMPLICIT_DEF
287*acb7859fSJeffrey Byrnes    %3:vreg_256 = IMPLICIT_DEF
288*acb7859fSJeffrey Byrnes    %4:vreg_256 = IMPLICIT_DEF
289*acb7859fSJeffrey Byrnes    %5:vreg_256 = COPY %4
290*acb7859fSJeffrey Byrnes    %6:vreg_256 = COPY %4
291*acb7859fSJeffrey Byrnes    %7:vreg_256 = COPY %4
292*acb7859fSJeffrey Byrnes    %8:vreg_256 = COPY %4
293*acb7859fSJeffrey Byrnes    %9:vreg_256 = COPY %4
294*acb7859fSJeffrey Byrnes    %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
295*acb7859fSJeffrey Byrnes    %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
296*acb7859fSJeffrey Byrnes    %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
297*acb7859fSJeffrey Byrnes    %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
298*acb7859fSJeffrey Byrnes    %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
299*acb7859fSJeffrey Byrnes    S_BRANCH %bb.1
300*acb7859fSJeffrey Byrnes
301*acb7859fSJeffrey Byrnes  bb.1:
302*acb7859fSJeffrey Byrnes    S_CBRANCH_EXECZ %bb.2, implicit $exec
303*acb7859fSJeffrey Byrnes    S_BRANCH %bb.3
304*acb7859fSJeffrey Byrnes
305*acb7859fSJeffrey Byrnes  bb.2:
306*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
307*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9
308*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14
309*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
310*acb7859fSJeffrey Byrnes
311*acb7859fSJeffrey Byrnes  bb.3:
312*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
313*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9
314*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14
315*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
316*acb7859fSJeffrey Byrnes
317*acb7859fSJeffrey Byrnes  bb.4:
318*acb7859fSJeffrey Byrnes    S_CBRANCH_SCC1 %bb.1, implicit undef $scc
319*acb7859fSJeffrey Byrnes    S_BRANCH %bb.5
320*acb7859fSJeffrey Byrnes
321*acb7859fSJeffrey Byrnes  bb.5:
322*acb7859fSJeffrey Byrnes    S_ENDPGM 0
323*acb7859fSJeffrey Byrnes...
324*acb7859fSJeffrey Byrnes
325*acb7859fSJeffrey Byrnes---
326*acb7859fSJeffrey Byrnesname:            test_sink_low_rp
327*acb7859fSJeffrey Byrnesalignment:       1
328*acb7859fSJeffrey ByrnestracksRegLiveness: true
329*acb7859fSJeffrey ByrnesmachineFunctionInfo:
330*acb7859fSJeffrey Byrnes  isEntryFunction: true
331*acb7859fSJeffrey Byrnesbody:             |
332*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-LABEL: name: test_sink_low_rp
333*acb7859fSJeffrey Byrnes  ; GFX9-SUNK: bb.0:
334*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x80000000)
335*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
336*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
337*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
338*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
339*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
340*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
341*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
342*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
343*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
344*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
345*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
346*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
347*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
348*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
349*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
350*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
351*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
352*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
353*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
354*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
355*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
356*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
357*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
358*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
359*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
360*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
361*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
362*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.1
363*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
364*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.1:
365*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
366*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
367*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
368*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.3
369*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
370*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.2:
371*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
372*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
373*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
374*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]]
375*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
376*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
377*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.3:
378*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
379*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
380*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
381*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]]
382*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
383*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
384*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.4:
385*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
386*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
387*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
388*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.5
389*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
390*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.5:
391*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_ENDPGM 0
392*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
393*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.6.entry:
394*acb7859fSJeffrey Byrnes  ;
395*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-LABEL: name: test_sink_low_rp
396*acb7859fSJeffrey Byrnes  ; GFX10-SUNK: bb.0:
397*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x80000000)
398*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
399*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
400*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
401*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
402*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
403*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
404*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.1
405*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
406*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.1:
407*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
408*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
409*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
410*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.3
411*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
412*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.2:
413*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
414*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
415*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
416*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
417*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
418*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
419*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
420*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
421*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
422*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
423*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
424*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
425*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
426*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
427*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
428*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
429*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
430*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
431*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
432*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
433*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
434*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
435*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
436*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
437*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]]
438*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
439*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
440*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.3:
441*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
442*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
443*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
444*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
445*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
446*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
447*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
448*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
449*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
450*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
451*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
452*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
453*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
454*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
455*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
456*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
457*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
458*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
459*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
460*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
461*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
462*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
463*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
464*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
465*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]], implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]]
466*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
467*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
468*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.4:
469*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
470*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
471*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
472*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.5
473*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
474*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.5:
475*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_ENDPGM 0
476*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
477*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.6.entry:
478*acb7859fSJeffrey Byrnes  bb.0:
479*acb7859fSJeffrey Byrnes    %0:vreg_256 = IMPLICIT_DEF
480*acb7859fSJeffrey Byrnes    %1:vreg_256 = IMPLICIT_DEF
481*acb7859fSJeffrey Byrnes    %2:vreg_256 = IMPLICIT_DEF
482*acb7859fSJeffrey Byrnes    %3:vreg_256 = IMPLICIT_DEF
483*acb7859fSJeffrey Byrnes    %4:vreg_256 = IMPLICIT_DEF
484*acb7859fSJeffrey Byrnes    %5:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
485*acb7859fSJeffrey Byrnes    %6:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
486*acb7859fSJeffrey Byrnes    %7:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
487*acb7859fSJeffrey Byrnes    %8:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
488*acb7859fSJeffrey Byrnes    %9:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
489*acb7859fSJeffrey Byrnes    %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
490*acb7859fSJeffrey Byrnes    %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
491*acb7859fSJeffrey Byrnes    %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
492*acb7859fSJeffrey Byrnes    %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
493*acb7859fSJeffrey Byrnes    %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
494*acb7859fSJeffrey Byrnes    %15:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
495*acb7859fSJeffrey Byrnes    %16:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
496*acb7859fSJeffrey Byrnes    %17:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
497*acb7859fSJeffrey Byrnes    %18:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
498*acb7859fSJeffrey Byrnes    %19:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
499*acb7859fSJeffrey Byrnes    %20:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
500*acb7859fSJeffrey Byrnes    %21:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
501*acb7859fSJeffrey Byrnes    %22:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
502*acb7859fSJeffrey Byrnes    %23:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
503*acb7859fSJeffrey Byrnes    %24:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
504*acb7859fSJeffrey Byrnes    %25:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
505*acb7859fSJeffrey Byrnes
506*acb7859fSJeffrey Byrnes    S_BRANCH %bb.1
507*acb7859fSJeffrey Byrnes
508*acb7859fSJeffrey Byrnes  bb.1:
509*acb7859fSJeffrey Byrnes    S_CBRANCH_EXECZ %bb.2, implicit $exec
510*acb7859fSJeffrey Byrnes    S_BRANCH %bb.3
511*acb7859fSJeffrey Byrnes
512*acb7859fSJeffrey Byrnes  bb.2:
513*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
514*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25
515*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
516*acb7859fSJeffrey Byrnes
517*acb7859fSJeffrey Byrnes  bb.3:
518*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
519*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25
520*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
521*acb7859fSJeffrey Byrnes
522*acb7859fSJeffrey Byrnes  bb.4:
523*acb7859fSJeffrey Byrnes    S_CBRANCH_SCC1 %bb.1, implicit undef $scc
524*acb7859fSJeffrey Byrnes    S_BRANCH %bb.5
525*acb7859fSJeffrey Byrnes
526*acb7859fSJeffrey Byrnes  bb.5:
527*acb7859fSJeffrey Byrnes    S_ENDPGM 0
528*acb7859fSJeffrey Byrnes...
529*acb7859fSJeffrey Byrnes
530*acb7859fSJeffrey Byrnes---
531*acb7859fSJeffrey Byrnesname:            test_sink_high_rp
532*acb7859fSJeffrey Byrnesalignment:       1
533*acb7859fSJeffrey ByrnestracksRegLiveness: true
534*acb7859fSJeffrey ByrnesmachineFunctionInfo:
535*acb7859fSJeffrey Byrnes  isEntryFunction: true
536*acb7859fSJeffrey Byrnesbody:             |
537*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-LABEL: name: test_sink_high_rp
538*acb7859fSJeffrey Byrnes  ; GFX9-SUNK: bb.0:
539*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x80000000)
540*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
541*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
542*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
543*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
544*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
545*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
546*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.1
547*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
548*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.1:
549*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
550*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
551*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
552*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.3
553*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
554*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.2:
555*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
556*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
557*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
558*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
559*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
560*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
561*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
562*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
563*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
564*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
565*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
566*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
567*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
568*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
569*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
570*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
571*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
572*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
573*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
574*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
575*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
576*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
577*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
578*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
579*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
580*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
581*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
582*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
583*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
584*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
585*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]]
586*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
587*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
588*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.3:
589*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
590*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
591*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
592*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
593*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
594*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
595*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
596*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
597*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
598*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
599*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
600*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
601*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
602*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
603*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
604*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
605*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
606*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_42:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
607*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_43:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
608*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_44:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
609*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_45:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
610*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_46:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
611*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_47:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
612*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_48:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
613*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_49:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
614*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_50:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
615*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_51:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
616*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_52:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
617*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_53:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
618*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
619*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]], implicit [[V_ADD_U32_e64_42]], implicit [[V_ADD_U32_e64_43]], implicit [[V_ADD_U32_e64_44]], implicit [[V_ADD_U32_e64_45]], implicit [[V_ADD_U32_e64_46]], implicit [[V_ADD_U32_e64_47]], implicit [[V_ADD_U32_e64_48]], implicit [[V_ADD_U32_e64_49]], implicit [[V_ADD_U32_e64_50]], implicit [[V_ADD_U32_e64_51]], implicit [[V_ADD_U32_e64_52]], implicit [[V_ADD_U32_e64_53]]
620*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
621*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
622*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.4:
623*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
624*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
625*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
626*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.5
627*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
628*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.5:
629*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_ENDPGM 0
630*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
631*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.6.entry:
632*acb7859fSJeffrey Byrnes  ;
633*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-LABEL: name: test_sink_high_rp
634*acb7859fSJeffrey Byrnes  ; GFX10-SUNK: bb.0:
635*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x80000000)
636*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
637*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
638*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
639*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
640*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
641*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
642*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.1
643*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
644*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.1:
645*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
646*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
647*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
648*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.3
649*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
650*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.2:
651*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
652*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
653*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
654*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
655*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
656*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
657*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
658*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
659*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
660*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
661*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
662*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
663*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
664*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
665*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
666*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
667*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
668*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
669*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
670*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
671*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
672*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
673*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
674*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
675*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
676*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
677*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
678*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
679*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
680*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
681*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]]
682*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
683*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
684*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.3:
685*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
686*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
687*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
688*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
689*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
690*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
691*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
692*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
693*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
694*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
695*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
696*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
697*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
698*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
699*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
700*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
701*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
702*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_42:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
703*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_43:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
704*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_44:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
705*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_45:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
706*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_46:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
707*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_47:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
708*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_48:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
709*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_49:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
710*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_50:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
711*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_51:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
712*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_52:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
713*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_53:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
714*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
715*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]], implicit [[V_ADD_U32_e64_42]], implicit [[V_ADD_U32_e64_43]], implicit [[V_ADD_U32_e64_44]], implicit [[V_ADD_U32_e64_45]], implicit [[V_ADD_U32_e64_46]], implicit [[V_ADD_U32_e64_47]], implicit [[V_ADD_U32_e64_48]], implicit [[V_ADD_U32_e64_49]], implicit [[V_ADD_U32_e64_50]], implicit [[V_ADD_U32_e64_51]], implicit [[V_ADD_U32_e64_52]], implicit [[V_ADD_U32_e64_53]]
716*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
717*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
718*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.4:
719*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
720*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
721*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
722*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.5
723*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
724*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.5:
725*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_ENDPGM 0
726*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
727*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.6.entry:
728*acb7859fSJeffrey Byrnes  bb.0:
729*acb7859fSJeffrey Byrnes    %0:vreg_256 = IMPLICIT_DEF
730*acb7859fSJeffrey Byrnes    %1:vreg_256 = IMPLICIT_DEF
731*acb7859fSJeffrey Byrnes    %2:vreg_256 = IMPLICIT_DEF
732*acb7859fSJeffrey Byrnes    %3:vreg_256 = IMPLICIT_DEF
733*acb7859fSJeffrey Byrnes    %4:vreg_256 = IMPLICIT_DEF
734*acb7859fSJeffrey Byrnes    %5:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
735*acb7859fSJeffrey Byrnes    %6:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
736*acb7859fSJeffrey Byrnes    %7:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
737*acb7859fSJeffrey Byrnes    %8:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
738*acb7859fSJeffrey Byrnes    %9:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
739*acb7859fSJeffrey Byrnes    %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
740*acb7859fSJeffrey Byrnes    %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
741*acb7859fSJeffrey Byrnes    %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
742*acb7859fSJeffrey Byrnes    %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
743*acb7859fSJeffrey Byrnes    %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
744*acb7859fSJeffrey Byrnes    %15:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
745*acb7859fSJeffrey Byrnes    %16:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
746*acb7859fSJeffrey Byrnes    %17:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
747*acb7859fSJeffrey Byrnes    %18:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
748*acb7859fSJeffrey Byrnes    %19:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
749*acb7859fSJeffrey Byrnes    %20:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
750*acb7859fSJeffrey Byrnes    %21:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
751*acb7859fSJeffrey Byrnes    %22:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
752*acb7859fSJeffrey Byrnes    %23:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
753*acb7859fSJeffrey Byrnes    %24:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
754*acb7859fSJeffrey Byrnes    %25:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
755*acb7859fSJeffrey Byrnes    %26:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
756*acb7859fSJeffrey Byrnes    %27:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
757*acb7859fSJeffrey Byrnes    %28:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
758*acb7859fSJeffrey Byrnes    %29:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
759*acb7859fSJeffrey Byrnes    %30:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
760*acb7859fSJeffrey Byrnes    %31:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
761*acb7859fSJeffrey Byrnes
762*acb7859fSJeffrey Byrnes    S_BRANCH %bb.1
763*acb7859fSJeffrey Byrnes
764*acb7859fSJeffrey Byrnes  bb.1:
765*acb7859fSJeffrey Byrnes    S_CBRANCH_EXECZ %bb.2, implicit $exec
766*acb7859fSJeffrey Byrnes    S_BRANCH %bb.3
767*acb7859fSJeffrey Byrnes
768*acb7859fSJeffrey Byrnes  bb.2:
769*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
770*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31
771*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
772*acb7859fSJeffrey Byrnes
773*acb7859fSJeffrey Byrnes  bb.3:
774*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
775*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31
776*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
777*acb7859fSJeffrey Byrnes
778*acb7859fSJeffrey Byrnes  bb.4:
779*acb7859fSJeffrey Byrnes    S_CBRANCH_SCC1 %bb.1, implicit undef $scc
780*acb7859fSJeffrey Byrnes    S_BRANCH %bb.5
781*acb7859fSJeffrey Byrnes
782*acb7859fSJeffrey Byrnes  bb.5:
783*acb7859fSJeffrey Byrnes    S_ENDPGM 0
784*acb7859fSJeffrey Byrnes...
785*acb7859fSJeffrey Byrnes
786*acb7859fSJeffrey Byrnes# Do not sink convergent op (MFMA)
787*acb7859fSJeffrey Byrnes
788*acb7859fSJeffrey Byrnes---
789*acb7859fSJeffrey Byrnesname:            test_sink_convergent
790*acb7859fSJeffrey Byrnesalignment:       1
791*acb7859fSJeffrey ByrnestracksRegLiveness: true
792*acb7859fSJeffrey ByrnesmachineFunctionInfo:
793*acb7859fSJeffrey Byrnes  isEntryFunction: true
794*acb7859fSJeffrey Byrnesbody:             |
795*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-LABEL: name: test_sink_convergent
796*acb7859fSJeffrey Byrnes  ; GFX9-SUNK: bb.0:
797*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x80000000)
798*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
799*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
800*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
801*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
802*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
803*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
804*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF5:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
805*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF6:%[0-9]+]]:areg_128_align2 = IMPLICIT_DEF
806*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF7:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
807*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF8:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
808*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_MFMA_F32_4X4X1F32_e64_:%[0-9]+]]:areg_128_align2 = V_MFMA_F32_4X4X1F32_e64 [[DEF5]], [[DEF7]], [[DEF6]], 0, 0, 0, implicit $mode, implicit $exec
809*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.1
810*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
811*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.1:
812*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
813*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
814*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF8]], implicit [[V_MFMA_F32_4X4X1F32_e64_]]
815*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
816*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.3
817*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
818*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.2:
819*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
820*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
821*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
822*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
823*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
824*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
825*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
826*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
827*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
828*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
829*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
830*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
831*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
832*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
833*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
834*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
835*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
836*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
837*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
838*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
839*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
840*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
841*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
842*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
843*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
844*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
845*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
846*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
847*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
848*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
849*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]]
850*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
851*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
852*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.3:
853*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
854*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
855*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
856*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
857*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
858*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
859*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
860*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
861*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
862*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
863*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
864*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
865*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
866*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
867*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
868*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
869*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
870*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_42:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
871*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_43:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
872*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_44:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
873*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_45:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
874*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_46:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
875*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_47:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
876*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_48:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
877*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_49:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
878*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_50:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
879*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_51:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
880*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_52:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
881*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_53:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
882*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
883*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]], implicit [[V_ADD_U32_e64_42]], implicit [[V_ADD_U32_e64_43]], implicit [[V_ADD_U32_e64_44]], implicit [[V_ADD_U32_e64_45]], implicit [[V_ADD_U32_e64_46]], implicit [[V_ADD_U32_e64_47]], implicit [[V_ADD_U32_e64_48]], implicit [[V_ADD_U32_e64_49]], implicit [[V_ADD_U32_e64_50]], implicit [[V_ADD_U32_e64_51]], implicit [[V_ADD_U32_e64_52]], implicit [[V_ADD_U32_e64_53]]
884*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
885*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
886*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.4:
887*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
888*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
889*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
890*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.5
891*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
892*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.5:
893*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_ENDPGM 0
894*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
895*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.6.entry:
896*acb7859fSJeffrey Byrnes  ;
897*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-LABEL: name: test_sink_convergent
898*acb7859fSJeffrey Byrnes  ; GFX10-SUNK: bb.0:
899*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x80000000)
900*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
901*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
902*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
903*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
904*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
905*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
906*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF5:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
907*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF6:%[0-9]+]]:areg_128_align2 = IMPLICIT_DEF
908*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF7:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
909*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF8:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
910*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_MFMA_F32_4X4X1F32_e64_:%[0-9]+]]:areg_128_align2 = V_MFMA_F32_4X4X1F32_e64 [[DEF5]], [[DEF7]], [[DEF6]], 0, 0, 0, implicit $mode, implicit $exec
911*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.1
912*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
913*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.1:
914*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
915*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
916*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF8]], implicit [[V_MFMA_F32_4X4X1F32_e64_]]
917*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
918*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.3
919*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
920*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.2:
921*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
922*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
923*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
924*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
925*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
926*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
927*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
928*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
929*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
930*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
931*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
932*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
933*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
934*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
935*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
936*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
937*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
938*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
939*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
940*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
941*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
942*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
943*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
944*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
945*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
946*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
947*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
948*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
949*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
950*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
951*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]]
952*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
953*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
954*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.3:
955*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
956*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
957*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_27:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
958*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_28:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
959*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_29:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
960*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_30:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
961*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_31:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
962*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_32:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
963*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_33:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
964*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_34:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
965*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_35:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
966*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_36:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
967*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_37:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
968*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_38:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
969*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_39:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
970*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_40:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
971*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_41:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
972*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_42:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
973*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_43:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
974*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_44:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
975*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_45:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
976*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_46:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
977*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_47:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
978*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_48:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
979*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_49:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
980*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_50:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
981*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_51:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
982*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_52:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
983*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_53:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
984*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
985*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_27]], implicit [[V_ADD_U32_e64_28]], implicit [[V_ADD_U32_e64_29]], implicit [[V_ADD_U32_e64_30]], implicit [[V_ADD_U32_e64_31]], implicit [[V_ADD_U32_e64_32]], implicit [[V_ADD_U32_e64_33]], implicit [[V_ADD_U32_e64_34]], implicit [[V_ADD_U32_e64_35]], implicit [[V_ADD_U32_e64_36]], implicit [[V_ADD_U32_e64_37]], implicit [[V_ADD_U32_e64_38]], implicit [[V_ADD_U32_e64_39]], implicit [[V_ADD_U32_e64_40]], implicit [[V_ADD_U32_e64_41]], implicit [[V_ADD_U32_e64_42]], implicit [[V_ADD_U32_e64_43]], implicit [[V_ADD_U32_e64_44]], implicit [[V_ADD_U32_e64_45]], implicit [[V_ADD_U32_e64_46]], implicit [[V_ADD_U32_e64_47]], implicit [[V_ADD_U32_e64_48]], implicit [[V_ADD_U32_e64_49]], implicit [[V_ADD_U32_e64_50]], implicit [[V_ADD_U32_e64_51]], implicit [[V_ADD_U32_e64_52]], implicit [[V_ADD_U32_e64_53]]
986*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
987*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
988*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.4:
989*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
990*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
991*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
992*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.5
993*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
994*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.5:
995*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_ENDPGM 0
996*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
997*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.6.entry:
998*acb7859fSJeffrey Byrnes  bb.0:
999*acb7859fSJeffrey Byrnes    %0:vreg_256 = IMPLICIT_DEF
1000*acb7859fSJeffrey Byrnes    %1:vreg_256 = IMPLICIT_DEF
1001*acb7859fSJeffrey Byrnes    %2:vreg_256 = IMPLICIT_DEF
1002*acb7859fSJeffrey Byrnes    %3:vreg_256 = IMPLICIT_DEF
1003*acb7859fSJeffrey Byrnes    %4:vreg_256 = IMPLICIT_DEF
1004*acb7859fSJeffrey Byrnes    %5:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1005*acb7859fSJeffrey Byrnes    %6:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1006*acb7859fSJeffrey Byrnes    %7:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1007*acb7859fSJeffrey Byrnes    %8:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1008*acb7859fSJeffrey Byrnes    %9:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1009*acb7859fSJeffrey Byrnes    %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1010*acb7859fSJeffrey Byrnes    %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1011*acb7859fSJeffrey Byrnes    %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1012*acb7859fSJeffrey Byrnes    %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1013*acb7859fSJeffrey Byrnes    %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1014*acb7859fSJeffrey Byrnes    %15:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1015*acb7859fSJeffrey Byrnes    %16:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1016*acb7859fSJeffrey Byrnes    %17:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1017*acb7859fSJeffrey Byrnes    %18:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1018*acb7859fSJeffrey Byrnes    %19:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1019*acb7859fSJeffrey Byrnes    %20:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1020*acb7859fSJeffrey Byrnes    %21:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1021*acb7859fSJeffrey Byrnes    %22:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1022*acb7859fSJeffrey Byrnes    %23:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1023*acb7859fSJeffrey Byrnes    %24:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1024*acb7859fSJeffrey Byrnes    %25:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1025*acb7859fSJeffrey Byrnes    %26:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1026*acb7859fSJeffrey Byrnes    %27:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1027*acb7859fSJeffrey Byrnes    %28:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1028*acb7859fSJeffrey Byrnes    %29:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
1029*acb7859fSJeffrey Byrnes    %30:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
1030*acb7859fSJeffrey Byrnes    %31:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
1031*acb7859fSJeffrey Byrnes    %40:vgpr_32 = IMPLICIT_DEF
1032*acb7859fSJeffrey Byrnes    %41:areg_128_align2 = IMPLICIT_DEF
1033*acb7859fSJeffrey Byrnes    %42:vgpr_32 = IMPLICIT_DEF
1034*acb7859fSJeffrey Byrnes    %43:vgpr_32 = IMPLICIT_DEF
1035*acb7859fSJeffrey Byrnes    %44:areg_128_align2 = V_MFMA_F32_4X4X1F32_e64 %40, %42, %41, 0, 0, 0, implicit $mode, implicit $exec
1036*acb7859fSJeffrey Byrnes
1037*acb7859fSJeffrey Byrnes
1038*acb7859fSJeffrey Byrnes    S_BRANCH %bb.1
1039*acb7859fSJeffrey Byrnes
1040*acb7859fSJeffrey Byrnes  bb.1:
1041*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %43, implicit %44
1042*acb7859fSJeffrey Byrnes    S_CBRANCH_EXECZ %bb.2, implicit $exec
1043*acb7859fSJeffrey Byrnes    S_BRANCH %bb.3
1044*acb7859fSJeffrey Byrnes
1045*acb7859fSJeffrey Byrnes  bb.2:
1046*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
1047*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31
1048*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
1049*acb7859fSJeffrey Byrnes
1050*acb7859fSJeffrey Byrnes  bb.3:
1051*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
1052*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31
1053*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
1054*acb7859fSJeffrey Byrnes
1055*acb7859fSJeffrey Byrnes  bb.4:
1056*acb7859fSJeffrey Byrnes    S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1057*acb7859fSJeffrey Byrnes    S_BRANCH %bb.5
1058*acb7859fSJeffrey Byrnes
1059*acb7859fSJeffrey Byrnes  bb.5:
1060*acb7859fSJeffrey Byrnes    S_ENDPGM 0
1061*acb7859fSJeffrey Byrnes...
1062*acb7859fSJeffrey Byrnes
1063*acb7859fSJeffrey Byrnes# Do not sink instructions with multiple defs
1064*acb7859fSJeffrey Byrnes
1065*acb7859fSJeffrey Byrnes---
1066*acb7859fSJeffrey Byrnesname:            test_sink_multi_def
1067*acb7859fSJeffrey Byrnesalignment:       1
1068*acb7859fSJeffrey ByrnestracksRegLiveness: true
1069*acb7859fSJeffrey ByrnesmachineFunctionInfo:
1070*acb7859fSJeffrey Byrnes  isEntryFunction: true
1071*acb7859fSJeffrey Byrnesbody:             |
1072*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-LABEL: name: test_sink_multi_def
1073*acb7859fSJeffrey Byrnes  ; GFX9-SUNK: bb.0:
1074*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x80000000)
1075*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1076*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
1077*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
1078*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
1079*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
1080*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256_align2 = IMPLICIT_DEF
1081*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
1082*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
1083*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
1084*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
1085*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
1086*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
1087*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
1088*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
1089*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
1090*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
1091*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
1092*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
1093*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
1094*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
1095*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
1096*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
1097*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
1098*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
1099*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
1100*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
1101*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
1102*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
1103*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
1104*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
1105*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
1106*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
1107*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
1108*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[DEF]].sub2, [[DEF1]].sub4, 0, implicit $exec
1109*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.1
1110*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1111*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.1:
1112*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
1113*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1114*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_CO_U32_e64_]], implicit [[V_ADD_CO_U32_e64_1]]
1115*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
1116*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.3
1117*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1118*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.2:
1119*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
1120*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1121*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
1122*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]]
1123*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
1124*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1125*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.3:
1126*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.4(0x80000000)
1127*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1128*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
1129*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]]
1130*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.4
1131*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1132*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.4:
1133*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
1134*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1135*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1136*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_BRANCH %bb.5
1137*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1138*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.5:
1139*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT:   S_ENDPGM 0
1140*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: {{  $}}
1141*acb7859fSJeffrey Byrnes  ; GFX9-SUNK-NEXT: bb.6.entry:
1142*acb7859fSJeffrey Byrnes  ;
1143*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-LABEL: name: test_sink_multi_def
1144*acb7859fSJeffrey Byrnes  ; GFX10-SUNK: bb.0:
1145*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x80000000)
1146*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1147*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
1148*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF1:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
1149*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF2:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
1150*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF3:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
1151*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[DEF4:%[0-9]+]]:vreg_256 = IMPLICIT_DEF
1152*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub0, 0, implicit $exec
1153*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_1:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub0, 0, implicit $exec
1154*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_2:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub0, 0, implicit $exec
1155*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_3:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub0, 0, implicit $exec
1156*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_4:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub0, 0, implicit $exec
1157*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_5:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub0, 0, implicit $exec
1158*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_6:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub0, 0, implicit $exec
1159*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_7:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub0, 0, implicit $exec
1160*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_8:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub1, 0, implicit $exec
1161*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_9:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub1, 0, implicit $exec
1162*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_10:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub1, 0, implicit $exec
1163*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_11:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub1, 0, implicit $exec
1164*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_12:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub1, 0, implicit $exec
1165*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_13:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub1, 0, implicit $exec
1166*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_14:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub1, 0, implicit $exec
1167*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_15:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub1, 0, implicit $exec
1168*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_16:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub2, 0, implicit $exec
1169*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_17:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub2, 0, implicit $exec
1170*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_18:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub2, 0, implicit $exec
1171*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_19:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub3, [[DEF1]].sub2, 0, implicit $exec
1172*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_20:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub4, [[DEF1]].sub2, 0, implicit $exec
1173*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_21:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub5, [[DEF1]].sub2, 0, implicit $exec
1174*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_22:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub6, [[DEF1]].sub2, 0, implicit $exec
1175*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_23:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub7, [[DEF1]].sub2, 0, implicit $exec
1176*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_24:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub0, [[DEF1]].sub3, 0, implicit $exec
1177*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_25:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub1, [[DEF1]].sub3, 0, implicit $exec
1178*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_U32_e64_26:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[DEF]].sub2, [[DEF1]].sub3, 0, implicit $exec
1179*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[DEF]].sub2, [[DEF1]].sub4, 0, implicit $exec
1180*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.1
1181*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1182*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.1:
1183*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)
1184*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1185*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_CO_U32_e64_]], implicit [[V_ADD_CO_U32_e64_1]]
1186*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
1187*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.3
1188*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1189*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.2:
1190*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
1191*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1192*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
1193*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]]
1194*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
1195*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1196*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.3:
1197*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.4(0x80000000)
1198*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1199*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[DEF]], implicit [[DEF1]], implicit [[DEF2]], implicit [[DEF3]], implicit [[DEF4]]
1200*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit [[V_ADD_U32_e64_]], implicit [[V_ADD_U32_e64_1]], implicit [[V_ADD_U32_e64_2]], implicit [[V_ADD_U32_e64_3]], implicit [[V_ADD_U32_e64_4]], implicit [[V_ADD_U32_e64_5]], implicit [[V_ADD_U32_e64_6]], implicit [[V_ADD_U32_e64_7]], implicit [[V_ADD_U32_e64_8]], implicit [[V_ADD_U32_e64_9]], implicit [[V_ADD_U32_e64_10]], implicit [[V_ADD_U32_e64_11]], implicit [[V_ADD_U32_e64_12]], implicit [[V_ADD_U32_e64_13]], implicit [[V_ADD_U32_e64_14]], implicit [[V_ADD_U32_e64_15]], implicit [[V_ADD_U32_e64_16]], implicit [[V_ADD_U32_e64_17]], implicit [[V_ADD_U32_e64_18]], implicit [[V_ADD_U32_e64_19]], implicit [[V_ADD_U32_e64_20]], implicit [[V_ADD_U32_e64_21]], implicit [[V_ADD_U32_e64_22]], implicit [[V_ADD_U32_e64_23]], implicit [[V_ADD_U32_e64_24]], implicit [[V_ADD_U32_e64_25]], implicit [[V_ADD_U32_e64_26]]
1201*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.4
1202*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1203*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.4:
1204*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   successors: %bb.1(0x40000000), %bb.5(0x40000000)
1205*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1206*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1207*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_BRANCH %bb.5
1208*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1209*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.5:
1210*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT:   S_ENDPGM 0
1211*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: {{  $}}
1212*acb7859fSJeffrey Byrnes  ; GFX10-SUNK-NEXT: bb.6.entry:
1213*acb7859fSJeffrey Byrnes  bb.0:
1214*acb7859fSJeffrey Byrnes    %0:vreg_256 = IMPLICIT_DEF
1215*acb7859fSJeffrey Byrnes    %1:vreg_256 = IMPLICIT_DEF
1216*acb7859fSJeffrey Byrnes    %2:vreg_256 = IMPLICIT_DEF
1217*acb7859fSJeffrey Byrnes    %3:vreg_256 = IMPLICIT_DEF
1218*acb7859fSJeffrey Byrnes    %4:vreg_256 = IMPLICIT_DEF
1219*acb7859fSJeffrey Byrnes    %5:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1220*acb7859fSJeffrey Byrnes    %6:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1221*acb7859fSJeffrey Byrnes    %7:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1222*acb7859fSJeffrey Byrnes    %8:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1223*acb7859fSJeffrey Byrnes    %9:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1224*acb7859fSJeffrey Byrnes    %10:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1225*acb7859fSJeffrey Byrnes    %11:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1226*acb7859fSJeffrey Byrnes    %12:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub0:vreg_256, 0, implicit $exec
1227*acb7859fSJeffrey Byrnes    %13:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1228*acb7859fSJeffrey Byrnes    %14:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1229*acb7859fSJeffrey Byrnes    %15:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1230*acb7859fSJeffrey Byrnes    %16:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1231*acb7859fSJeffrey Byrnes    %17:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1232*acb7859fSJeffrey Byrnes    %18:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1233*acb7859fSJeffrey Byrnes    %19:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1234*acb7859fSJeffrey Byrnes    %20:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub1:vreg_256, 0, implicit $exec
1235*acb7859fSJeffrey Byrnes    %21:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1236*acb7859fSJeffrey Byrnes    %22:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1237*acb7859fSJeffrey Byrnes    %23:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1238*acb7859fSJeffrey Byrnes    %24:vgpr_32 = V_ADD_U32_e64 %0.sub3:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1239*acb7859fSJeffrey Byrnes    %25:vgpr_32 = V_ADD_U32_e64 %0.sub4:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1240*acb7859fSJeffrey Byrnes    %26:vgpr_32 = V_ADD_U32_e64 %0.sub5:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1241*acb7859fSJeffrey Byrnes    %27:vgpr_32 = V_ADD_U32_e64 %0.sub6:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1242*acb7859fSJeffrey Byrnes    %28:vgpr_32 = V_ADD_U32_e64 %0.sub7:vreg_256, %1.sub2:vreg_256, 0, implicit $exec
1243*acb7859fSJeffrey Byrnes    %29:vgpr_32 = V_ADD_U32_e64 %0.sub0:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
1244*acb7859fSJeffrey Byrnes    %30:vgpr_32 = V_ADD_U32_e64 %0.sub1:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
1245*acb7859fSJeffrey Byrnes    %31:vgpr_32 = V_ADD_U32_e64 %0.sub2:vreg_256, %1.sub3:vreg_256, 0, implicit $exec
1246*acb7859fSJeffrey Byrnes    %32:vgpr_32, %33:sreg_64_xexec = V_ADD_CO_U32_e64 %0.sub2:vreg_256, %1.sub4:vreg_256, 0, implicit $exec
1247*acb7859fSJeffrey Byrnes
1248*acb7859fSJeffrey Byrnes    S_BRANCH %bb.1
1249*acb7859fSJeffrey Byrnes
1250*acb7859fSJeffrey Byrnes  bb.1:
1251*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %32, implicit %33
1252*acb7859fSJeffrey Byrnes    S_CBRANCH_EXECZ %bb.2, implicit $exec
1253*acb7859fSJeffrey Byrnes    S_BRANCH %bb.3
1254*acb7859fSJeffrey Byrnes
1255*acb7859fSJeffrey Byrnes  bb.2:
1256*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
1257*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31
1258*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
1259*acb7859fSJeffrey Byrnes
1260*acb7859fSJeffrey Byrnes  bb.3:
1261*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %0, implicit %1, implicit %2, implicit %3, implicit %4
1262*acb7859fSJeffrey Byrnes    INLINEASM &"", 1, implicit %5, implicit %6, implicit %7, implicit %8, implicit %9, implicit %10, implicit %11, implicit %12, implicit %13, implicit %14, implicit %15, implicit %16, implicit %17, implicit %18, implicit %19, implicit %20, implicit %21, implicit %22, implicit %23, implicit %24, implicit %25, implicit %26, implicit %27, implicit %28, implicit %29, implicit %30, implicit %31
1263*acb7859fSJeffrey Byrnes    S_BRANCH %bb.4
1264*acb7859fSJeffrey Byrnes
1265*acb7859fSJeffrey Byrnes  bb.4:
1266*acb7859fSJeffrey Byrnes    S_CBRANCH_SCC1 %bb.1, implicit undef $scc
1267*acb7859fSJeffrey Byrnes    S_BRANCH %bb.5
1268*acb7859fSJeffrey Byrnes
1269*acb7859fSJeffrey Byrnes  bb.5:
1270*acb7859fSJeffrey Byrnes    S_ENDPGM 0
1271*acb7859fSJeffrey Byrnes...
1272*acb7859fSJeffrey Byrnes
1273