This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/36786] New: ICE in extract_insn, at recog.c:1990
- From: "aldot at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Jul 2008 11:34:23 -0000
- Subject: [Bug c/36786] New: ICE in extract_insn, at recog.c:1990
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
me@amd64:/scratch/obj.x86_64/gcc-4.4/x86_64-linux-gnu/libgcc$
/scratch/obj.x86_64/gcc-4.4/./gcc/xgcc -B/scratch/obj.x86_64/gcc-4.4/./gcc/
-B/opt/x86_64/gcc-4.4//x86_64-linux-gnu/bin/
-B/opt/x86_64/gcc-4.4//x86_64-linux-gnu/lib/ -isystem
/opt/x86_64/gcc-4.4//x86_64-linux-gnu/include -isystem
/opt/x86_64/gcc-4.4//x86_64-linux-gnu/sys-include -O0 -g3 -ggdb3
-finline-limit=1 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wcast-qual -Wc++-compat -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
-I. -I. -I../.././gcc -I../../../../src/gcc-4.4/libgcc
-I../../../../src/gcc-4.4/libgcc/. -I../../../../src/gcc-4.4/libgcc/../gcc
-I../../../../src/gcc-4.4/libgcc/../include
-I../../../../src/gcc-4.4/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS -DUSE_TLS -o _floatdisf.o -MT _floatdisf.o -MD -MP -MF
_floatdisf.dep -DL_floatdisf -c ../../../../src/gcc-4.4/libgcc/../gcc/libgcc2.c
-fvisibility=hidden -DHIDE_EXPORTS
../../../../src/gcc-4.4/libgcc/../gcc/libgcc2.c: In function ?__floattisf?:
../../../../src/gcc-4.4/libgcc/../gcc/libgcc2.c:1530: error: unrecognizable
insn:
(insn 140 139 141 8 ../../../../src/gcc-4.4/libgcc/../gcc/libgcc2.c:1511
(parallel [
(set (reg:DI 1 dx [ D.5355+8 ])
(ashiftrt:SI (reg:DI 1 dx [ D.5355+8 ])
(const_int 31 [0x1f])))
(clobber (reg:CC 17 flags))
]) -1 (nil))
../../../../src/gcc-4.4/libgcc/../gcc/libgcc2.c:1530: internal compiler error:
in extract_insn, at recog.c:1990
reduced testcase:
------------------------
typedef int DItype __attribute__ ((mode (DI)));
typedef unsigned int UDItype __attribute__ ((mode (DI)));
typedef int TItype __attribute__ ((mode (TI)));
__floattisf (TItype u)
{
DItype hi = u >> (8 * 8);
UDItype count, shift;
hi = u >> shift;
}
------------------------
gives:
$ /scratch/obj.x86_64/gcc-4.4/./gcc/xgcc -B/scratch/obj.x86_64/gcc-4.4/./gcc/
-B/opt/x86_64/gcc-4.4//x86_64-linux-gnu/bin/
-B/opt/x86_64/gcc-4.4//x86_64-linux-gnu/lib/ _floatdisf.3.i -o foo.o -v
Reading specs from /scratch/obj.x86_64/gcc-4.4/./gcc/specs
Target: x86_64-linux-gnu
Configured with: ../../src/gcc-4.4/configure -v --enable-languages=c
CFLAGS='-O0 -g3 -ggdb3 -finline-limit=1' CXXFLAGS='-O0 -g3 -ggdb3
-finline-limit=1' 'BOOT_CFLAGS=-O0 -g3 -ggdb3 -finline-limit=1'
'BOOT_CXXFLAGS=-O0 -g3 -ggdb3 -finline-limit=1' 'CFLAGS_FOR_TARGET=-O0 -g3
-ggdb3 -finline-limit=1' 'CXXFLAGS_FOR_TARGET=-O0 -g3 -ggdb3 -finline-limit=1'
--prefix=/opt/x86_64/gcc-4.4/ --enable-shared --with-system-zlib
--libexecdir=/opt/x86_64/gcc-4.4/lib --enable-nls --without-included-gettext
--enable-threads=posix --program-suffix=-4.4-HEAD --enable-__cxa_atexit
--enable-libstdcxx-allocator=mt --enable-clocale=gnu --enable-libstdcxx-debug
--enable-mpfr --disable-werror --enable-checking=yes --enable-debug
--disable-multilib --disable-intermodule --with-gmp=/opt/x86_64/gmp-4.2.2/
--with-mpfr=/opt/x86_64/mpfr-2.3.0 x86_64-linux-gnu
Thread model: posix
gcc version 4.4.0 20080710 (experimental) [trunk revision 137693] (GCC)
COLLECT_GCC_OPTIONS='-B/scratch/obj.x86_64/gcc-4.4/./gcc/'
'-B/opt/x86_64/gcc-4.4//x86_64-linux-gnu/bin/'
'-B/opt/x86_64/gcc-4.4//x86_64-linux-gnu/lib/' '-o' 'foo.o' '-v'
'-mtune=generic'
/scratch/obj.x86_64/gcc-4.4/./gcc/cc1 -fpreprocessed _floatdisf.3.i -quiet
-dumpbase _floatdisf.3.i -mtune=generic -auxbase _floatdisf.3 -version -o
/tmp/ccGtWvPG.s
GNU C (GCC) version 4.4.0 20080710 (experimental) [trunk revision 137693]
(x86_64-linux-gnu)
compiled by GNU C version 4.3.1, GMP version 4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 447e9dc035427ea16ce8a65ef6b556b7
_floatdisf.3.i: In function ?__floattisf?:
_floatdisf.3.i:9: error: unrecognizable insn:
(insn 44 43 45 2 _floatdisf.3.i:8 (parallel [
(set (reg:DI 1 dx [ D.1589+8 ])
(ashiftrt:SI (reg:DI 1 dx [ D.1589+8 ])
(const_int 31 [0x1f])))
(clobber (reg:CC 17 flags))
]) -1 (nil))
_floatdisf.3.i:9: internal compiler error: in extract_insn, at recog.c:1990
--
Summary: ICE in extract_insn, at recog.c:1990
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code, build
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: aldot at gcc dot gnu dot org
GCC build triplet: x86_64-linux-gnu
GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36786