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: [RS6000] PR72802 part 2, reload ICE


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.

> 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).

-- 
Alan Modra
Australia Development Lab, IBM


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