17.5.6 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.
This document was generated
by system on December, 2 2004
using texi2html