Fix weirdness handling single element vectors.
authorChris Lattner <sabre@nondot.org>
Thu, 12 Apr 2007 04:44:28 +0000 (04:44 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 12 Apr 2007 04:44:28 +0000 (04:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35941 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/TargetLowering.cpp

index f1cd9a58a2fa1aee8e35861e4e78824a891f3cda..d72c6eb01d4ef190117432ea0b938ce29e10bd60 100644 (file)
@@ -303,12 +303,9 @@ unsigned TargetLowering::getVectorTypeBreakdown(const VectorType *PTy,
     NumVectorRegs <<= 1;
   }
   
-  MVT::ValueType VT;
-  if (NumElts == 1) {
+  MVT::ValueType VT = getVectorType(EltTy, NumElts);
+  if (!isTypeLegal(VT))
     VT = EltTy;
-  } else {
-    VT = getVectorType(EltTy, NumElts); 
-  }
   PTyElementVT = VT;
 
   MVT::ValueType DestVT = getTypeToTransformTo(VT);