[PATCH] D70079: [SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY
David Zarzycki via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 11 06:32:49 PST 2019
davezarzycki created this revision.
davezarzycki added reviewers: craig.topper, RKSimon, spatel.
davezarzycki added a project: LLVM.
davezarzycki added a comment.
Can somebody CC the right System Z experts? A couple of their tests fail after this change.
Convert (uaddo (uaddo x, y), carryIn) into addcarry x, y, carryIn if-and-only-if the carry flags of the first two uaddo are merged via OR or XOR.
Work remaining:
1. match ADD/SUB.
2. match AND and replace the carry flag with zero.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D70079
Files:
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/addcarry.ll
test/CodeGen/X86/subcarry.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70079.228683.patch
Type: text/x-patch
Size: 13261 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191111/abe83030/attachment-0001.bin>
More information about the llvm-commits
mailing list