Temporary fix for the self-host failures introduced by rL244921.
authorNemanja Ivanovic <nemanja.i.ibm@gmail.com>
Wed, 19 Aug 2015 19:04:47 +0000 (19:04 +0000)
committerNemanja Ivanovic <nemanja.i.ibm@gmail.com>
Wed, 19 Aug 2015 19:04:47 +0000 (19:04 +0000)
This revision has introduced an issue that only affects bootstrapped compiler
when it is printing the ASM. I am working on resolving the issue, but in the
meantime, I'm disabling the legalization of scalar_to_vector operation for v2i64
and the associated testing until I can get this fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245481 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelLowering.cpp
test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll
test/CodeGen/PowerPC/vsx.ll

index 503f01f..173269c 100644 (file)
@@ -548,7 +548,8 @@ PPCTargetLowering::PPCTargetLowering(const PPCTargetMachine &TM,
         setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v16i8, Legal);
         setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v8i16, Legal);
         setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v4i32, Legal);
-        setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v2i64, Legal);
+        // FIXME: this is causing bootstrap failures, disable temporarily
+        //setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v2i64, Legal);
       }
       setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f64, Legal);
 
index 535ddf4..01edab0 100644 (file)
@@ -59,9 +59,9 @@ entry:
   %splat.splatinsert = insertelement <2 x i64> undef, i64 %0, i32 0
   %splat.splat = shufflevector <2 x i64> %splat.splatinsert, <2 x i64> undef, <2 x i32> zeroinitializer
   ret <2 x i64> %splat.splat
-; CHECK: mtvsrd {{[0-9]+}}, 3
-; CHECK-LE: mtvsrd [[REG1:[0-9]+]], 3
-; CHECK-LE: xxswapd {{[0-9]+}}, [[REG1]]
+; FIXME-CHECK: mtvsrd {{[0-9]+}}, 3
+; FIXME-CHECK-LE: mtvsrd [[REG1:[0-9]+]], 3
+; FIXME-CHECK-LE: xxswapd {{[0-9]+}}, [[REG1]]
 }
 
 ; Function Attrs: nounwind
index b4b1d24..3820e19 100644 (file)
@@ -1226,14 +1226,14 @@ define <2 x i32> @test80(i32 %v) {
 ; CHECK-FISL: blr
 
 ; CHECK-LE-LABEL: @test80
-; CHECK-LE-DAG: mtvsrd [[R1:[0-9]+]], 3
-; CHECK-LE-DAG: addi [[R2:[0-9]+]], {{[0-9]+}}, .LCPI
-; CHECK-LE-DAG: xxswapd [[V1:[0-9]+]], [[R1]]
-; CHECK-LE-DAG: lxvd2x [[V2:[0-9]+]], 0, [[R2]]
-; CHECK-LE-DAG: xxspltd 34, [[V1]]
-; CHECK-LE-DAG: xxswapd 35, [[V2]]
-; CHECK-LE: vaddudm 2, 2, 3
-; CHECK-LE: blr
+; FIXME-CHECK-LE-DAG: mtvsrd [[R1:[0-9]+]], 3
+; FIXME-CHECK-LE-DAG: addi [[R2:[0-9]+]], {{[0-9]+}}, .LCPI
+; FIXME-CHECK-LE-DAG: xxswapd [[V1:[0-9]+]], [[R1]]
+; FIXME-CHECK-LE-DAG: lxvd2x [[V2:[0-9]+]], 0, [[R2]]
+; FIXME-CHECK-LE-DAG: xxspltd 34, [[V1]]
+; FIXME-CHECK-LE-DAG: xxswapd 35, [[V2]]
+; FIXME-CHECK-LE: vaddudm 2, 2, 3
+; FIXME-CHECK-LE: blr
 }
 
 define <2 x double> @test81(<4 x float> %b) {