Fix a bug in getCopyFromParts turned up in the testcase for PR1132.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40598 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index ce09eb4..39535f1 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -695,9 +695,9 @@
   } else if (NumParts > 0) {
     // If the intermediate type was expanded, build the intermediate operands
     // from the parts.
-    assert(NumIntermediates % NumParts == 0 &&
+    assert(NumParts % NumIntermediates == 0 &&
            "Must expand into a divisible number of parts!");
-    unsigned Factor = NumIntermediates / NumParts;
+    unsigned Factor = NumParts / NumIntermediates;
     for (unsigned i = 0; i != NumIntermediates; ++i)
       Ops[i] = getCopyFromParts(DAG, &Parts[i * Factor], Factor,
                                 PartVT, IntermediateVT);
@@ -708,7 +708,7 @@
   return DAG.getNode(MVT::isVector(IntermediateVT) ?
                        ISD::CONCAT_VECTORS :
                        ISD::BUILD_VECTOR,
-                     ValueVT, &Ops[0], NumParts);
+                     ValueVT, &Ops[0], NumIntermediates);
 }
 
 /// getCopyToParts - Create a series of nodes that contain the