diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-10-05 21:44:19 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-10-05 21:44:19 +0000 |
commit | dc97118efe3135cdaa4aa697e9f92ca6ea294fd3 (patch) | |
tree | 5278f0dcd6fb94aa37a543e800b675a73f43b873 /llvm/lib | |
parent | 8c46668b6e0715bd20980b6bb9169359c0811621 (diff) | |
download | bcm5719-llvm-dc97118efe3135cdaa4aa697e9f92ca6ea294fd3.tar.gz bcm5719-llvm-dc97118efe3135cdaa4aa697e9f92ca6ea294fd3.zip |
[X86][AVX] Limit getFauxShuffleMask INSERT_SUBVECTOR support to 2 inputs
rL343853 didn't limit the number of subinputs, but we don't currently support faux shuffles with more than 2 total inputs, so put a limiter in place until this is fixed.
Found by Artem Dergachev.
llvm-svn: 343891
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index f63fd3e0463..4a6d16f02b3 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -6414,7 +6414,8 @@ static bool getFauxShuffleMask(SDValue N, SmallVectorImpl<int> &Mask, 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, |