GNU Info

Info Node: (gcc-295.info)Obsolete Register Macros

(gcc-295.info)Obsolete Register Macros


Prev: Stack Registers Up: Registers
Enter node , (file) or (file)node

Obsolete Macros for Controlling Register Usage
----------------------------------------------

   These features do not work very well.  They exist because they used
to be required to generate correct code for the 80387 coprocessor of the
80386.  They are no longer used by that machine description and may be
removed in a later version of the compiler.  Don't use them!

`OVERLAPPING_REGNO_P (REGNO)'
     If defined, this is a C expression whose value is nonzero if hard
     register number REGNO is an overlapping register.  This means a
     hard register which overlaps a hard register with a different
     number.  (Such overlap is undesirable, but occasionally it allows
     a machine to be supported which otherwise could not be.)  This
     macro must return nonzero for *all* the registers which overlap
     each other.  GNU CC can use an overlapping register only in
     certain limited ways.  It can be used for allocation within a
     basic block, and may be spilled for reloading; that is all.

     If this macro is not defined, it means that none of the hard
     registers overlap each other.  This is the usual situation.

`INSN_CLOBBERS_REGNO_P (INSN, REGNO)'
     If defined, this is a C expression whose value should be nonzero if
     the insn INSN has the effect of mysteriously clobbering the
     contents of hard register number REGNO.  By "mysterious" we mean
     that the insn's RTL expression doesn't describe such an effect.

     If this macro is not defined, it means that no insn clobbers
     registers mysteriously.  This is the usual situation; all else
     being equal, it is best for the RTL expression to show all the
     activity.


automatically generated by info2www version 1.2.2.9