[cfe-dev] Intrinsics for signed arithmetic with well-defined overflow/underflow?

Eli Friedman eli.friedman at gmail.com
Fri Aug 3 16:00:22 PDT 2012


On Fri, Aug 3, 2012 at 3:43 PM, Alex Rønne Petersen <xtzgzorex at gmail.com> wrote:
> Hi cfe-dev,
>
> I'm doing a bit of a crazy project where I compile an IR to
> 'Clang-flavored C99'. The IR guarantees sane overflow/underflow
> semantics for signed arithmetic, but as far as I can tell, Clang
> doesn't (which is in line with the standard). Does Clang provide any
> intrinsics to achieve this, which the optimizers in LLVM will respect?

What exactly does "sane" mean, in your context?  If you want wrapping,
you can just write (int)((unsigned)x+(unsigned)y).

-Eli




More information about the cfe-dev mailing list