This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 3.0-pre crashes on i686 code
- To: gcc-patches at gcc dot gnu dot org, rth at cygnus dot com, gcc at gcc dot gnu dot org, tot at trema dot com
- Subject: Re: 3.0-pre crashes on i686 code
- From: Jan Hubicka <jh at suse dot cz>
- Date: Thu, 31 May 2001 18:05:26 +0200
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],