gcc: MicroBlaze Function Attributes

1 
1 6.31.16 MicroBlaze Function Attributes
1 --------------------------------------
1 
1 These function attributes are supported on MicroBlaze targets:
1 
1 'save_volatiles'
1      Use this attribute to indicate that the function is an interrupt
1      handler.  All volatile registers (in addition to non-volatile
1      registers) are saved in the function prologue.  If the function is
1      a leaf function, only volatiles used by the function are saved.  A
1      normal function return is generated instead of a return from
1      interrupt.
1 
1 'break_handler'
1      Use this attribute to indicate that the specified function is a
1      break handler.  The compiler generates function entry and exit
1      sequences suitable for use in an break handler when this attribute
1      is present.  The return from 'break_handler' is done through the
1      'rtbd' instead of 'rtsd'.
1 
1           void f () __attribute__ ((break_handler));
1 
1 'interrupt_handler'
1 'fast_interrupt'
1      These attributes indicate that the specified function is an
1      interrupt handler.  Use the 'fast_interrupt' attribute to indicate
1      handlers used in low-latency interrupt mode, and
1      'interrupt_handler' for interrupts that do not use low-latency
1      handlers.  In both cases, GCC emits appropriate prologue code and
1      generates a return from the handler using 'rtid' instead of 'rtsd'.
1