[X86][SSE] Move number of input limit out of resolveTargetShuffleInputs.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 16 Nov 2018 15:01:05 +0000 (15:01 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 16 Nov 2018 15:01:05 +0000 (15:01 +0000)
Only combineX86ShufflesRecursively needs this limit.

llvm-svn: 347054

llvm/lib/Target/X86/X86ISelLowering.cpp

index 703747b..ab5cb59 100644 (file)
@@ -6627,8 +6627,7 @@ static bool resolveTargetShuffleInputs(SDValue Op,
       return false;
 
   resolveTargetShuffleInputsAndMask(Inputs, Mask);
-  // TODO - Add support for more than 2 inputs.
-  return Inputs.size() <= 2;
+  return true;
 }
 
 /// Returns the scalar element that will make up the ith
@@ -31005,7 +31004,10 @@ static SDValue combineX86ShufflesRecursively(
   if (!resolveTargetShuffleInputs(Op, OpInputs, OpMask, DAG))
     return SDValue();
 
-  assert(OpInputs.size() <= 2 && "Too many shuffle inputs");
+  // TODO - Add support for more than 2 inputs.
+  if (2 < OpInputs.size())
+    return SDValue();
+
   SDValue Input0 = (OpInputs.size() > 0 ? OpInputs[0] : SDValue());
   SDValue Input1 = (OpInputs.size() > 1 ? OpInputs[1] : SDValue());