3.6.1.2 Call-isr-prologues Option
The -mcall-isr-prologues
option changes how interrupt
functions save registers on entry and how those registers are restored when the
interrupt routine terminates. It works in a similar way to the
-mcall-prologues
option, but only affects interrupt functions
(ISRs).
If this option is not specified, the registers that need to be preserved
by ISRs will be saved and restored by code inside those functions. When an ISR calls
another function, there will be a large number of registers that need to be preserved.
If the -mcall-isr-prologues
option is used, this preservation code is
extracted as subroutines that are called at the appropriate points in the ISR.
Use of this option can reduce code size if there is more than one interrupt function that contains a call to another function, but it can increase the code’s execution time.