[forwarded from http://bugs.debian.org/349268]
gcc version 4.0.2 (Debian 4.0.2-2) [EMAIL PROTECTED]:~% cat test.c extern int x[]; static int **STACK; static void get_block() { while (1) STACK[0] = x + (1L << 48); } [EMAIL PROTECTED]:~% gcc -c test.c [EMAIL PROTECTED]:~% gcc -c test.c -O [EMAIL PROTECTED]:~% gcc -c test.c -O -fPIC test.c: In function 'get_block': test.c:7: error: unrecognizable insn: (insn 34 33 30 0 (set (reg/f:DI 59) (plus:DI (reg:DI 61) (const_int 1125899906842624 [0x4000000000000]))) -1 (insn_list:REG_DEP_TRUE 33 (nil)) (expr_list:REG_DEAD (reg:DI 61) (expr_list:REG_EQUAL (const:DI (plus:DI (symbol_ref:DI ("x") [flags 0x40] <var_decl 0x2a959a7ea0 x>) (const_int 1125899906842624 [0x4000000000000]))) (nil)))) test.c:7: internal compiler error: in extract_insn, at recog.c:2020 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. -- Summary: unrecognizable insn with huge symbol offset Product: gcc Version: 4.0.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: debian-gcc at lists dot debian 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=26562