Fix an issue where we tried to turn a v2f32 build_vector into a v4i32 build vector...
authorNate Begeman <natebegeman@mac.com>
Wed, 10 Nov 2010 21:35:41 +0000 (21:35 +0000)
committerNate Begeman <natebegeman@mac.com>
Wed, 10 Nov 2010 21:35:41 +0000 (21:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118720 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMISelLowering.cpp

index 420b5b56c33f6df373d145bf3753cd6c089481a4..ca0bca4445a413edb9c0f7a8d6266a4251c7a986 100644 (file)
@@ -3546,8 +3546,8 @@ static SDValue LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG,
       for (unsigned i = 0; i < NumElts; ++i)
         Ops.push_back(DAG.getNode(ISD::BIT_CONVERT, dl, MVT::i32,
                                   Op.getOperand(i)));
-      SDValue Val = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, &Ops[0],
-                                NumElts);
+      EVT VecVT = EVT::getVectorVT(*DAG.getContext(), MVT::i32, NumElts);
+      SDValue Val = DAG.getNode(ISD::BUILD_VECTOR, dl, VecVT, &Ops[0], NumElts);
       Val = LowerBUILD_VECTOR(Val, DAG, ST);
       if (Val.getNode())
         return DAG.getNode(ISD::BIT_CONVERT, dl, VT, Val);