SLAA534A June 2013 – June 2020
On MSP430 only, the _ _mspabi_func_epilog set of helper functions reduce code size. Each function performs a typical POP-and-RET function epilog sequence. Code size is reduced by replacing the typical POP-and-RET epilog sequence with a branch to one of these functions. Each function is named after the number of consecutive registers (ending with R10) that it restores. The expected implementation is:
__mspabi_func_epilog:
__mspabi_func_epilog_7: POP R4
__mspabi_func_epilog_6: POP R5
__mspabi_func_epilog_5: POP R6
__mspabi_func_epilog_4: POP R7
__mspabi_func_epilog_3: POP R8
__mspabi_func_epilog_2: POP R9
__mspabi_func_epilog_1: POP R10
RET
These functions are not needed on MSP430X , because multiple-register POP instructions are used.