http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50762
John Regehr <regehr at cs dot utah.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |regehr at cs dot utah.edu --- Comment #1 from John Regehr <regehr at cs dot utah.edu> 2011-11-08 04:30:50 UTC --- Same crash, but with vanilla compiler flags and only vanilla C code in the test case: [regehr@gamow tmp048]$ current-gcc -O small.c small.c: In function 'func_59': small.c:48:1: error: unrecognizable insn: (insn 29 28 30 3 (set (reg:DI 0 ax [78]) (zero_extend:DI (const_int 1 [0x1]))) small.c:35 -1 (expr_list:REG_DEAD (reg/v:SI 59 [ p_60 ]) (nil))) small.c:48:1: internal compiler error: in extract_insn, at recog.c:2137 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. [regehr@gamow tmp048]$ current-gcc -v Using built-in specs. COLLECT_GCC=current-gcc COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r181147-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --with-libelf=/usr/local --enable-lto --prefix=/home/regehr/z/compiler-install/gcc-r181147-install --program-prefix=r181147- --enable-languages=c,c++ Thread model: posix gcc version 4.7.0 20111108 (experimental) (GCC) [regehr@gamow tmp048]$ cat small.c int func_2 (int si1, int si2) { return 0; } short func_9 (int si1, int si2) { return 0; } int g_92; int g_97; int g_159; int g_210; int g_242; int g_281; int func_59 (unsigned p_60) { int l_61[][1][1] = { }; lbl_348:for (p_60 = 0; p_60 <= 1; p_60 += 1) { int l_65[][1] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x87D1 }; int l_243; for (;;) { l_243 = func_9 (0, 0) == l_65[4][5]; if (l_243) break; return l_61[p_60 + 1][0][0]; } } for (;;) { if (p_60) continue; for (;; g_281 = 0) if (l_61[0][0][0] = g_92) if (func_2 (l_61[0][g_159][0] | g_210, g_97)) if (g_242) goto lbl_348; } } int main () { return 0; }