summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2018-10-06 17:18:41 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2018-10-06 17:18:41 +0000
commita30e8d23e2ae617d3172387129b4286b9c672f05 (patch)
tree7b5de68ccabed9d0cd53b0531acdb87bb40212fe /llvm/lib
parentb9f72a5a60147c0352c9bffae039d9330ad18ccb (diff)
downloadbcm5719-llvm-a30e8d23e2ae617d3172387129b4286b9c672f05.tar.gz
bcm5719-llvm-a30e8d23e2ae617d3172387129b4286b9c672f05.zip
[X86][AVX] Ensure resolveTargetShuffleInputs shuffle masks are the correct width
Don't handle ZERO_EXTEND style shuffles until we support bitcasts. Found by inspection. llvm-svn: 343924
Diffstat (limited to 'llvm/lib')
-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 e113dbc6760..6ea5ee15d02 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -6393,7 +6393,8 @@ static bool getFauxShuffleMask(SDValue N, SmallVectorImpl<int> &Mask,
return false;
SmallVector<int, 64> SubMask;
SmallVector<SDValue, 2> SubInputs;
- if (!resolveTargetShuffleInputs(Sub, SubInputs, SubMask, DAG))
+ if (!resolveTargetShuffleInputs(Sub, SubInputs, SubMask, DAG) ||
+ SubMask.size() != NumSubElts)
return false;
Ops.push_back(Src);
for (SDValue &SubInput : SubInputs) {
OpenPOWER on IntegriCloud