This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 3.0-pre crashes on i686 code
- To: Teemu Torma <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:13:58 +0200
- Cc: Jan Hubicka <jh at suse dot cz>, gcc-patches at gcc dot gnu dot org, rth at cygnus dot com, gcc at gcc dot gnu dot org
- References: <20010531180526.I28764@atrey.karlin.mff.cuni.cz> <3B166D26.C9FD5982@trema.com>
> Jan Hubicka wrote:
> >
> > 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],
>
> Yes, it compiles now.
Good,
Can you share the testcase, so it can be considered for approval for 3.0?
>
> Thanks,
>
> Teemu