This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/17113] New: GCSE breaks SSE2 intrinsics
- From: "bobm75 at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Aug 2004 23:59:40 -0000
- Subject: [Bug c++/17113] New: GCSE breaks SSE2 intrinsics
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
When I compile the following source file using:
$ gcc -march=pentium4 -O2 gccbug-p.cpp
The program breaks with the output seen below. However if I compile it like:
$ gcc -march=pentium4 -O2 -fno-gcse gccbug-p.cpp
Everything is fine.
Output with -march=pentium4 -O2
-------------------------------
Reading specs from /opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/specs
Configured with: ./configure --prefix=/opt/gcc-3.4
Thread model: posix
gcc version 3.4.1
/opt/gcc-3.4/libexec/gcc/i686-pc-linux-gnu/3.4.1/cc1plus -quiet -v
-D_GNU_SOURCE gccbug-p.cpp -quiet -dumpbase gccbug-p.cpp -march=pentium4
-auxbase gccbug-p -O2 -version -o /tmp/cc69Idn4.s
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory
"/opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1
/opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu
/opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/backward
/opt/gcc-3.4/include
/opt/gcc-3.4/lib/gcc/i686-pc-linux-gnu/3.4.1/include
/usr/include
End of search list.
GNU C++ version 3.4.1 (i686-pc-linux-gnu)
compiled by GNU C version 3.4.2 20040819 (prerelease).
GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=129450
gccbug-p.cpp: In function `void test1(int*)':
gccbug-p.cpp:70: error: unrecognizable insn:
(insn:HI 240 4 241 0 (set (reg:V16QI 79 [ __B ])
(const_vector:V16QI [
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
])) -1 (nil)
(expr_list:REG_EQUAL (const_vector:V16QI [
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
])
(nil)))
gccbug-p.cpp:70: internal compiler error: in extract_insn, at recog.c:2083
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
--
Summary: GCSE breaks SSE2 intrinsics
Product: gcc
Version: 3.4.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bobm75 at gmail dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17113