http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55718
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-17 10:40:30 UTC --- Reduced testcase: extern char temp[]; short ansi_value[256]; void terminal_state(void) { static const char *puc[] = { "", "<", "=", ">", "?", 0}; int i, j, k, l, modes_found; char buf[256]; k = (int) __builtin_strlen(temp); for (j = l = 0; j < 255 && j - l < 50; j++) { __builtin_sprintf(temp, "\033[%s%d$p", puc[i], j); if (ansi_value[1]) { l = j; buf[k] = '\0'; put_crlf(); ptextln(buf); buf[k++] = ' '; k = (int) __builtin_strlen(temp); } } for (i = j = 0; j < modes_found; j = ++i >> 1) ; } (gdb) bt #0 fancy_abort ( file=0x1170a20 "/space/rguenther/src/svn/trunk/gcc/emit-rtl.c", line=866, function=0x1171ab9 <gen_reg_rtx(machine_mode)::__FUNCTION__> "gen_reg_rtx") at /space/rguenther/src/svn/trunk/gcc/diagnostic.c:1146 #1 0x000000000077a669 in gen_reg_rtx (mode=DImode) at /space/rguenther/src/svn/trunk/gcc/emit-rtl.c:866 #2 0x00000000009aaa64 in maybe_legitimize_operand (icode=CODE_FOR_adddi3, opno=0, op=0x7fffffffd040) at /space/rguenther/src/svn/trunk/gcc/optabs.c:8057 #3 0x00000000009aadca in maybe_legitimize_operands (icode=CODE_FOR_adddi3, opno=0, nops=3, ops=0x7fffffffd040) at /space/rguenther/src/svn/trunk/gcc/optabs.c:8130 #4 0x00000000009aae5e in maybe_gen_insn (icode=CODE_FOR_adddi3, nops=3, ops=0x7fffffffd040) at /space/rguenther/src/svn/trunk/gcc/optabs.c:8148 #5 0x000000000099a590 in expand_binop_directly (mode=DImode, binoptab=add_optab, op0=0x7ffff6e1f5a0, op1=0x7ffff6d074b0, target=0x0, unsignedp=1, methods=OPTAB_LIB_WIDEN, last=0x0) at /space/rguenther/src/svn/trunk/gcc/optabs.c:1452 #6 0x000000000099a7f7 in expand_binop (mode=DImode, binoptab=add_optab, op0=0x7ffff6e1f5a0, op1=0x7ffff6d074b0, target=0x0, unsignedp=1, methods=OPTAB_LIB_WIDEN) at /space/rguenther/src/svn/trunk/gcc/optabs.c:1521 #7 0x0000000000999f66 in expand_simple_binop (mode=DImode, code=PLUS, op0=0x7ffff6e1f5a0, op1=0x7ffff6d074b0, target=0x0, unsignedp=1, methods=OPTAB_LIB_WIDEN) at /space/rguenther/src/svn/trunk/gcc/optabs.c:1269 #8 0x00000000007b8479 in force_operand (value=0x7ffff6e1f600, target=0x0) at /space/rguenther/src/svn/trunk/gcc/expr.c:7042 #9 0x0000000000d44720 in legitimize_pic_address (orig=0x7ffff6e19a70, reg=0x7ffff6e20220) at /space/rguenther/src/svn/trunk/gcc/config/s390/s390.c:3669 #10 0x0000000000d458f9 in emit_symbolic_move (operands=0x7fffffffd4f0) at /space/rguenther/src/svn/trunk/gcc/config/s390/s390.c:3925 #11 0x0000000000d855cf in gen_movdi (operand0=0x7ffff6e20220, operand1=0x7ffff6e19a70) at /space/rguenther/src/svn/trunk/gcc/config/s390/s390.md:1339 #12 0x00000000007abfb0 in emit_move_insn_1 (x=0x7ffff6e20220, y=0x7ffff6e19a70) at /space/rguenther/src/svn/trunk/gcc/expr.c:3417 #13 0x00000000009a2e07 in gen_move_insn (x=0x7ffff6e20220, y=0x7ffff6e19a70) at /space/rguenther/src/svn/trunk/gcc/optabs.c:4785 #14 0x0000000000a28c8b in gen_reload (out=0x7ffff6e20220, in=0x7ffff6e19a70, opnum=2, type=RELOAD_FOR_OPERAND_ADDRESS) at /space/rguenther/src/svn/trunk/gcc/reload1.c:8707