diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-01-31 13:58:01 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-01-31 13:58:01 +0000 |
commit | 4eab18f6b8b53c4d6fc5aeb2b9bbec3efbb76a04 (patch) | |
tree | 0a6754cbd7e4e5386c18f0288d84100f8d34f6e1 /llvm/lib/Target/X86/X86ISelLowering.cpp | |
parent | c29eab52e886b361fbb319b56e95cf328e55ccd4 (diff) | |
download | bcm5719-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.cpp | 1 |
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); |