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

PowerPC 64 x 32 bits performance


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


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