Index: lib/CodeGen/TargetLoweringBase.cpp
===================================================================
--- lib/CodeGen/TargetLoweringBase.cpp
+++ lib/CodeGen/TargetLoweringBase.cpp
@@ -1179,8 +1179,11 @@
       if (NVT == VT) {
         // Type is already a power of 2.  The default action is to split.
         TransformToType[i] = MVT::Other;
-        if (PreferredAction == TypeScalarizeVector)
+        if (   PreferredAction == TypeScalarizeVector
+            || VT.getVectorNumElements() == 1)
+        {
           ValueTypeActions.setTypeAction(VT, TypeScalarizeVector);
+        }
         else
           ValueTypeActions.setTypeAction(VT, TypeSplitVector);
       } else {