[llvm-commits] [llvm] r59760 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGNodes.h lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Dan Gohman
gohman at apple.com
Thu Nov 20 17:08:40 PST 2008
On Nov 20, 2008, at 4:38 PM, Bill Wendling wrote:
> On Thu, Nov 20, 2008 at 4:22 PM, Dan Gohman <gohman at apple.com> wrote:
>>
>> On Nov 20, 2008, at 4:11 PM, Bill Wendling wrote:
>>> +
>>> + // Overflow-aware nodes for arithmetic operations. These nodes
>>> take two
>>> + // operands: the normal lhs and rhs to the add. They produce
>>> two results:
>>> + // the normal result of the add, and a flag indicating whether
>>> an overflow
>>> + // occured. These nodes are generated from the llvm.
>>> [su]add.with.overflow
>>> + // intrinsics. They are lowered by target-dependent code.
>>> + SADDO, UADDO,
>>
>> Hi Bill,
>>
>> Is UADDO is equivalent to ADDC?
>>
> Hmm. It does appear to be similar. How is ADDC handled later on? I see
> that the DAG combiner does some reasoning about trivial cases, but how
> is it handled in the back ends?
In the x86 backend, ADDC is lowered to a single add instruction, with
the carry information carried by the flags register.
Dan
More information about the llvm-commits
mailing list