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 ?


> Hence, I now believe that your suggested doc change is correct, and is
> OK to check in to mainline.

Committed.  Thanks!

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 131702)
+++ ChangeLog	(working copy)
@@ -1,6 +1,11 @@
+2008-01-21  DJ Delorie  <dj@redhat.com>
+
+	* doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
+	return zero.
+
 2008-01-21  Richard Guenther  <rguenther@suse.de>
 
 	PR middle-end/34856
 	* tree-cfg.c (verify_expr): Allow all invariant expressions
 	instead of just constant class ones as reference argument.
 	* tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
Index: doc/tm.texi
===================================================================
--- doc/tm.texi	(revision 131702)
+++ 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]