@@ -50,8 +50,8 @@ if.end:
5050 ret void
5151}
5252
53- define void @uniform_br_unprofitable (i32 noundef inreg %value , ptr addrspace (8 ) nocapture writeonly inreg %res , i32 noundef inreg %v_offset , i32 noundef inreg %0 , i32 noundef inreg %flag ) {
54- ; GFX9-LABEL: uniform_br_unprofitable :
53+ define void @uniform_br_same_weight (i32 noundef inreg %value , ptr addrspace (8 ) nocapture writeonly inreg %res , i32 noundef inreg %v_offset , i32 noundef inreg %0 , i32 noundef inreg %flag ) {
54+ ; GFX9-LABEL: uniform_br_same_weight :
5555; GFX9: ; %bb.0: ; %entry
5656; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
5757; GFX9-NEXT: s_cmp_lt_i32 s23, 1
@@ -68,7 +68,7 @@ define void @uniform_br_unprofitable(i32 noundef inreg %value, ptr addrspace(8)
6868; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
6969; GFX9-NEXT: s_setpc_b64 s[30:31]
7070;
71- ; GFX10-LABEL: uniform_br_unprofitable :
71+ ; GFX10-LABEL: uniform_br_same_weight :
7272; GFX10: ; %bb.0: ; %entry
7373; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
7474; GFX10-NEXT: s_cmp_lt_i32 s23, 1
@@ -97,8 +97,8 @@ if.end:
9797 ret void
9898}
9999
100- define void @uniform_br_profitable (i32 noundef inreg %value , ptr addrspace (8 ) nocapture writeonly inreg %res , i32 noundef inreg %v_offset , i32 noundef inreg %0 , i32 noundef inreg %flag ) {
101- ; GFX9-LABEL: uniform_br_profitable :
100+ define void @uniform_br_then_likely (i32 noundef inreg %value , ptr addrspace (8 ) nocapture writeonly inreg %res , i32 noundef inreg %v_offset , i32 noundef inreg %0 , i32 noundef inreg %flag ) {
101+ ; GFX9-LABEL: uniform_br_then_likely :
102102; GFX9: ; %bb.0: ; %entry
103103; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
104104; GFX9-NEXT: s_cmp_lt_i32 s23, 1
@@ -115,7 +115,7 @@ define void @uniform_br_profitable(i32 noundef inreg %value, ptr addrspace(8) no
115115; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
116116; GFX9-NEXT: s_setpc_b64 s[30:31]
117117;
118- ; GFX10-LABEL: uniform_br_profitable :
118+ ; GFX10-LABEL: uniform_br_then_likely :
119119; GFX10: ; %bb.0: ; %entry
120120; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
121121; GFX10-NEXT: s_cmp_lt_i32 s23, 1
@@ -215,8 +215,8 @@ if.end:
215215 ret void
216216}
217217
218- define void @divergent_br_unprofitable (i32 noundef inreg %value , ptr addrspace (8 ) nocapture writeonly inreg %res , i32 noundef inreg %v_offset , i32 noundef inreg %0 , i32 noundef %flag ) {
219- ; GFX9-LABEL: divergent_br_unprofitable :
218+ define void @divergent_br_same_weight (i32 noundef inreg %value , ptr addrspace (8 ) nocapture writeonly inreg %res , i32 noundef inreg %v_offset , i32 noundef inreg %0 , i32 noundef %flag ) {
219+ ; GFX9-LABEL: divergent_br_same_weight :
220220; GFX9: ; %bb.0: ; %entry
221221; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
222222; GFX9-NEXT: v_cmp_lt_i32_e32 vcc, 0, v0
@@ -235,7 +235,7 @@ define void @divergent_br_unprofitable(i32 noundef inreg %value, ptr addrspace(8
235235; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
236236; GFX9-NEXT: s_setpc_b64 s[30:31]
237237;
238- ; GFX1010-LABEL: divergent_br_unprofitable :
238+ ; GFX1010-LABEL: divergent_br_same_weight :
239239; GFX1010: ; %bb.0: ; %entry
240240; GFX1010-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
241241; GFX1010-NEXT: v_cmp_lt_i32_e32 vcc_lo, 0, v0
@@ -255,7 +255,7 @@ define void @divergent_br_unprofitable(i32 noundef inreg %value, ptr addrspace(8
255255; GFX1010-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
256256; GFX1010-NEXT: s_setpc_b64 s[30:31]
257257;
258- ; GFX1030-LABEL: divergent_br_unprofitable :
258+ ; GFX1030-LABEL: divergent_br_same_weight :
259259; GFX1030: ; %bb.0: ; %entry
260260; GFX1030-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
261261; GFX1030-NEXT: s_mov_b32 s8, exec_lo
@@ -286,8 +286,8 @@ if.end:
286286 ret void
287287}
288288
289- define void @divergent_br_profitable (i32 noundef inreg %value , ptr addrspace (8 ) nocapture writeonly inreg %res , i32 noundef inreg %v_offset , i32 noundef inreg %0 , i32 noundef %flag ) {
290- ; GFX9-LABEL: divergent_br_profitable :
289+ define void @divergent_br_then_likely (i32 noundef inreg %value , ptr addrspace (8 ) nocapture writeonly inreg %res , i32 noundef inreg %v_offset , i32 noundef inreg %0 , i32 noundef %flag ) {
290+ ; GFX9-LABEL: divergent_br_then_likely :
291291; GFX9: ; %bb.0: ; %entry
292292; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
293293; GFX9-NEXT: v_cmp_lt_i32_e32 vcc, 0, v0
@@ -305,7 +305,7 @@ define void @divergent_br_profitable(i32 noundef inreg %value, ptr addrspace(8)
305305; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
306306; GFX9-NEXT: s_setpc_b64 s[30:31]
307307;
308- ; GFX1010-LABEL: divergent_br_profitable :
308+ ; GFX1010-LABEL: divergent_br_then_likely :
309309; GFX1010: ; %bb.0: ; %entry
310310; GFX1010-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
311311; GFX1010-NEXT: v_cmp_lt_i32_e32 vcc_lo, 0, v0
@@ -324,7 +324,7 @@ define void @divergent_br_profitable(i32 noundef inreg %value, ptr addrspace(8)
324324; GFX1010-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
325325; GFX1010-NEXT: s_setpc_b64 s[30:31]
326326;
327- ; GFX1030-LABEL: divergent_br_profitable :
327+ ; GFX1030-LABEL: divergent_br_then_likely :
328328; GFX1030: ; %bb.0: ; %entry
329329; GFX1030-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
330330; GFX1030-NEXT: s_mov_b32 s8, exec_lo
0 commit comments