aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-07-26 20:38:07 +0000
committerRichard Stallman <rms@gnu.org>1992-07-26 20:38:07 +0000
commit0a2e51a941cbc5ecbb5e839f685c5f1bac7d075a (patch)
treed09e5855e84cfed939ab7dd7b7f2b026cca171be
parent3d32ffd13f07496796ce687a276ccea34a96ae70 (diff)
downloadgcc-0a2e51a941cbc5ecbb5e839f685c5f1bac7d075a.zip
gcc-0a2e51a941cbc5ecbb5e839f685c5f1bac7d075a.tar.gz
gcc-0a2e51a941cbc5ecbb5e839f685c5f1bac7d075a.tar.bz2
*** empty log message ***
From-SVN: r1688
-rw-r--r--gcc/reload1.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index afd2a17..fcf4236 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -3569,11 +3569,19 @@ forget_old_reloads_1 (x)
{
register int regno;
int nr;
+ int offset = 0;
+
+ /* note_stores does give us subregs of hard regs. */
+ while (GET_CODE (x) == SUBREG)
+ {
+ offset += SUBREG_WORD (x);
+ x = SUBREG_REG (x);
+ }
if (GET_CODE (x) != REG)
return;
- regno = REGNO (x);
+ regno = REGNO (x) + offset;
if (regno >= FIRST_PSEUDO_REGISTER)
nr = 1;