summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2019-04-11 14:35:45 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2019-04-11 14:35:45 +0000
commit8a25154fa7a5405d842a116e14d893f3059907ea (patch)
tree067bf0203003f41787075e6b49b785e8ffb3f6f7 /llvm/lib/Target
parentb237b54c2dd88e7e1ed2c8a7030dbbb0f9c27958 (diff)
downloadbcm5719-llvm-8a25154fa7a5405d842a116e14d893f3059907ea.tar.gz
bcm5719-llvm-8a25154fa7a5405d842a116e14d893f3059907ea.zip
[X86] SimplifyDemandedVectorElts - add X86ISD::VPERMV mask support
llvm-svn: 358174
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 6319c9cc223..60085493913 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -33225,6 +33225,14 @@ bool X86TargetLowering::SimplifyDemandedVectorEltsForTargetNode(
}
break;
}
+ case X86ISD::VPERMV: {
+ SDValue Mask = Op.getOperand(0);
+ APInt MaskUndef, MaskZero;
+ if (SimplifyDemandedVectorElts(Mask, DemandedElts, MaskUndef, MaskZero, TLO,
+ Depth + 1))
+ return true;
+ break;
+ }
case X86ISD::PSHUFB:
case X86ISD::VPERMILPV: {
// TODO - simplify other variable shuffle masks.
OpenPOWER on IntegriCloud