This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Ben Cheese Was: Bernd's reload patch installed
- To: egcs at cygnus dot com
- Subject: Ben Cheese Was: Bernd's reload patch installed
- From: Robert Lipe <robertl at dgii dot com>
- Date: Wed, 28 Oct 1998 13:56:37 -0600
- References: <23777.909556705@hurl.cygnus.com>
Jeffrey A Law wrote:
> This is a major design change for the reload pass that should be a noticable
> code generation improvement for targets with limited register sets. See the
This is pretty unscientific, but I thought I'd report it anyway.
Developed for a Digi internal troll, I have a script that runs around
various ia32 compilers within reach and runs dhrystone on them with
options that are as similar as is practical. I won't promise that
this dhrystone is "pristine" so don't compare the absolute numbers
to anything else. This is meant only to be a relative performance
indicator. Arguments about dhrystone being obsolete or a piece of crap
are beyond the scope of the immediate discussion. ;-)
# GCC = egcs 1.1b
gcc -o dry -mpentiumpro -O2 -finline-functions -funroll-all-loops -fexpensive-optimizations -DTIMES dhry_1.c dhry_2.c
Microseconds for one run through Dhrystone: 1.3
Dhrystones per Second: 781860.8
# This is EGCS as of this morning.
/play/negcs/gcc/xgcc -B/play/negcs/gcc/ -o dry -mpentiumpro -O2 -finline-functions -funroll-all-loops -fexpensive-optimizations -DTIMES dhry_1.c dhry_2.c
Microseconds for one run through Dhrystone: 1.2
Dhrystones per Second: 829875.5
# This is the UDK target as of Oct 22. This number had been as close
# to identical as the one just above as it could be and had been hovering
# slightly below the 1.1b numbers for some time. I think this means
# we can attribute the difference in these two numbers to something that's
# changed in the tree in the last six days.
/play/tmp/7/gcc/xgcc -B/play/tmp/7/gcc/ -o dry -mpentiumpro -O2 -finline-functions -funroll-all-loops -fexpensive-optimizations -DTIMES dhry_1.c dhry_2.c
Microseconds for one run through Dhrystone: 1.3
Dhrystones per Second: 774593.3
# This is the OpenServer native compiler. No P6 optimization options
# are available.
/bin/cc -o dry -belf -Kpentium -O2 -Khost -Kinline -Kloop_unroll -DTIMES dhry_1.c dhry_2.c
dhry_1.c:
dhry_2.c:
Microseconds for one run through Dhrystone: 1.0
Dhrystones per Second: 974658.9
# This is the SVR5 compiler from SCO.
/udk/usr/ccs/bin/cc -o dry -Kpentium_pro -O2 -Khost -Kinline -Kloop_unroll -DTIMES dhry_1.c dhry_2.c
dhry_1.c:
dhry_2.c:
Microseconds for one run through Dhrystone: 0.9
Dhrystones per Second: 1086956.5
# This is Intel's Optimizing Compiler 2.1.4. It actually will do
# interprocedural analysis across source files (!) when handed multiple
# files on a single invocation like this.
icc -o dry -belf -ip -mem -O1 -pad -tp p6 -DTIMES dhry_1.c dhry_2.c
dhry_1.c:
dhry_2.c:
Microseconds for one run through Dhrystone: 0.6
Dhrystones per Second: 1582278.5
# Same compiler without the i/p analysis. It's about neck and neck with
# SCO's tools in "real world" use. (Do you compile imagemagic all on one
# command line? Didn't think so. :-)
icc -o dry -belf -mem -O1 -pad -tp p6 -DTIMES dhry_1.c dhry_2.c
dhry_1.c:
dhry_2.c:
Microseconds for one run through Dhrystone: 0.9
Dhrystones per Second: 1088139.2
> Bernd -- thanks for all the contributions!
Indeed. Thanx to everyone.
RJL