[PATCH] Re: Rewrite i386 string operation expansion

Richard Guenther richard.guenther@gmail.com
Wed Nov 29 14:14:00 GMT 2006


On 11/29/06, Uros Bizjak <ubizjak@gmail.com> wrote:
> Hello!
>
> > Your patch:
> >
> > 2006-11-19  Jan Hubicka  <jh@suse.cz>
> >
> >         * gcc.target/i386/memcpy-1.c: Adjust size.
> >         * testsuite/gcc.dg/visibility-11.c: Likewise.
> >
> >         ...
> >         (decide_alg): New function.
> >         ...
> >
> > crashes for -minline-all-stringops for certain targets:
> >
> > gcc -O2 -march=pentium4 -minline-all-stringops gcc.dg/i386/memcpy-1.c
> >
> > memcpy-1.c: In function âtâ:
> > memcpy-1.c:16: internal compiler error: in decide_alg, at
> > config/i386/i386.c:13510
> > Please submit a full bug report, ...etc...
> >
> > Also crashes for -march=pentium, -march=k6 and -march=nocona.
>
> Attached patch fixes this failure. Bootstrapped on i686-pc-linux-gnu.
>
> 2006-11-29  Uros Bizjak  <ubizjak@gmail.com>
>
>         config/i386/i386.c (decide_alg): For TARGET_INLINE_ALL_STRINGOPS
>         initialize alg to algs->size[0].alg.
>
> OK for mainline?

I think using rep_prefix_1_byte in this case is better.  If we don't
know the size
we should use a small sequence, not whatever would be used for small sizes.

Richard.



More information about the Gcc-patches mailing list