This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug other/17028] New: Code Slowdown wth -freduce-all-givs in C++
- From: "CaptainSifff at gmx dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Aug 2004 15:30:37 -0000
- Subject: [Bug other/17028] New: Code Slowdown wth -freduce-all-givs in C++
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
In the Man-page, you said you're interested in Code that runs slower, with
-freduce-all-givs -fmove-all-movables. I encounter in my programm ca. 5%-10%
slowdown.
If it's interresting: Compilation of my programm with -fnew-ra makes the Code
20%-30% slower
I'm using glibc-2.3.2
on a SuSE System. Kernel 2.6.8-rc4
I couldn't attach the relevant preprocessed Source-files, due to the
restrictions of your mailing-List.And I couldn't send to your mailing List
because it filters the header of my ISP. If someone is interrested in working
on this, he can mail me(CaptainSifff@gmx.de). The compressed source is 212 kB.
Feel free to ask for further Information.
Processing of Polygon.cpp produces this Console-Output:
Lese Spezifikationen von /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/specs
Konfiguriert mit: ../gcc-3.4.1/configure --host=i686-pc-linux-gnu
--with-gnu-as --with-gnu-ld --with-system-zlib --enable-threads
--enable-shared --prefix=/usr --with-cpu=i586 --with-arch=i586
--with-tune=i586
Thread-Modell: posix
gcc-Version 3.4.1
/usr/libexec/gcc/i686-pc-linux-gnu/3.4.1/cc1plus -E -quiet -v -D_GNU_SOURCE
Polygon.cpp -march=athlon-xp -mmmx -msse -m3dnow -ffast-math -funroll-loops
-funswitch-loops -fpeel-loops -funit-at-a-time -ftracer -fweb -O2 -o
Polygon.ii
nicht vorhandenes Verzeichnis
»/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/include«
wird ignoriert
#include "..." - Suche beginnt hier:
#include <...> - Suche beginnt hier:
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/backward
/usr/local/include
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include
/usr/include
Ende der Suchliste.
In Datei, eingefügt von Polygon.cpp:21:
Polygon.h:33:1: Warnung: "M_PI" redefined
In Datei, eingefügt von Polygon.h:28,
von Polygon.cpp:21:
/usr/include/math.h:323:1: Warnung: this is the location of the previous
definition
/usr/libexec/gcc/i686-pc-linux-gnu/3.4.1/cc1plus -fpreprocessed Polygon.ii
-quiet -dumpbase Polygon.cpp -march=athlon-xp -mmmx -msse -m3dnow -auxbase
Polygon -O2 -version -ffast-math -funroll-loops -funswitch-loops -fpeel-loops
-funit-at-a-time -ftracer -fweb -o Polygon.s
GNU C++ version 3.4.1 (i686-pc-linux-gnu)
compiled by GNU C version 3.4.1.
GGC-Heuristik: --param ggc-min-expand=64 --param ggc-min-heapsize=64348
as -V -Qy -o Polygon.o Polygon.s
Processing of dreidstudiomaxloader.cpp produces this output
g++ -v -save-temps -march=athlon-xp -O2 -mmmx -msse -m3dnow -ffast-math
-funroll-loops -funswitch-loops -fpeel-loops -funit-at-a-time -ftracer -fweb
dreidstudiomaxloader.cpp -I.
Lese Spezifikationen von /usr/lib/gcc/i686-pc-linux-gnu/3.4.1/specs
Konfiguriert mit: ../gcc-3.4.1/configure --host=i686-pc-linux-gnu
--with-gnu-as --with-gnu-ld --with-system-zlib --enable-threads
--enable-shared --prefix=/usr --with-cpu=i586 --with-arch=i586
--with-tune=i586
Thread-Modell: posix
gcc-Version 3.4.1
/usr/libexec/gcc/i686-pc-linux-gnu/3.4.1/cc1plus -E -quiet -v -I.
-D_GNU_SOURCE dreidstudiomaxloader.cpp -march=athlon-xp -mmmx -msse -m3dnow
-ffast-math -funroll-loops -funswitch-loops -fpeel-loops -funit-at-a-time
-ftracer -fweb -O2 -o dreidstudiomaxloader.ii
nicht vorhandenes Verzeichnis
»/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/include«
wird ignoriert
#include "..." - Suche beginnt hier:
#include <...> - Suche beginnt hier:
.
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/backward
/usr/local/include
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/include
/usr/include
Ende der Suchliste.
In Datei, eingefügt von 3dsMax.h:20,
von dreidstudiomaxloader.cpp:28:
Polygon.h:33:1: Warnung: "M_PI" redefined
In Datei, eingefügt von Polygon.h:28,
von 3dsMax.h:20,
von dreidstudiomaxloader.cpp:28:
/usr/include/math.h:323:1: Warnung: this is the location of the previous
definition
/usr/libexec/gcc/i686-pc-linux-gnu/3.4.1/cc1plus -fpreprocessed
dreidstudiomaxloader.ii -quiet -dumpbase dreidstudiomaxloader.cpp
-march=athlon-xp -mmmx -msse -m3dnow -auxbase dreidstudiomaxloader -O2
-version -ffast-math -funroll-loops -funswitch-loops -fpeel-loops
-funit-at-a-time -ftracer -fweb -o dreidstudiomaxloader.s
GNU C++ version 3.4.1 (i686-pc-linux-gnu)
compiled by GNU C version 3.4.1.
GGC-Heuristik: --param ggc-min-expand=64 --param ggc-min-heapsize=64348
as -V -Qy -o dreidstudiomaxloader.o dreidstudiomaxloader.s
--
Summary: Code Slowdown wth -freduce-all-givs in C++
Product: gcc
Version: 3.4.1
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: other
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: CaptainSifff at gmx dot de
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-linux-gnu
GCC host triplet: i686-linux-gnu
GCC target triplet: i686-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17028