gcc: M32R/D Function Attributes

1 
1 6.31.12 M32R/D Function Attributes
1 ----------------------------------
1 
1 These function attributes are supported by the M32R/D back end:
1 
1 'interrupt'
1      Use this attribute to indicate that the specified function is an
1      interrupt handler.  The compiler generates function entry and exit
1      sequences suitable for use in an interrupt handler when this
1      attribute is present.
1 
1 'model (MODEL-NAME)'
1 
1      On the M32R/D, use this attribute to set the addressability of an
1      object, and of the code generated for a function.  The identifier
1      MODEL-NAME is one of 'small', 'medium', or 'large', representing
1      each of the code models.
1 
1      Small model objects live in the lower 16MB of memory (so that their
1      addresses can be loaded with the 'ld24' instruction), and are
1      callable with the 'bl' instruction.
1 
1      Medium model objects may live anywhere in the 32-bit address space
1      (the compiler generates 'seth/add3' instructions to load their
1      addresses), and are callable with the 'bl' instruction.
1 
1      Large model objects may live anywhere in the 32-bit address space
1      (the compiler generates 'seth/add3' instructions to load their
1      addresses), and may not be reachable with the 'bl' instruction (the
1      compiler generates the much slower 'seth/add3/jl' instruction
1      sequence).
1