This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: hard_regno_nregs == 0 ?
How about this change, then? (I'm still testing the m32c change, too)
2008-01-09 DJ Delorie <dj@redhat.com>
* doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
return zero.
Index: doc/tm.texi
===================================================================
--- doc/tm.texi (revision 131434)
+++ doc/tm.texi (working copy)
@@ -2076,13 +2076,15 @@ This section discusses the macros that d
(specifically, which machine modes) each register can hold, and how many
consecutive registers are needed for a given mode.
@defmac HARD_REGNO_NREGS (@var{regno}, @var{mode})
A C expression for the number of consecutive hard registers, starting
at register number @var{regno}, required to hold a value of mode
-@var{mode}.
+@var{mode}. This macro must never return zero, even if a register
+cannot hold the requested mode - indicate that with HARD_REGNO_MODE_OK
+and/or CANNOT_CHANGE_MODE_CLASS instead.
On a machine where all registers are exactly one word, a suitable
definition of this macro is
@smallexample
#define HARD_REGNO_NREGS(REGNO, MODE) \