Compiler configure with --enable-e500_double

The compiler generates inferior code then with gcc-4.1.

The source code is:
# define N      2000000
static double   a[N],c[N];
void tuned_STREAM_Copy()
{
        int j;
        for (j=0; j<N; j++)
            c[j] = a[j];
}

Attached is stream.s-4.1 and stream.s-4.2

When compiled with 4.2, the command line is:
/temp/gnu_toolchain/install_area/gcc-trunk/gcc-trunk-20060926-e500v2/bin/powerpc-unknown-linux-gnuspe-gcc
-O3 -funroll-loops -funroll-all-loops -S stream.c -v
Using built-in specs.
Target: powerpc-unknown-linux-gnuspe
Configured with: ../gcc-trunk/configure
--prefix=/temp/gnu_toolchain/install_area/gcc-trunk/gcc-trunk-20060926-e500v2
--with-local-prefix=/temp/gnu_toolchain/install_area/gcc-trunk/gcc-trunk-20060926-e500v2
--enable-languages=c,c++,fortran --enable-threads
--target=powerpc-unknown-linux-gnuspe
--with-gmp=/proj/ppc/sysperf/sw/gnu_toolchain/gcc_support/linuxAMD64
--with-mpfr=/proj/ppc/sysperf/sw/gnu_toolchain/gcc_support/linuxAMD64
--disable-shared --disable-multilib --disable-linux-futex --enable-e500_double
Thread model: posix
gcc version 4.2.0 20060926 (experimental)

/temp/gnu_toolchain/install_area/gcc-trunk/gcc-trunk-20060926-e500v2/libexec/gcc/powerpc-unknown-linux-gnuspe/4.2.0/cc1
-quiet -v -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux
-D__linux -Asystem=linux -Asystem=unix -Asystem=posix stream.c -quiet -dumpbase
stream.c -auxbase stream -O3 -version -funroll-loops -funroll-all-loops -o
stream.s
#include "..." search starts here:
#include <...> search starts here:

/temp/gnu_toolchain/install_area/gcc-trunk/gcc-trunk-20060926-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/include

/temp/gnu_toolchain/install_area/gcc-trunk/gcc-trunk-20060926-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/../../../../powerpc-unknown-linux-gnuspe/sys-include

/temp/gnu_toolchain/install_area/gcc-trunk/gcc-trunk-20060926-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.2.0/../../../../powerpc-unknown-linux-gnuspe/include
End of search list.
GNU C version 4.2.0 20060926 (experimental) (powerpc-unknown-linux-gnuspe)
        compiled by GNU C version 3.4.3.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: af19c94719eeca398c0b645020867b59





And when compiled with 4.1 the command line is:
/temp/gnu_toolchain/install_area/gcc-4_1-branch/gcc-4_1-branch-20060926-e500v2/bin/powerpc-unknown-linux-gnuspe-gcc
-O3 -funroll-loops -funroll-all-loops -S stream.c -v
Using built-in specs.
Target: powerpc-unknown-linux-gnuspe
Configured with: ../gcc-4_1-branch/configure
--prefix=/temp/gnu_toolchain/install_area/gcc-4_1-branch/gcc-4_1-branch-20060926-e500v2
--with-local-prefix=/temp/gnu_toolchain/install_area/gcc-4_1-branch/gcc-4_1-branch-20060926-e500v2
--enable-languages=c,c++,fortran --enable-threads
--target=powerpc-unknown-linux-gnuspe
--with-gmp=/proj/ppc/sysperf/sw/gnu_toolchain/gcc_support/linuxAMD64
--with-mpfr=/proj/ppc/sysperf/sw/gnu_toolchain/gcc_support/linuxAMD64
--disable-shared --disable-multilib --disable-shared --disable-multilib
--enable-e500_double
Thread model: posix
gcc version 4.1.2 20060926 (prerelease)

/temp/gnu_toolchain/install_area/gcc-4_1-branch/gcc-4_1-branch-20060926-e500v2/libexec/gcc/powerpc-unknown-linux-gnuspe/4.1.2/cc1
-quiet -v -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux
-D__linux -Asystem=linux -Asystem=unix -Asystem=posix stream.c -quiet -dumpbase
stream.c -auxbase stream -O3 -version -funroll-loops -funroll-all-loops -o
stream.s
ignoring nonexistent directory
"/temp/gnu_toolchain/install_area/gcc-4_1-branch/gcc-4_1-branch-20060926-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.1.2/../../../../powerpc-unknown-linux-gnuspe/include"
#include "..." search starts here:
#include <...> search starts here:

/temp/gnu_toolchain/install_area/gcc-4_1-branch/gcc-4_1-branch-20060926-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.1.2/include

/temp/gnu_toolchain/install_area/gcc-4_1-branch/gcc-4_1-branch-20060926-e500v2/lib/gcc/powerpc-unknown-linux-gnuspe/4.1.2/../../../../powerpc-unknown-linux-gnuspe/sys-include
End of search list.
GNU C version 4.1.2 20060926 (prerelease) (powerpc-unknown-linux-gnuspe)
        compiled by GNU C version 3.4.3.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 565818e6f0c83f0e9f8781118c7d40c3


-- 
           Summary: [4.2.0 performance regression]
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: edmar at freescale dot com
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: powerpc-unknown-linux-gnuspe-gcc


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29256

Reply via email to