diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2002-05-16 00:06:39 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2002-05-16 00:06:39 +0000 |
commit | fefac463200cf9380d830206400d41180697e123 (patch) | |
tree | 45d5dbc483e2a5ae074e95d022c80a4d78351844 /gcc | |
parent | 5f0043518ad447a8bdbe734d82c39f8663c93b0d (diff) | |
download | gcc-fefac463200cf9380d830206400d41180697e123.zip gcc-fefac463200cf9380d830206400d41180697e123.tar.gz gcc-fefac463200cf9380d830206400d41180697e123.tar.bz2 |
reload1.c (forget_old_reloads_1): Do not use subreg offset.
2002-05-15 Aldy Hernandez <aldyh@redhat.com>
* reload1.c (forget_old_reloads_1): Do not use subreg offset.
From-SVN: r53496
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/reload1.c | 10 |
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0d3f409..0613e30 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2002-05-15 Aldy Hernandez <aldyh@redhat.com> + * reload1.c (forget_old_reloads_1): Do not use subreg offset. + +2002-05-15 Aldy Hernandez <aldyh@redhat.com> + * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register. ("altivec_mfvscr"): Read from VSCR. diff --git a/gcc/reload1.c b/gcc/reload1.c index 1bcd29b..1349c3c 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4098,23 +4098,21 @@ forget_old_reloads_1 (x, ignored, data) { unsigned int regno; unsigned int nr; - int offset = 0; /* note_stores does give us subregs of hard regs, subreg_regno_offset will abort if it is not a hard reg. */ while (GET_CODE (x) == SUBREG) { - offset += subreg_regno_offset (REGNO (SUBREG_REG (x)), - GET_MODE (SUBREG_REG (x)), - SUBREG_BYTE (x), - GET_MODE (x)); + /* We ignore the subreg offset when calculating the regno, + because we are using the entire underlying hard register + below. */ x = SUBREG_REG (x); } if (GET_CODE (x) != REG) return; - regno = REGNO (x) + offset; + regno = REGNO (x); if (regno >= FIRST_PSEUDO_REGISTER) nr = 1; |