http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50037

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-11 
11:21:34 UTC ---
(In reply to comment #4)
> (In reply to comment #3)
> > Using
> > 
> > int foo (int n, int *addr)
> > {
> >   int count, sum;
> >   for ( count = n & 0x3; count >= 0; count--, addr++ )
> >     sum += *addr;
> >   return sum;
> > }
> > 
> > it works.
> 
> Not for me.  It's still unrolled by 7.

Ah, but something cleans up the jump sequence afterwards.  At least.
Doesn't happen for the original testcase either.

Reply via email to