summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86ISelLowering.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-01-31 13:58:01 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-01-31 13:58:01 +0000
commit4eab18f6b8b53c4d6fc5aeb2b9bbec3efbb76a04 (patch)
tree0a6754cbd7e4e5386c18f0288d84100f8d34f6e1 /llvm/lib/Target/X86/X86ISelLowering.cpp
parentc29eab52e886b361fbb319b56e95cf328e55ccd4 (diff)
downloadbcm5719-llvm-4eab18f6b8b53c4d6fc5aeb2b9bbec3efbb76a04.tar.gz
bcm5719-llvm-4eab18f6b8b53c4d6fc5aeb2b9bbec3efbb76a04.zip
[X86][SSE] Detect unary PBLEND shuffles.
These can appear during shuffle combining. llvm-svn: 293628
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 6b235d08ce3..f1d6c704017 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -5397,6 +5397,7 @@ static bool getTargetShuffleMask(SDNode *N, MVT VT, bool AllowSentinelZero,
case X86ISD::BLENDI:
ImmN = N->getOperand(N->getNumOperands()-1);
DecodeBLENDMask(VT, cast<ConstantSDNode>(ImmN)->getZExtValue(), Mask);
+ IsUnary = IsFakeUnary = N->getOperand(0) == N->getOperand(1);
break;
case X86ISD::SHUFP:
ImmN = N->getOperand(N->getNumOperands()-1);
OpenPOWER on IntegriCloud