[llvm] r345451 - Revert rL345395: [X86][SSE] Move 2-input limit up from getFauxShuffleMask to resolveTargetShuffleInputs
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 27 00:10:48 PDT 2018
Author: rksimon
Date: Sat Oct 27 00:10:48 2018
New Revision: 345451
URL: http://llvm.org/viewvc/llvm-project?rev=345451&view=rev
Log:
Revert rL345395: [X86][SSE] Move 2-input limit up from getFauxShuffleMask to resolveTargetShuffleInputs
Makes no difference to actual shuffle decoding yet, but merges all the existing limits in one place for when proper support is fixed.
........
Its been reported that this is causing out of trunk failures.
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=345451&r1=345450&r2=345451&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sat Oct 27 00:10:48 2018
@@ -6325,6 +6325,9 @@ static bool getFauxShuffleMask(SDValue N
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);
@@ -6384,7 +6387,8 @@ static bool getFauxShuffleMask(SDValue N
Mask[i + InsertIdx] = (NumElts * (1 + InputIdx)) + ExtractIdx + M;
}
}
- return true;
+ // TODO - Add support for more than 1 subinput.
+ return Ops.size() <= 2;
}
case ISD::SCALAR_TO_VECTOR: {
// Match against a scalar_to_vector of an extract from a vector,
@@ -6577,7 +6581,7 @@ static bool resolveTargetShuffleInputs(S
return false;
resolveTargetShuffleInputsAndMask(Inputs, Mask);
- return Inputs.size() <= 2;
+ return true;
}
/// Returns the scalar element that will make up the ith
More information about the llvm-commits
mailing list