stormy16: limit SI reload regs
Geoff Keating
geoffk@geoffk.org
Fri May 2 01:04:00 GMT 2003
DJ Delorie <dj@redhat.com> writes:
> No regressions. Ok?
OK.
> 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.
>
> > I'm testing this patch now.
> >
> > Index: reload.c
> > ===================================================================
> > RCS file: /cvs/uberbaum/gcc/reload.c,v
> > retrieving revision 1.212
> > diff -p -2 -r1.212 reload.c
> > *** reload.c 17 Apr 2003 23:31:40 -0000 1.212
> > --- reload.c 1 May 2003 19:38:09 -0000
> > *************** find_reloads (insn, replace, ind_levels,
> > *** 4347,4351 ****
> > && TEST_HARD_REG_BIT (reg_class_contents[rld[i].class], regno)
> > && HARD_REGNO_MODE_OK (regno, rld[i].mode))
> > ! rld[i].reg_rtx = dest;
> > }
> >
> > --- 4347,4361 ----
> > && TEST_HARD_REG_BIT (reg_class_contents[rld[i].class], regno)
> > && HARD_REGNO_MODE_OK (regno, rld[i].mode))
> > ! {
> > ! 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;
> > ! }
> > }
> >
> >
>
--
- Geoffrey Keating <geoffk@geoffk.org>
More information about the Gcc-patches
mailing list