diff --git a/llvm/lib/Target/PowerPC/PPCInstrVSX.td b/llvm/lib/Target/PowerPC/PPCInstrVSX.td --- a/llvm/lib/Target/PowerPC/PPCInstrVSX.td +++ b/llvm/lib/Target/PowerPC/PPCInstrVSX.td @@ -2962,7 +2962,7 @@ def : Pat; def : Pat; + (v2f64 (XVCVSXWDP (XXSLDWI $A, $A, 1)))>; def : Pat; def : Pat @sint_to_fp_widen13(<4 x i32> %a) { ; P9BE-LABEL: sint_to_fp_widen13: ; P9BE: # %bb.0: # %entry -; P9BE-NEXT: xxsldwi vs0, v2, v2, 3 +; P9BE-NEXT: xxsldwi vs0, v2, v2, 1 ; P9BE-NEXT: xvcvsxwdp v2, vs0 ; P9BE-NEXT: blr ; @@ -6171,7 +6171,7 @@ ; ; P8BE-LABEL: sint_to_fp_widen13: ; P8BE: # %bb.0: # %entry -; P8BE-NEXT: xxsldwi vs0, v2, v2, 3 +; P8BE-NEXT: xxsldwi vs0, v2, v2, 1 ; P8BE-NEXT: xvcvsxwdp v2, vs0 ; P8BE-NEXT: blr ;