Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/PowerPC/vec_conv_i16_to_fp64_elts.ll
Show All 18 Lines | |||||
; CHECK-P8-NEXT: lxvd2x vs0, 0, r4 | ; CHECK-P8-NEXT: lxvd2x vs0, 0, r4 | ||||
; CHECK-P8-NEXT: xxswapd v3, vs0 | ; CHECK-P8-NEXT: xxswapd v3, vs0 | ||||
; CHECK-P8-NEXT: vperm v2, v4, v2, v3 | ; CHECK-P8-NEXT: vperm v2, v4, v2, v3 | ||||
; CHECK-P8-NEXT: xvcvuxddp v2, v2 | ; CHECK-P8-NEXT: xvcvuxddp v2, v2 | ||||
; CHECK-P8-NEXT: blr | ; CHECK-P8-NEXT: blr | ||||
; | ; | ||||
; CHECK-P9-LABEL: test2elt: | ; CHECK-P9-LABEL: test2elt: | ||||
; CHECK-P9: # %bb.0: # %entry | ; CHECK-P9: # %bb.0: # %entry | ||||
; CHECK-P9-NEXT: mtfprwz f1, r3 | ; CHECK-P9-NEXT: mtfprwz f0, r3 | ||||
; CHECK-P9-NEXT: addis r3, r2, .LCPI0_0@toc@ha | ; CHECK-P9-NEXT: addis r3, r2, .LCPI0_0@toc@ha | ||||
; CHECK-P9-NEXT: xxlxor vs0, vs0, vs0 | ; CHECK-P9-NEXT: xxlxor vs2, vs2, vs2 | ||||
; CHECK-P9-NEXT: addi r3, r3, .LCPI0_0@toc@l | ; CHECK-P9-NEXT: addi r3, r3, .LCPI0_0@toc@l | ||||
; CHECK-P9-NEXT: lxv vs2, 0(r3) | ; CHECK-P9-NEXT: lxv vs1, 0(r3) | ||||
; CHECK-P9-NEXT: xxperm vs1, vs0, vs2 | ; CHECK-P9-NEXT: xxperm vs0, vs2, vs1 | ||||
; CHECK-P9-NEXT: xvcvuxddp v2, vs1 | ; CHECK-P9-NEXT: xvcvuxddp v2, vs0 | ||||
; CHECK-P9-NEXT: blr | ; CHECK-P9-NEXT: blr | ||||
; | ; | ||||
; CHECK-BE-LABEL: test2elt: | ; CHECK-BE-LABEL: test2elt: | ||||
; CHECK-BE: # %bb.0: # %entry | ; CHECK-BE: # %bb.0: # %entry | ||||
; CHECK-BE-NEXT: mtfprwz f1, r3 | ; CHECK-BE-NEXT: mtfprwz f0, r3 | ||||
; CHECK-BE-NEXT: addis r3, r2, .LCPI0_0@toc@ha | ; CHECK-BE-NEXT: addis r3, r2, .LCPI0_0@toc@ha | ||||
; CHECK-BE-NEXT: xxlxor vs0, vs0, vs0 | ; CHECK-BE-NEXT: xxlxor vs2, vs2, vs2 | ||||
; CHECK-BE-NEXT: addi r3, r3, .LCPI0_0@toc@l | ; CHECK-BE-NEXT: addi r3, r3, .LCPI0_0@toc@l | ||||
; CHECK-BE-NEXT: lxv vs2, 0(r3) | ; CHECK-BE-NEXT: lxv vs1, 0(r3) | ||||
; CHECK-BE-NEXT: xxperm vs1, vs0, vs2 | ; CHECK-BE-NEXT: xxperm vs0, vs2, vs1 | ||||
; CHECK-BE-NEXT: xvcvuxddp v2, vs1 | ; CHECK-BE-NEXT: xvcvuxddp v2, vs0 | ||||
; CHECK-BE-NEXT: blr | ; CHECK-BE-NEXT: blr | ||||
entry: | entry: | ||||
%0 = bitcast i32 %a.coerce to <2 x i16> | %0 = bitcast i32 %a.coerce to <2 x i16> | ||||
%1 = uitofp <2 x i16> %0 to <2 x double> | %1 = uitofp <2 x i16> %0 to <2 x double> | ||||
ret <2 x double> %1 | ret <2 x double> %1 | ||||
} | } | ||||
define void @test4elt(ptr noalias nocapture sret(<4 x double>) %agg.result, i64 %a.coerce) local_unnamed_addr #1 { | define void @test4elt(ptr noalias nocapture sret(<4 x double>) %agg.result, i64 %a.coerce) local_unnamed_addr #1 { | ||||
▲ Show 20 Lines • Show All 756 Lines • Show Last 20 Lines |