summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index dd37010cbd8..bfd8c89599b 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -6325,9 +6325,6 @@ static bool getFauxShuffleMask(SDValue N, SmallVectorImpl<int> &Mask,
if (!resolveTargetShuffleInputs(N0, SrcInputs0, SrcMask0, DAG) ||
!resolveTargetShuffleInputs(N1, SrcInputs1, SrcMask1, DAG))
return false;
- // TODO - Add support for more than 2 inputs.
- if ((SrcInputs0.size() + SrcInputs1.size()) > 2)
- return false;
int MaskSize = std::max(SrcMask0.size(), SrcMask1.size());
SmallVector<int, 64> Mask0, Mask1;
scaleShuffleMask<int>(MaskSize / SrcMask0.size(), SrcMask0, Mask0);
@@ -6387,8 +6384,7 @@ static bool getFauxShuffleMask(SDValue N, SmallVectorImpl<int> &Mask,
Mask[i + InsertIdx] = (NumElts * (1 + InputIdx)) + ExtractIdx + M;
}
}
- // TODO - Add support for more than 1 subinput.
- return Ops.size() <= 2;
+ return true;
}
case ISD::SCALAR_TO_VECTOR: {
// Match against a scalar_to_vector of an extract from a vector,
@@ -6581,7 +6577,7 @@ static bool resolveTargetShuffleInputs(SDValue Op,
return false;
resolveTargetShuffleInputsAndMask(Inputs, Mask);
- return true;
+ return Inputs.size() <= 2;
}
/// Returns the scalar element that will make up the ith
OpenPOWER on IntegriCloud