[llvm-commits] [llvm] r59756 - /llvm/trunk/include/llvm/Intrinsics.td
Chris Lattner
clattner at apple.com
Fri Nov 21 08:54:52 PST 2008
On Nov 21, 2008, at 5:56 AM, Duncan Sands wrote:
>>
>> Even if it does,
>> transforming it the ADDC / ADDO + check probably requires quite a bit
>> of work in dag combine. We'd also like to support it in fast-isel. I
>> think the intrinsics are needed, at least in the short term.
>
> Indeed, for the above i33 code you don't get a simple use of the carry
> flag on x86. I'm sure you used to, so I guess something changed. In
> any case the fact that you don't get a carry anymore at least proves
> the
> fragility of expecting codegen to reliably use a carry! As you
> say, to
> make sure this happens consistently requires some work. That said,
> boosting
> the power of integer codegen is a win for everyone, while using an
> intrinsic
> for overflow only helps those who use it.
I completely agree that improving general integer codegen is useful.
However, LLVM has long needed the ability to reason about integer
overflow in general, and I don't think that i33 will solve all the
problems :). How do you do a signed add/sub, unsigned/signed mul, etc?
-Chris
More information about the llvm-commits
mailing list