[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