summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2018-10-05 21:44:19 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2018-10-05 21:44:19 +0000
commitdc97118efe3135cdaa4aa697e9f92ca6ea294fd3 (patch)
tree5278f0dcd6fb94aa37a543e800b675a73f43b873 /llvm/lib/Target
parent8c46668b6e0715bd20980b6bb9169359c0811621 (diff)
downloadbcm5719-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/Target')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp3
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,
OpenPOWER on IntegriCloud