This is the mail archive of the gcc-patches@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: 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.


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