Correct a previous patch which broke CodeGen/PowerPC/vec_call.ll
authorChris Lattner <sabre@nondot.org>
Wed, 17 May 2006 20:43:21 +0000 (20:43 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 17 May 2006 20:43:21 +0000 (20:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28364 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

index e1d4d8e1e6dae3e6e55d1d028fb041b3ac832fe9..517b760854dd38ac2421475b4a65431efe5ef343 100644 (file)
@@ -2551,25 +2551,12 @@ TargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, bool isVarArg,
         
         // Figure out if there is a Packed type corresponding to this Vector
         // type.  If so, convert to the packed type.
-        bool Supported = false;
         MVT::ValueType TVT = MVT::getVectorType(getValueType(EltTy), NumElems);
-        if (TVT != MVT::Other) {
-          // Handle copies from generic vectors to registers.
-          MVT::ValueType PTyElementVT, PTyLegalElementVT;
-          unsigned NE = getPackedTypeBreakdown(PTy, PTyElementVT,
-                                               PTyLegalElementVT);
-          // FIXME: handle NE > 1 cases.
-          if (NE == 1) {
-            // Insert a VBIT_CONVERT of the MVT::Vector type to the packed type.
-            Op = DAG.getNode(ISD::VBIT_CONVERT, MVT::Vector, Op,
-                             DAG.getConstant(NumElems, MVT::i32), 
-                             DAG.getValueType(getValueType(EltTy)));
-            Ops.push_back(Op);
-            Supported = true;
-          }
-        }
-
-        if (!Supported) {
+        if (TVT != MVT::Other && isTypeLegal(TVT)) {
+          // Insert a VBIT_CONVERT of the MVT::Vector type to the packed type.
+          Op = DAG.getNode(ISD::VBIT_CONVERT, TVT, Op);
+          Ops.push_back(Op);
+        } else {
           assert(0 && "Don't support illegal by-val vector call args yet!");
           abort();
         }