This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
PowerPC 64 x 32 bits performance
- From: Edmar Wienskoski <edmar at freescale dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>
- Date: Fri, 04 Mar 2005 16:59:25 -0600
- Subject: PowerPC 64 x 32 bits performance
- References: <5888D31A-7824-40AD-8113-714F759A1423@apple.com>
I checked with several gcc versions. Some of the spec2k
benchmarks has a considerable performance loss when
the benchmark is compiled with a 64 bits tool.
Ex:
175.vpr using:
Reading specs from /usr/lib/gcc-lib/ppc64-yellowdog-linux/3.3.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--enable-symvers=gnu --host=ppc64-yellowdog-linux
--build=ppc64-yellowdog-linux --target=ppc64-yellowdog-linux
--with-cpu=default32 --enable-biarch
Thread model: posix
gcc version 3.3.3 (Yellow Dog Linux 3.3.3-16.ydl.7)
for 32 bits: 266 seconds
for 64 bits: 318 seconds (20% slower)
I looked into the assembler code generated for try_route (route.c)
(compiled with: gcc -S -DSPEC_CPU2000 -O3 -m64 route.c)
and notice a considerable number of load instructions in the 64 bits one.
Does anyone have an insight on why this is happening ?
Thanks
Edmar