This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix SPEC2000 GCC regression
> On Fri, Sep 5, 2008 at 4:29 AM, Jan Hubicka <jh@suse.cz> wrote:
> > Hi,
> > we have regression in SPEC2000 GCC. The problem is schedule_loop that
> > contains memset calls of large blocks. Those calls are identified by
> > profile code as cold, that is not wrong, but since blocks are large, we
> > still spend important amount of time.
> >
> > This patch makes hot/cold heuristics more conservative when it comes to
> > string operations of large or unknown size. Now we optimize for size
> > only memsets in cold functions, not based on BB profile.
> >
> > Bootstrapped/regtested i686-linux.
> >
> > * i386.c (decide_alg): Be more conservative about optimizing for size.
> >
> > * gcc.target/i386/cold-attribute-1.c: Update testcase.
>
> Hi Honza,
>
> This patch caused 10% performance drop on 176.gcc in SPEC CPU 20006
> at -O2 -ffast-math on Intel Core 2.
This mostl likely mean that your glibc has slow memset implementation.
I saw similar drop on SPEC2000 GCC and Debian machines used by
compilation farm. I was told that FSF glibc was finally updated with
new GCC so hopefully this problem is solved now.
Our (Opteron based) SPEC2006 tester seems fine
http://gcc.opensuse.org/SPEC/CINT/sb-balakirew-head-64-2006/403_gcc_big.png
Honza
>
>
>
> --
> H.J.