3.0-pre crashes on i686 code

Jan Hubicka jh@suse.cz
Thu May 31 09:05:00 GMT 2001


Looking at the crash, it seems to be latent bug.  Can you try whether following patch fix your testcase?
Thu May 31 18:04:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
	* i386.c (ix86_expand_int_movcc): Force one of operands to be register.
Index: config/i386/i386.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.c,v
retrieving revision 1.261
diff -c -3 -p -r1.261 i386.c
*** i386.c	2001/05/24 13:59:09	1.261
--- i386.c	2001/05/31 16:04:45
*************** ix86_expand_int_movcc (operands)
*** 6575,6580 ****
--- 6575,6583 ----
        emit_move_insn (tmp, operands[2]);
        operands[2] = tmp;
      }
+   if (! register_operand (operands[2], VOIDmode)
+       && ! register_operand (operands[3], VOIDmode))
+     operands[2] = force_reg (GET_MODE (operands[0]), operands[2]);
  
    emit_insn (compare_seq);
    emit_insn (gen_rtx_SET (VOIDmode, operands[0],



More information about the Gcc mailing list