]> granicus.if.org Git - llvm/commit
[X86][SSE] Generalised CMP+AND1 combine to ZERO/ALLBITS+MASK
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 25 Mar 2017 19:50:14 +0000 (19:50 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 25 Mar 2017 19:50:14 +0000 (19:50 +0000)
commit4671240f7dbe0618e183c5b43dc7cb370775a15a
tree09f5a6faf52d94306a3f42396e426202bee8d471
parenta39e64c0aa123a11f3fe6144e29fb9c84cd6612d
[X86][SSE] Generalised CMP+AND1 combine to ZERO/ALLBITS+MASK

Patch to generalize combinePCMPAnd1 (for handling SETCC + ZEXT cases) to work for any input that has zero/all bits set masked with an 'all low bits' mask.

Replaced the implicit assumption of shift availability with a call to SupportedVectorShiftWithImm.

Part 1 of 3.

Differential Revision: https://reviews.llvm.org/D31347

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298779 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp