Inline assembler, обернутый в inline-функцию.
Например, для ARM7 сложение с ограничением:
Код
static inline long sat_add( long Mac, long Add)
{
long Out;
__asm__(
" adds %0, %1, %2" "\n\t"
" movvs %0, %0, asr #31 " "\n\t" // Move 0 or ~0
" eorvs %0, %0, #(1 << 31)" "\n\t" // Craft 0x7FFFFFFF or 0x80000000
: "=r" (Out)
: "r" (Mac), "r"(Add)
: "cc"
);
return Out;
}