#include <limits.h>
#include <stdint.h>
#include <c55x.h> // include TI C55x intrinsics
__asm int32_t asm_lsadd(int32_t a, int32_t b)
{
qadd r0, r0, r1
bx lr}
int32_t foo(int32_t a, int32_t b)
{
int32_t c, d, e;
c = asm_lsadd(a, b); // assembly language saturating add
d = __qadd(a, b); // ARM intrinsic saturating add
e = _lsadd(a, b); // TI C55x saturating add
return c == d == e; // returns 1
}