summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2002-05-16 00:06:39 +0000
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2002-05-16 00:06:39 +0000
commitbb018d90912ff4f5bc849690716303a9345b0864 (patch)
tree45d5dbc483e2a5ae074e95d022c80a4d78351844 /gcc
parent3a1f85741a7cafe195151000626b6d58dbfe938b (diff)
downloadppe42-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/ChangeLog4
-rw-r--r--gcc/reload1.c10
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;
OpenPOWER on IntegriCloud