The example (attached below), when compiled by following gcc ------------------- $ gcc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../../../gcc-CVS-20050812/gcc-CVS-20050812/configure --host=i686-pc-linux-gnu --prefix=/usr/local/opt/gcc-4.1 --exec-prefix=/usr/local/opt/gcc-4.1 --sysconfdir=/etc --libdir=/usr/local/opt/gcc-4.1/lib --libexecdir=/usr/local/opt/gcc-4.1/libexec --sharedstatedir=/var --localstatedir=/var --program-suffix=-4.1 --with-x-includes=/usr/X11R6/include --with-x-libraries=/usr/X11R6/lib --enable-shared --enable-static --with-gnu-as --with-gnu-ld --with-stabs --enable-threads=posix --enable-version-specific-runtime-libs --disable-coverage --disable-libgcj --disable-checking --enable-multilib --with-x --enable-cmath --enable-libstdcxx-debug --enable-fast-character --enable-hash-synchronization --with-system-zlib --with-libbanshee --with-demangler-in-ld --with-arch=athlon-xp --enable-libada --enable-languages=c,c++,f95,objc,ada Thread model: posix gcc version 4.1.0 20050812 (experimental) ---------------------
with --------------------- g++ -O1 -funroll-loops -fvariable-expansion-in-unroller -c me_utils_mmx.cpp -o me_utils_mmx.o --------------------- results in this: --------------------- me_utils_mmx.cpp: In function âdirac::CalcValueType dirac::simple_block_diff_up_mmx_4(const dirac::PicArray&, const dirac::PicArray&, const dirac::ImageCoords&, const dirac::ImageCoords&, const dirac::ImageCoords&, const dirac::ValueType*)â: me_utils_mmx.cpp:23841: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. --------------------- Tested on i686-pc-linux-gnu. gcc version 4.0.2 20050804 (prerelease) fails the same way. gcc version 3.4.3 (Mandrakelinux 10.2 3.4.3-7mdk) doesn't compile this at all because of errors (should be because the included headers are from 4.1), perhaps after reduction it might. For x86_64 it fails as well, though it requires a patch (also attached) to compile, again due to the includes from i686 GCC this time. -- Summary: ICE on GCC 4.x with -O1 -funroll-loops -fvariable- expansion-in-unroller Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: drab at kepler dot fjfi dot cvut dot cz CC: gcc-bugs at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23376