[PATCH] D17834: [AArch64] fold 'isPositive' vector integer operations (PR26819)

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 2 15:38:54 PST 2016


spatel created this revision.
spatel added reviewers: t.p.northover, rengolin, jmolloy.
spatel added a subscriber: llvm-commits.
Herald added subscribers: mcrosier, rengolin, aemerson.

This is one of the cases shown in:
https://llvm.org/bugs/show_bug.cgi?id=26819

Shift and negate is what InstCombine prefers to produce (and I tried to make it do more of that in http://reviews.llvm.org/rL262424 ), so we should recognize that pattern as something that might come from autovectorization even if it's unlikely to be produced from C NEON intrinsics.

The patch is largely a copy/paste of the x86 equivalent:
http://reviews.llvm.org/rL262036

...so it might be worth noting as something that could be refactored into DAGCombiner so all backends can share it.

http://reviews.llvm.org/D17834

Files:
  lib/Target/AArch64/AArch64ISelLowering.cpp
  test/CodeGen/AArch64/neon-compare-instructions.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17834.49682.patch
Type: text/x-patch
Size: 5903 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160302/b6b300ce/attachment.bin>


More information about the llvm-commits mailing list