summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86ISelLowering.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-07-04 18:11:02 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-07-04 18:11:02 +0000
commitac3e7f3f57f143514d13263889ca655185ea2e3c (patch)
treeac7f4f02f5024e801c4e9a4cbe91bff4cdac196b /llvm/lib/Target/X86/X86ISelLowering.cpp
parentf809c5f11ccd5bb245d1dd1cb3ea9e87c9bd1f69 (diff)
downloadbcm5719-llvm-ac3e7f3f57f143514d13263889ca655185ea2e3c.tar.gz
bcm5719-llvm-ac3e7f3f57f143514d13263889ca655185ea2e3c.zip
[X86][SSE4A] Add support for combining from non-v16i8 EXTRQI/INSERTQI shuffles
With the improved shuffle decoding we can now combine EXTRQI/INSERTQI shuffles from non-v16i8 vector types llvm-svn: 307099
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 5fefaf4b644..12adb70f4af 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -5557,7 +5557,7 @@ static bool getTargetShuffleMask(SDNode *N, MVT VT, bool AllowSentinelZero,
IsUnary = IsFakeUnary = N->getOperand(0) == N->getOperand(1);
break;
case X86ISD::EXTRQI:
- if (VT == MVT::v16i8 && isa<ConstantSDNode>(N->getOperand(1)) &&
+ if (isa<ConstantSDNode>(N->getOperand(1)) &&
isa<ConstantSDNode>(N->getOperand(2))) {
int BitLen = N->getConstantOperandVal(1);
int BitIdx = N->getConstantOperandVal(2);
@@ -5566,8 +5566,8 @@ static bool getTargetShuffleMask(SDNode *N, MVT VT, bool AllowSentinelZero,
}
break;
case X86ISD::INSERTQI:
- if (VT == MVT::v16i8 && isa<ConstantSDNode>(N->getOperand(2)) &&
- isa<ConstantSDNode>(N->getOperand(3))) {
+ if (isa<ConstantSDNode>(N->getOperand(2)) &&
+ isa<ConstantSDNode>(N->getOperand(3))) {
int BitLen = N->getConstantOperandVal(2);
int BitIdx = N->getConstantOperandVal(3);
DecodeINSERTQIMask(VT, BitLen, BitIdx, Mask);
OpenPOWER on IntegriCloud