diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-04-11 14:35:45 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-04-11 14:35:45 +0000 |
| commit | 8a25154fa7a5405d842a116e14d893f3059907ea (patch) | |
| tree | 067bf0203003f41787075e6b49b785e8ffb3f6f7 /llvm/lib/Target | |
| parent | b237b54c2dd88e7e1ed2c8a7030dbbb0f9c27958 (diff) | |
| download | bcm5719-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.cpp | 8 |
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. |

