Fix a problem fully scalarizing values.
authorChris Lattner <sabre@nondot.org>
Thu, 16 Mar 2006 23:05:19 +0000 (23:05 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 16 Mar 2006 23:05:19 +0000 (23:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26811 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

index 2f760f65690875a19e2d6e814309c3b35fdce8da..0e2b7c183c292c157e0ff45e5dcc5b6033966fe3 100644 (file)
@@ -293,7 +293,10 @@ unsigned FunctionLoweringInfo::CreateRegForValue(const Value *V) {
       NumElts >>= 1;
       NumVectorRegs <<= 1;
     }
-    VT = getVectorType(EltTy, NumElts);
+    if (NumElts == 1)
+      VT = EltTy;
+    else
+      VT = getVectorType(EltTy, NumElts);
   }
   
   // The common case is that we will only create one register for this