diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/function.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2a45476..dc5b07c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-04-10 Andrew MacLeod <amacleod@redhat.com> + + * function.c (purge_single_hard_subreg_set): Only check REGNO if + the subreg was a hard register. Pseudos are left as subregs. + 2001-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro. diff --git a/gcc/function.c b/gcc/function.c index ee18258..a561d8e 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -3456,7 +3456,7 @@ purge_single_hard_subreg_set (pattern) } - if (REGNO (reg) < FIRST_PSEUDO_REGISTER) + if (GET_CODE (reg) == REG && REGNO (reg) < FIRST_PSEUDO_REGISTER) { reg = gen_rtx_REG (mode, REGNO (reg) + offset); SET_DEST (pattern) = reg; |