PowerPC 64 x 32 bits performance

Edmar Wienskoski edmar@freescale.com
Fri Mar 4 22:59:00 GMT 2005


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



More information about the Gcc mailing list