diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-05-08 14:16:39 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-05-08 14:16:39 +0000 |
commit | df39b03f29e310de298d0c078abb8b2bde86302b (patch) | |
tree | 9215ef9c9df10692f81f7f2aa4fcb366cda3d2bf /clang | |
parent | 0c8dcfd743a967711eea4e7abf3c9051b31fe04d (diff) | |
download | bcm5719-llvm-df39b03f29e310de298d0c078abb8b2bde86302b.tar.gz bcm5719-llvm-df39b03f29e310de298d0c078abb8b2bde86302b.zip |
[X86][SSE] Improve combineLogicBlendIntoPBLENDV to use general masks.
Currently combineLogicBlendIntoPBLENDV can only match ASHR to detect sign splatting of a bit mask, this patch generalises this to use computeNumSignBits instead.
This is a first step in several things we can do to improve PBLENDV support:
* Better matching of X86ISD::ANDNP patterns.
* Handle floating point cases.
* Better vector and bitcast support in computeNumSignBits.
* Recognise that PBLENDV only uses the sign bit of the mask, we should be able strip away sign splats (ASHR, PCMPGT isNeg tests etc.).
Differential Revision: https://reviews.llvm.org/D32953
llvm-svn: 302424
Diffstat (limited to 'clang')
0 files changed, 0 insertions, 0 deletions