PREV UP NEXT Using and Porting GNU CC

16.5: Register Usage

This section explains how to describe what registers the target machine has, and how (in general) they can be used.

The description of which registers a specific instruction can use is done with register classes; see Register Classes. For information on using registers to access a stack frame, see Frame Registers. For passing values in registers, see Register Arguments. For returning values in registers, see Scalar Return.

  • Register Basics Number and kinds of registers.
  • Allocation Order Order in which registers are allocated.
  • Values in Registers What kinds of values each reg can hold.
  • Leaf Functions Renumbering registers for leaf functions.
  • Stack Registers Handling a register stack such as 80387.
  • Obsolete Register Macros Macros formerly used for the 80387.