On Sat, Aug 06, 2016 at 10:53:33AM +0930, Alan Modra wrote:
> On Fri, Aug 05, 2016 at 06:01:47PM -0500, Segher Boessenkool wrote:
> > On Fri, Aug 05, 2016 at 02:20:40PM +0930, Alan Modra wrote:
> > > Here are the reload costs for the various alternatives of
> > > movsf_hardfloat:
> > > "=!r, !r,  m,  f, ww, ww, !r,  f, wb,  m, wY, wu,  Z,?wn, ?r,*c*l, !r, *h"
> > >   "r,  m,  r,  f, ww,  j,  j,  m, wY,  f, wb,  Z, wu,  r, wn,   r, *h,  0"
> > >  617 609  17  17   8   8 617   9   8  17  17   8  17  23  23   17 617  17
> > 
> > I agree reg-reg moves should come after reg-mem moves, but is it such
> > a good idea to put e.g. f->f after r->*c*l?
> 
> I doubt it matters but I agree that it's unnecessary to move the
> reg-reg moves to the last alternative.  They just need to be after
> equivalent class reg-mem moves.  I'll move them earlier, which is
> better since exact matches cut short the alternative evaluation.

Thanks!

> > The costs look in pretty bad shape anyway.
> 
> They make sense to me..  At least, they did when I was looking at them
> in reload.  :)  One thing I didn't show is that alternatives like ww,j
> are rejected regardless of the cost ("bad" is set by find_reloads).

For some reason I forgot ww is a superset of f.  Yeah it's not so bad.
Perhaps :-)


Segher

Reply via email to