reload.c (find_reloads): Also check that all of a multi-reg value is in the class.
* reload.c (find_reloads): Also check that all of a multi-reg value is in the class. From-SVN: r66366
This commit is contained in:
parent
c4dec8d5a8
commit
57458e8a15
2 changed files with 16 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2003-05-01 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* reload.c (find_reloads): Also check that all of a multi-reg
|
||||
value is in the class.
|
||||
|
||||
2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* scan.h (lineno): Revert the rename here.
|
||||
|
|
12
gcc/reload.c
12
gcc/reload.c
|
@ -4346,7 +4346,17 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
|
|||
if (regno < FIRST_PSEUDO_REGISTER
|
||||
&& TEST_HARD_REG_BIT (reg_class_contents[rld[i].class], regno)
|
||||
&& HARD_REGNO_MODE_OK (regno, rld[i].mode))
|
||||
rld[i].reg_rtx = dest;
|
||||
{
|
||||
int nr = HARD_REGNO_NREGS (regno, rld[i].mode);
|
||||
int ok = 1, nri;
|
||||
|
||||
for (nri = 1; nri < nr; nri ++)
|
||||
if (! TEST_HARD_REG_BIT (reg_class_contents[rld[i].class], regno + nri))
|
||||
ok = 0;
|
||||
|
||||
if (ok)
|
||||
rld[i].reg_rtx = dest;
|
||||
}
|
||||
}
|
||||
|
||||
return retval;
|
||||
|
|
Loading…
Add table
Reference in a new issue