@@ -119,6 +119,7 @@ define amdgpu_cs_chain void @wwm_in_shader(<3 x i32> inreg %sgpr, ptr inreg %cal
119119; GISEL12-NEXT: s_mov_b32 s7, s4
120120; GISEL12-NEXT: s_wait_alu 0xfffe
121121; GISEL12-NEXT: s_and_saveexec_b32 s3, s8
122+ ; GISEL12-NEXT: s_cbranch_execz .LBB1_2
122123; GISEL12-NEXT: ; %bb.1: ; %shader
123124; GISEL12-NEXT: s_or_saveexec_b32 s4, -1
124125; GISEL12-NEXT: s_wait_alu 0xfffe
@@ -129,7 +130,8 @@ define amdgpu_cs_chain void @wwm_in_shader(<3 x i32> inreg %sgpr, ptr inreg %cal
129130; GISEL12-NEXT: s_mov_b32 exec_lo, s4
130131; GISEL12-NEXT: s_delay_alu instid0(VALU_DEP_1)
131132; GISEL12-NEXT: v_dual_mov_b32 v11, v0 :: v_dual_add_nc_u32 v10, 42, v10
132- ; GISEL12-NEXT: ; %bb.2: ; %tail
133+ ; GISEL12-NEXT: .LBB1_2: ; %tail
134+ ; GISEL12-NEXT: s_wait_alu 0xfffe
133135; GISEL12-NEXT: s_or_b32 exec_lo, exec_lo, s3
134136; GISEL12-NEXT: s_mov_b32 exec_lo, s5
135137; GISEL12-NEXT: s_wait_alu 0xfffe
@@ -148,6 +150,7 @@ define amdgpu_cs_chain void @wwm_in_shader(<3 x i32> inreg %sgpr, ptr inreg %cal
148150; DAGISEL12-NEXT: s_mov_b32 s6, s3
149151; DAGISEL12-NEXT: s_wait_alu 0xfffe
150152; DAGISEL12-NEXT: s_and_saveexec_b32 s3, s8
153+ ; DAGISEL12-NEXT: s_cbranch_execz .LBB1_2
151154; DAGISEL12-NEXT: ; %bb.1: ; %shader
152155; DAGISEL12-NEXT: s_or_saveexec_b32 s4, -1
153156; DAGISEL12-NEXT: s_wait_alu 0xfffe
@@ -156,7 +159,8 @@ define amdgpu_cs_chain void @wwm_in_shader(<3 x i32> inreg %sgpr, ptr inreg %cal
156159; DAGISEL12-NEXT: v_cmp_ne_u32_e64 s8, 0, v0
157160; DAGISEL12-NEXT: s_mov_b32 exec_lo, s4
158161; DAGISEL12-NEXT: v_dual_mov_b32 v11, s8 :: v_dual_add_nc_u32 v10, 42, v10
159- ; DAGISEL12-NEXT: ; %bb.2: ; %tail
162+ ; DAGISEL12-NEXT: .LBB1_2: ; %tail
163+ ; DAGISEL12-NEXT: s_wait_alu 0xfffe
160164; DAGISEL12-NEXT: s_or_b32 exec_lo, exec_lo, s3
161165; DAGISEL12-NEXT: s_mov_b32 exec_lo, s5
162166; DAGISEL12-NEXT: s_wait_alu 0xfffe
@@ -171,6 +175,7 @@ define amdgpu_cs_chain void @wwm_in_shader(<3 x i32> inreg %sgpr, ptr inreg %cal
171175; GISEL10-NEXT: s_mov_b32 s6, s3
172176; GISEL10-NEXT: s_mov_b32 s7, s4
173177; GISEL10-NEXT: s_and_saveexec_b32 s3, s8
178+ ; GISEL10-NEXT: s_cbranch_execz .LBB1_2
174179; GISEL10-NEXT: ; %bb.1: ; %shader
175180; GISEL10-NEXT: s_or_saveexec_b32 s4, -1
176181; GISEL10-NEXT: v_cndmask_b32_e64 v0, 0x47, v10, s4
@@ -179,7 +184,7 @@ define amdgpu_cs_chain void @wwm_in_shader(<3 x i32> inreg %sgpr, ptr inreg %cal
179184; GISEL10-NEXT: s_mov_b32 exec_lo, s4
180185; GISEL10-NEXT: v_add_nc_u32_e32 v10, 42, v10
181186; GISEL10-NEXT: v_mov_b32_e32 v11, v0
182- ; GISEL10-NEXT: ; %bb.2 : ; %tail
187+ ; GISEL10-NEXT: .LBB1_2 : ; %tail
183188; GISEL10-NEXT: s_or_b32 exec_lo, exec_lo, s3
184189; GISEL10-NEXT: s_mov_b32 exec_lo, s5
185190; GISEL10-NEXT: s_setpc_b64 s[6:7]
@@ -193,14 +198,15 @@ define amdgpu_cs_chain void @wwm_in_shader(<3 x i32> inreg %sgpr, ptr inreg %cal
193198; DAGISEL10-NEXT: s_mov_b32 s7, s4
194199; DAGISEL10-NEXT: s_mov_b32 s6, s3
195200; DAGISEL10-NEXT: s_and_saveexec_b32 s3, s8
201+ ; DAGISEL10-NEXT: s_cbranch_execz .LBB1_2
196202; DAGISEL10-NEXT: ; %bb.1: ; %shader
197203; DAGISEL10-NEXT: s_or_saveexec_b32 s4, -1
198204; DAGISEL10-NEXT: v_cndmask_b32_e64 v0, 0x47, v10, s4
199205; DAGISEL10-NEXT: v_cmp_ne_u32_e64 s8, 0, v0
200206; DAGISEL10-NEXT: s_mov_b32 exec_lo, s4
201207; DAGISEL10-NEXT: v_add_nc_u32_e32 v10, 42, v10
202208; DAGISEL10-NEXT: v_mov_b32_e32 v11, s8
203- ; DAGISEL10-NEXT: ; %bb.2 : ; %tail
209+ ; DAGISEL10-NEXT: .LBB1_2 : ; %tail
204210; DAGISEL10-NEXT: s_or_b32 exec_lo, exec_lo, s3
205211; DAGISEL10-NEXT: s_mov_b32 exec_lo, s5
206212; DAGISEL10-NEXT: s_setpc_b64 s[6:7]
@@ -240,6 +246,7 @@ define amdgpu_cs_chain void @phi_whole_struct(<3 x i32> inreg %sgpr, ptr inreg %
240246; GISEL12-NEXT: s_mov_b32 s7, s4
241247; GISEL12-NEXT: s_wait_alu 0xfffe
242248; GISEL12-NEXT: s_and_saveexec_b32 s3, s8
249+ ; GISEL12-NEXT: s_cbranch_execz .LBB2_2
243250; GISEL12-NEXT: ; %bb.1: ; %shader
244251; GISEL12-NEXT: s_or_saveexec_b32 s4, -1
245252; GISEL12-NEXT: s_wait_alu 0xfffe
@@ -250,7 +257,8 @@ define amdgpu_cs_chain void @phi_whole_struct(<3 x i32> inreg %sgpr, ptr inreg %
250257; GISEL12-NEXT: s_mov_b32 exec_lo, s4
251258; GISEL12-NEXT: s_delay_alu instid0(VALU_DEP_1)
252259; GISEL12-NEXT: v_dual_mov_b32 v11, v0 :: v_dual_add_nc_u32 v10, 42, v12
253- ; GISEL12-NEXT: ; %bb.2: ; %tail
260+ ; GISEL12-NEXT: .LBB2_2: ; %tail
261+ ; GISEL12-NEXT: s_wait_alu 0xfffe
254262; GISEL12-NEXT: s_or_b32 exec_lo, exec_lo, s3
255263; GISEL12-NEXT: s_mov_b32 exec_lo, s5
256264; GISEL12-NEXT: s_wait_alu 0xfffe
@@ -268,6 +276,7 @@ define amdgpu_cs_chain void @phi_whole_struct(<3 x i32> inreg %sgpr, ptr inreg %
268276; DAGISEL12-NEXT: s_mov_b32 s6, s3
269277; DAGISEL12-NEXT: s_wait_alu 0xfffe
270278; DAGISEL12-NEXT: s_and_saveexec_b32 s3, s8
279+ ; DAGISEL12-NEXT: s_cbranch_execz .LBB2_2
271280; DAGISEL12-NEXT: ; %bb.1: ; %shader
272281; DAGISEL12-NEXT: s_or_saveexec_b32 s4, -1
273282; DAGISEL12-NEXT: s_wait_alu 0xfffe
@@ -276,7 +285,8 @@ define amdgpu_cs_chain void @phi_whole_struct(<3 x i32> inreg %sgpr, ptr inreg %
276285; DAGISEL12-NEXT: v_cmp_ne_u32_e64 s8, 0, v0
277286; DAGISEL12-NEXT: s_mov_b32 exec_lo, s4
278287; DAGISEL12-NEXT: v_dual_mov_b32 v11, s8 :: v_dual_add_nc_u32 v10, 42, v12
279- ; DAGISEL12-NEXT: ; %bb.2: ; %tail
288+ ; DAGISEL12-NEXT: .LBB2_2: ; %tail
289+ ; DAGISEL12-NEXT: s_wait_alu 0xfffe
280290; DAGISEL12-NEXT: s_or_b32 exec_lo, exec_lo, s3
281291; DAGISEL12-NEXT: s_mov_b32 exec_lo, s5
282292; DAGISEL12-NEXT: s_wait_alu 0xfffe
@@ -289,6 +299,7 @@ define amdgpu_cs_chain void @phi_whole_struct(<3 x i32> inreg %sgpr, ptr inreg %
289299; GISEL10-NEXT: s_mov_b32 s6, s3
290300; GISEL10-NEXT: s_mov_b32 s7, s4
291301; GISEL10-NEXT: s_and_saveexec_b32 s3, s8
302+ ; GISEL10-NEXT: s_cbranch_execz .LBB2_2
292303; GISEL10-NEXT: ; %bb.1: ; %shader
293304; GISEL10-NEXT: s_or_saveexec_b32 s4, -1
294305; GISEL10-NEXT: v_cndmask_b32_e64 v0, 0x47, v12, s4
@@ -297,7 +308,7 @@ define amdgpu_cs_chain void @phi_whole_struct(<3 x i32> inreg %sgpr, ptr inreg %
297308; GISEL10-NEXT: s_mov_b32 exec_lo, s4
298309; GISEL10-NEXT: v_add_nc_u32_e32 v10, 42, v12
299310; GISEL10-NEXT: v_mov_b32_e32 v11, v0
300- ; GISEL10-NEXT: ; %bb.2 : ; %tail
311+ ; GISEL10-NEXT: .LBB2_2 : ; %tail
301312; GISEL10-NEXT: s_or_b32 exec_lo, exec_lo, s3
302313; GISEL10-NEXT: s_mov_b32 exec_lo, s5
303314; GISEL10-NEXT: s_setpc_b64 s[6:7]
@@ -309,14 +320,15 @@ define amdgpu_cs_chain void @phi_whole_struct(<3 x i32> inreg %sgpr, ptr inreg %
309320; DAGISEL10-NEXT: s_mov_b32 s7, s4
310321; DAGISEL10-NEXT: s_mov_b32 s6, s3
311322; DAGISEL10-NEXT: s_and_saveexec_b32 s3, s8
323+ ; DAGISEL10-NEXT: s_cbranch_execz .LBB2_2
312324; DAGISEL10-NEXT: ; %bb.1: ; %shader
313325; DAGISEL10-NEXT: s_or_saveexec_b32 s4, -1
314326; DAGISEL10-NEXT: v_cndmask_b32_e64 v0, 0x47, v12, s4
315327; DAGISEL10-NEXT: v_cmp_ne_u32_e64 s8, 0, v0
316328; DAGISEL10-NEXT: s_mov_b32 exec_lo, s4
317329; DAGISEL10-NEXT: v_add_nc_u32_e32 v10, 42, v12
318330; DAGISEL10-NEXT: v_mov_b32_e32 v11, s8
319- ; DAGISEL10-NEXT: ; %bb.2 : ; %tail
331+ ; DAGISEL10-NEXT: .LBB2_2 : ; %tail
320332; DAGISEL10-NEXT: s_or_b32 exec_lo, exec_lo, s3
321333; DAGISEL10-NEXT: s_mov_b32 exec_lo, s5
322334; DAGISEL10-NEXT: s_setpc_b64 s[6:7]
@@ -390,14 +402,16 @@ define amdgpu_cs_chain void @control_flow(<3 x i32> inreg %sgpr, ptr inreg %call
390402; GISEL12-NEXT: v_cmpx_lt_i32_e64 v12, v13
391403; GISEL12-NEXT: s_wait_alu 0xfffe
392404; GISEL12-NEXT: s_xor_b32 s3, exec_lo, s3
405+ ; GISEL12-NEXT: s_cbranch_execz .LBB3_6
393406; GISEL12-NEXT: ; %bb.5: ; %tail.else
394407; GISEL12-NEXT: s_or_saveexec_b32 s4, -1
395408; GISEL12-NEXT: v_mov_b32_e32 v0, 15
396409; GISEL12-NEXT: s_wait_alu 0xfffe
397410; GISEL12-NEXT: s_mov_b32 exec_lo, s4
398411; GISEL12-NEXT: s_delay_alu instid0(VALU_DEP_1)
399412; GISEL12-NEXT: v_mov_b32_e32 v8, v0
400- ; GISEL12-NEXT: ; %bb.6: ; %Flow
413+ ; GISEL12-NEXT: .LBB3_6: ; %Flow
414+ ; GISEL12-NEXT: s_wait_alu 0xfffe
401415; GISEL12-NEXT: s_and_not1_saveexec_b32 s3, s3
402416; GISEL12-NEXT: ; %bb.7: ; %tail.then
403417; GISEL12-NEXT: s_mov_b32 s4, 44
@@ -501,12 +515,13 @@ define amdgpu_cs_chain void @control_flow(<3 x i32> inreg %sgpr, ptr inreg %call
501515; GISEL10-NEXT: ; implicit-def: $vgpr8
502516; GISEL10-NEXT: v_cmpx_lt_i32_e64 v12, v13
503517; GISEL10-NEXT: s_xor_b32 s3, exec_lo, s3
518+ ; GISEL10-NEXT: s_cbranch_execz .LBB3_6
504519; GISEL10-NEXT: ; %bb.5: ; %tail.else
505520; GISEL10-NEXT: s_or_saveexec_b32 s4, -1
506521; GISEL10-NEXT: v_mov_b32_e32 v0, 15
507522; GISEL10-NEXT: s_mov_b32 exec_lo, s4
508523; GISEL10-NEXT: v_mov_b32_e32 v8, v0
509- ; GISEL10-NEXT: ; %bb.6 : ; %Flow
524+ ; GISEL10-NEXT: .LBB3_6 : ; %Flow
510525; GISEL10-NEXT: s_andn2_saveexec_b32 s3, s3
511526; GISEL10-NEXT: ; %bb.7: ; %tail.then
512527; GISEL10-NEXT: s_mov_b32 s4, 44
0 commit comments