This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: stormy16: limit SI reload regs


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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]