This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC trunk SPEC2000 performance
- From: Jan Hubicka <jh at suse dot cz>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Richard Henderson <rth at redhat dot com>,Mark Mitchell <mark at codesourcery dot com>, gcc at gcc dot gnu dot org
- Date: Thu, 20 Jun 2002 20:32:44 +0200
- Subject: Re: GCC trunk SPEC2000 performance
- References: <20020620111650.B16657@redhat.com> <200206201819.OAA28022@makai.watson.ibm.com>
> >>>>> Richard Henderson writes:
>
> Richard> Peak cannot be considered "peak" with -funroll-all-loops
> Richard> as opposed to -funroll-loops. That forces the compiler
> Richard> to unroll a loop against its better judgement.
>
> That assumes that the compiler's judgment is good, which it has
> not been in the past. I have seen better performance with
> -funroll-all-loops than with -funroll-loops. That option is not what is
> causing base and peak to be inverted.
>From the Andrea's tester:
-O2 -march=athlon -funroll-all-loops:394
-O3 -march=athlon -funroll-all-loops:392
-O2 -march=athlon -funroll-loops:394
-O3 -march=athlon -funroll-loops:394
The numbers are times, not ratings. So at least for 3.0.1
unroll-all-loops appear to do very slightly better job, but just very
slightly.
Additionally the numbers concerning frame pointer/leaf frame pointer
are:
O2 -march=athlon:401
-O3 -march=athlon:397
-O2 -march=athlon -fomit-frame-pointer:391
-O3 -march=athlon -fomit-frame-pointer:391
-O2 -march=athlon -momit-leaf-frame-pointer:397
-O3 -march=athlon -momit-leaf-frame-pointer:394
It looks like -fomit-frame-pointer is quite a bit more effective. I
believe we can now rely on GDB to do DWARF2 unwinding, as the code
already works for x86-64, so that can be very interesting alternative to
current settings.
Honza
>
> David