diff options
author | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-16 00:06:39 +0000 |
---|---|---|
committer | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-16 00:06:39 +0000 |
commit | bb018d90912ff4f5bc849690716303a9345b0864 (patch) | |
tree | 45d5dbc483e2a5ae074e95d022c80a4d78351844 /gcc | |
parent | 3a1f85741a7cafe195151000626b6d58dbfe938b (diff) | |
download | ppe42-gcc-bb018d90912ff4f5bc849690716303a9345b0864.tar.gz ppe42-gcc-bb018d90912ff4f5bc849690716303a9345b0864.zip |
2002-05-15 Aldy Hernandez <aldyh@redhat.com>
* reload1.c (forget_old_reloads_1): Do not use subreg offset.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53496 138bc75d-0d04-0410-961f-82ee72b054a4
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 0d3f409e33d..0613e309b40 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 1bcd29b3ee4..1349c3c8559 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; |