Texas Instruments (TI) C55x intrinsics for optimizing C code
The ARM compilation tools support the emulation of selected TI C55x intrinsics.
The TI C55x compiler recognizes a number of intrinsics for the optimization of C code. The ARM compilation tools support the emulation of selected TI C55x intrinsics through the header file, c55x.h.
c55x.h gives a complete list of the TI C55x intrinsics that are emulated by the ARM compilation tools.
TI C55x intrinsics that are emulated in c55x.h include:
Intrinsics for addition, subtraction, negation and absolute value, such as
_ssub. For example,
_sadd(v1, v2)returns the 16-bit saturated sum of
Intrinsics for multiplication and shifting, such as
_sshl. For example,
_smpy(v1, v2)returns the saturated fractional-mode product of
Intrinsics for rounding, saturation, bitcount and extremum, such as
_count. For example,
_round(v1)returns the value
v1rounded by adding 215 using unsaturated arithmetic, clearing the lower 16 bits.
Associative variants of intrinsics for addition and multiply-and-accumulate. This includes all TI C55x intrinsics prefixed with
_a_, for example,
Rounding variants of intrinsics for multiplication and shifting, for example,
The following TI C55x intrinsics are not supported in c55x.h:
long longvariants of intrinsics. This includes all TI C55x intrinsics prefixed with
_ll, for example,
long longvariants of intrinsics are not supported in the ARM compilation tools because they operate on 40-bit data.
All arithmetic intrinsics with side effects. For example, the TI C55x intrinsics
_lmsare not defined in c55x.h.
Intrinsics for ETSI support functions, such as
An exception is the ETSI support function for saturating division,
divs. This intrinsic is supported in c55x.h.