How does the PPC C/C++ Compiler support interrupt handling?
The TASKING PPC C/C++ Compiler supports the ‘_Interrupt’ keyword to define a function as an interrupt function. The difference between a normal function and an interrupt function is that all registers are saved, not only the volatile registers, and the ‘rfi’ instruction is generated to return from interrupt. To reduce interrupt processing overhead, floating point registers are not saved in ‘Interrupt’ functions. This is allowed because FP registers are typically not used in interrupt functions. The ‘Save_fpvr_on_interrupt pragma is available to save floating point volatile registers on interrupt when necessary.