This is the mail archive of the gcc@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: New loop unroller broken?


Hello,

> >the new loop unroller doesn't unroll the following trivial loop
> >on s390 (with -O2 -funroll-loops):
> >
> >void test(float *data, float d)
> >{
> >   int i;
> >   for (i = 0; i < 8; i++)
> >      data[i] = d;
> >}
> >
> >because of
> >'Unable to prove that the loop iterates constant times'
> >which strikes me as somewhat odd.
> >
> >Is this the same on other platforms?  Any ideas how to fix
> >this (or how to debug it)?
> 
> Yes I see this also on PPC because of the doloop optimizations.
> I do know that this was fixed on rtlopt branch though but I do not
> when it is going to be fixed.
> 
> Zdenek do you know where the problem is and how to fix it for 3.4

no (well, yes, but not with the patch acceptable in this stage).

> and 
> 3.5?

I would definitely like to do something with this in 3.5; if everything
goes as I plan, I should have a new doloop pass that will be possible to
run after unrolling ready in about two weeks.

Zdenek


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