diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reload.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b5ddc26..853884c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-02-04 David Edelsohn <edelsohn@gnu.org> + + * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno, + against FIRST_PSEUDO_REGISTER. + 2004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * Makefile.in: Move target, host overrides after per-language diff --git a/gcc/reload.c b/gcc/reload.c index 92c3c47..ea5b6f5 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -6188,7 +6188,7 @@ refers_to_regno_for_reload_p (unsigned int regno, unsigned int endregno, { unsigned int inner_regno = subreg_regno (x); unsigned int inner_endregno - = inner_regno + (inner_regno < FIRST_PSEUDO_REGISTER + = inner_regno + (regno < FIRST_PSEUDO_REGISTER ? hard_regno_nregs[regno][GET_MODE (x)] : 1); return endregno > inner_regno && regno < inner_endregno; |