This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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