@@ -13,18 +13,10 @@ define amdgpu_kernel void @foobar(float %a0, float %a1, float addrspace(1)* %out
1313; CHECK-NEXT: v_cmp_eq_u32_e32 vcc, 0, v0
1414; CHECK-NEXT: s_mov_b32 s2, -1
1515; CHECK-NEXT: s_waitcnt lgkmcnt(0)
16-
17- ; FIXME: The change related to the fact that
18- ; DetectDeadLanes pass hit "Copy across incompatible class" SGPR -> VGPR in analysis
19- ; and hence it cannot derive the fact that the vector element is unused.
20- ; Such a copies appear because the float4 vectors and their elements in the test are uniform
21- ; but the PHI node in "ife" block is divergent because of the CF dependency (divergent branch in bb0)
22-
2316; CHECK-NEXT: v_mov_b32_e32 v0, s4
2417; CHECK-NEXT: v_mov_b32_e32 v1, s5
2518; CHECK-NEXT: v_mov_b32_e32 v2, s6
2619; CHECK-NEXT: v_mov_b32_e32 v3, s7
27-
2820; CHECK-NEXT: s_and_saveexec_b64 s[6:7], vcc
2921; CHECK-NEXT: ; mask branch BB0_2
3022; CHECK-NEXT: BB0_1: ; %ift
@@ -38,6 +30,12 @@ define amdgpu_kernel void @foobar(float %a0, float %a1, float addrspace(1)* %out
3830; CHECK-NEXT: s_mov_b32 s3, 0xf000
3931; CHECK-NEXT: buffer_store_dword v1, off, s[0:3], 0
4032; CHECK-NEXT: s_endpgm
33+
34+ ; FIXME: The change related to the fact that
35+ ; DetectDeadLanes pass hit "Copy across incompatible class" SGPR -> VGPR in analysis
36+ ; and hence it cannot derive the fact that the vector element in the "ift" block is unused.
37+ ; Such a copies appear because the float4 vectors and their elements in the test are uniform
38+ ; but the PHI node in "ife" block is divergent because of the CF dependency (divergent branch in bb0)
4139entry:
4240 %v0 = insertelement <4 x float > undef , float %a0 , i32 0
4341 %tid = call i32 @llvm.amdgcn.mbcnt.lo (i32 -1 , i32 0 ) #0
0 commit comments