HomePhabricator

[SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY

Authored by davezarzycki on Nov 20 2019, 5:52 AM.

Description

[SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY

Summary:
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: match ADD, etc.

Reviewers: craig.topper, RKSimon, spatel, niravd, jonpa, uweigand, deadalnix, nikic, lebedev.ri, dmgreen, chfast

Reviewed By: lebedev.ri

Subscribers: chfast, llvm-commits

Tags: #llvm

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

Details

Committed
davezarzyckiNov 20 2019, 6:25 AM
Reviewer
lebedev.ri
Differential Revision
D70079: [SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY
Parents
rGf8c92b8ee242: gn build: Merge 72d2929c52a
Branches
Unknown
Tags
Unknown