[PATCH] D31347: [X86][SSE] Generalised CMP+AND1 combine to ZERO/ALLBITS+MASK

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 24 11:44:17 PDT 2017


RKSimon created this revision.

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 and added support to ComputeNumSignBitsForTargetNode for SSE arithmetic shifts.


Repository:
  rL LLVM

https://reviews.llvm.org/D31347

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/combine-and.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31347.92987.patch
Type: text/x-patch
Size: 5090 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170324/9be2c23e/attachment.bin>


More information about the llvm-commits mailing list