Bug 21351

Summary: internal compiler error with sse
Product: gcc Reporter: Jean-Sebastien Roy <js>
Component: targetAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal CC: gcc-bugs
Priority: P2 Keywords: ice-on-valid-code, ssemmx
Version: 3.4.4   
Target Milestone: 3.4.5   
Host: Target: i686-pc-linux-gnu
Build: Known to work:
Known to fail: Last reconfirmed:
Attachments: Result of -save-temps

Description Jean-Sebastien Roy 2005-05-03 03:49:31 UTC
When using -msse with g++ 3.4.4 (snapshot of 20050429), an internal compiler
error happen:
g++34 -v -save-temps -I- -g -O2 -march=pentium4 -mfpmath=sse -msse2 -mmmx -msse
-fPIC -Wall -Wpointer-arith -Wcast-qual -Wwrite-strings -Wconversion -pipe -O2
-Iinclude -I/opt/js/devel/COIN/include -I/opt/js/devel/COIN/include
-DCOIN_USE_ZLIB -DCOIN_USE_BZLIB -c IdiSolve.cpp -o FreeBSD-O1/IdiSolve.o
g++34: warning: -pipe ignored because -save-temps specified
Reading specs from /usr/local/lib/gcc/i386-portbld-freebsd4.11/3.4.4/specs
Configured with: ./..//gcc-3.4-20050429/configure --disable-nls
--with-system-zlib --with-libiconv-prefix=/usr/local --program-suffix=34
--with-gxx-include-dir=/usr/local/lib/gcc/i386-portbld-freebsd4.11/3.4.4/include/c++/
--disable-shared --prefix=/usr/local i386-portbld-freebsd4.11
Thread model: posix
gcc version 3.4.4 20050429 (prerelease) [FreeBSD]
 /usr/local/libexec/gcc/i386-portbld-freebsd4.11/3.4.4/cc1plus -E -quiet -v -I-
-Iinclude -I/opt/js/devel/COIN/include -I/opt/js/devel/COIN/include -D__PIC__
-D__pic__ -DCOIN_USE_ZLIB -DCOIN_USE_BZLIB IdiSolve.cpp -march=pentium4
-mfpmath=sse -msse2 -mmmx -msse -Wall -Wpointer-arith -Wcast-qual
-Wwrite-strings -Wconversion -fPIC -fworking-directory -O2 -O2 -o IdiSolve.ii
ignoring nonexistent directory
"/usr/local/lib/gcc/i386-portbld-freebsd4.11/3.4.4/../../../../i386-portbld-freebsd4.11/include"
ignoring duplicate directory "/opt/js/devel/COIN/include"
#include "..." search starts here:
#include <...> search starts here:
 include
 /opt/js/devel/COIN/include
 /usr/local/lib/gcc/i386-portbld-freebsd4.11/3.4.4/include/c++/
 /usr/local/lib/gcc/i386-portbld-freebsd4.11/3.4.4/include/c++//i386-portbld-freebsd4.11
 /usr/local/lib/gcc/i386-portbld-freebsd4.11/3.4.4/include/c++//backward
 /usr/local/include
 /usr/local/lib/gcc/i386-portbld-freebsd4.11/3.4.4/include
 /usr/include
End of search list.
 /usr/local/libexec/gcc/i386-portbld-freebsd4.11/3.4.4/cc1plus -fpreprocessed
IdiSolve.ii -quiet -dumpbase IdiSolve.cpp -march=pentium4 -mfpmath=sse -msse2
-mmmx -msse -auxbase-strip FreeBSD-O1/IdiSolve.o -g -O2 -O2 -Wall
-Wpointer-arith -Wcast-qual -Wwrite-strings -Wconversion -version -fPIC -o
IdiSolve.s
GNU C++ version 3.4.4 20050429 (prerelease) [FreeBSD] (i386-portbld-freebsd4.11)
        compiled by GNU C version 3.4.4 20050429 (prerelease) [FreeBSD].
GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=65536
IdiSolve.cpp: In member function `IdiotResult Idiot::IdiSolve(int, int, double*,
double*, double*, double*, const double*, const double*, double*, const double*,
const double*, const double*, const int*, const CoinBigIndex*, const int*,
double*, int, double, double, double, double, int, double, double, double)':
IdiSolve.cpp:1105: error: could not split insn
(insn:TI 9354 9495 10934 IdiSolve.cpp:265 (set (reg:DF 23 xmm2)
        (if_then_else:DF (unge (reg:DF 23 xmm2)
                (mem/u/f:DF (reg:SI 2 cx) [8 S8 A64]))
            (reg:DF 21 xmm0 [255])
            (const_double:DF 0 [0x0] 0.0 [0x0.0p+0]))) 485
{*sse_movdfcc_const0_1} (insn_list 9495 (insn_list 807 (insn_list 9494 (nil))))
    (expr_list:REG_DEAD (reg:SI 2 cx)
        (expr_list:REG_DEAD (reg:DF 21 xmm0 [255])
            (nil))))
IdiSolve.cpp:1105: internal compiler error: in final_scan_insn, at final.c:2429
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Comment 1 Jean-Sebastien Roy 2005-05-03 03:50:57 UTC
Created attachment 8802 [details]
Result of -save-temps
Comment 2 Jean-Sebastien Roy 2005-05-09 20:21:57 UTC
The bug is still present gcc version 3.4.4 20050506.
Comment 3 Jean-Sebastien Roy 2005-05-27 14:58:47 UTC
Seems fixed as of 3.4.5 20050524.