SPRU514Z July 2001 – October 2023 SM320F28335-EP
The compiler has a number of built-in function-like operations called intrinsics. The implementation of an intrinsic function is handled by the compiler, which substitutes a sequence of instructions for the function call. This is similar to the way inline functions are handled; however, because the compiler knows the code of the intrinsic function, it can perform better optimization.
Intrinsics are generally inlined whether or not you use the optimizer. However, if the --opt_for_speed option is set to level 0 or 1, the compiler may choose not to inline intrinsics that expand to a substantial number of instructions. For example, the integer division intrinsics enabled by the --idiv_support=idiv0 option expand to more instructions than most intrinsics.
For details about intrinsics, and a list of the intrinsics, see Section 7.6. In addition to those listed, abs and memcpy are implemented as intrinsics.