diff --git a/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll b/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll --- a/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll +++ b/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll @@ -1171,7 +1171,7 @@ ; SI-NEXT: v_mul_f32_e32 v2, v0, v1 ; SI-NEXT: ; %bb.5: ; %export ; SI-NEXT: s_or_b64 exec, exec, s[0:1] -; SI-NEXT: exp mrt0 v2, v2, v2, v2 done compr vm +; SI-NEXT: exp mrt0 v2, v2, v2, v2 done vm ; SI-NEXT: s_endpgm ; SI-NEXT: BB14_6: ; SI-NEXT: s_mov_b64 exec, 0 @@ -1208,7 +1208,7 @@ ; GFX10-WAVE64-NEXT: v_mul_f32_e32 v2, v0, v1 ; GFX10-WAVE64-NEXT: ; %bb.5: ; %export ; GFX10-WAVE64-NEXT: s_or_b64 exec, exec, s[0:1] -; GFX10-WAVE64-NEXT: exp mrt0 v2, v2, v2, v2 done compr vm +; GFX10-WAVE64-NEXT: exp mrt0 v2, v2, v2, v2 done vm ; GFX10-WAVE64-NEXT: s_endpgm ; GFX10-WAVE64-NEXT: BB14_6: ; GFX10-WAVE64-NEXT: s_mov_b64 exec, 0 @@ -1245,7 +1245,7 @@ ; GFX10-WAVE32-NEXT: v_mul_f32_e32 v2, v0, v1 ; GFX10-WAVE32-NEXT: ; %bb.5: ; %export ; GFX10-WAVE32-NEXT: s_or_b32 exec_lo, exec_lo, s0 -; GFX10-WAVE32-NEXT: exp mrt0 v2, v2, v2, v2 done compr vm +; GFX10-WAVE32-NEXT: exp mrt0 v2, v2, v2, v2 done vm ; GFX10-WAVE32-NEXT: s_endpgm ; GFX10-WAVE32-NEXT: BB14_6: ; GFX10-WAVE32-NEXT: s_mov_b32 exec_lo, 0 @@ -1266,8 +1266,7 @@ export: %proxy = phi float [ undef, %kill ], [ %scale, %live ] - %proxyh = bitcast float %proxy to <2 x half> - call void @llvm.amdgcn.exp.compr.v2f16(i32 immarg 0, i32 immarg 15, <2 x half> %proxyh, <2 x half> %proxyh, i1 immarg true, i1 immarg true) #3 + call void @llvm.amdgcn.exp.f32(i32 immarg 0, i32 immarg 15, float %proxy, float %proxy, float %proxy, float %proxy, i1 immarg true, i1 immarg true) #3 ret void } @@ -1309,7 +1308,7 @@ ; SI-NEXT: BB15_6: ; %Flow ; SI-NEXT: s_or_b64 exec, exec, s[0:1] ; SI-NEXT: BB15_7: ; %._crit_edge -; SI-NEXT: exp mrt0 v2, v2, v0, v0 done compr vm +; SI-NEXT: exp mrt0 v2, v2, v0, v0 done vm ; SI-NEXT: s_endpgm ; SI-NEXT: BB15_8: ; SI-NEXT: s_mov_b64 exec, 0 @@ -1352,7 +1351,7 @@ ; GFX10-WAVE64-NEXT: BB15_6: ; %Flow ; GFX10-WAVE64-NEXT: s_or_b64 exec, exec, s[0:1] ; GFX10-WAVE64-NEXT: BB15_7: ; %._crit_edge -; GFX10-WAVE64-NEXT: exp mrt0 v2, v2, v0, v0 done compr vm +; GFX10-WAVE64-NEXT: exp mrt0 v2, v2, v0, v0 done vm ; GFX10-WAVE64-NEXT: s_endpgm ; GFX10-WAVE64-NEXT: BB15_8: ; GFX10-WAVE64-NEXT: s_mov_b64 exec, 0 @@ -1395,7 +1394,7 @@ ; GFX10-WAVE32-NEXT: BB15_6: ; %Flow ; GFX10-WAVE32-NEXT: s_or_b32 exec_lo, exec_lo, s0 ; GFX10-WAVE32-NEXT: BB15_7: ; %._crit_edge -; GFX10-WAVE32-NEXT: exp mrt0 v2, v2, v0, v0 done compr vm +; GFX10-WAVE32-NEXT: exp mrt0 v2, v2, v0, v0 done vm ; GFX10-WAVE32-NEXT: s_endpgm ; GFX10-WAVE32-NEXT: BB15_8: ; GFX10-WAVE32-NEXT: s_mov_b32 exec_lo, 0 @@ -1424,8 +1423,8 @@ ._crit_edge: %tmp = phi i32 [ -1, %.entry ], [ %ctr.next, %latch ] - %out = bitcast i32 %tmp to <2 x half> - call void @llvm.amdgcn.exp.compr.v2f16(i32 immarg 0, i32 immarg 15, <2 x half> %out, <2 x half> undef, i1 immarg true, i1 immarg true) + %out = bitcast i32 %tmp to float + call void @llvm.amdgcn.exp.f32(i32 immarg 0, i32 immarg 15, float %out, float %out, float undef, float undef, i1 immarg true, i1 immarg true) ret void } @@ -1479,7 +1478,7 @@ ret void } -declare void @llvm.amdgcn.exp.compr.v2f16(i32 immarg, i32 immarg, <2 x half>, <2 x half>, i1 immarg, i1 immarg) #3 +declare void @llvm.amdgcn.exp.f32(i32 immarg, i32 immarg, float, float, float, float, i1 immarg, i1 immarg) #3 declare float @llvm.amdgcn.image.sample.l.2darray.f32.f32(i32 immarg, float, float, float, float, <8 x i32>, <4 x i32>, i1 immarg, i32 immarg, i32 immarg) #1 declare <4 x float> @llvm.amdgcn.image.sample.c.1d.v4f32.f32(i32, float, float, <8 x i32>, <4 x i32>, i1, i32, i32) #1 declare void @llvm.amdgcn.kill(i1) #0