This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)            \


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]