This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 4.3 bootstrap broken on i386-linux
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: Richard Guenther <richard dot guenther at gmail dot com>, François-Xavier Coudert <fxcoudert at gmail dot com>, gcc-patches at gcc dot gnu dot org, marius dot cornea at intel dot com, michael dot meissner at amd dot com
- Date: Wed, 4 Apr 2007 01:01:28 +0200
- Subject: Re: 4.3 bootstrap broken on i386-linux
- References: <5BA1A644-ED1B-4726-A0BE-EEE74C960927@gmail.com> <19c433eb0703270328obcc5119t552d6564fe02781b@mail.gmail.com> <20070327133651.GB3106@lucon.org> <84fc9c000703270641i7ccda92co2aada339cc8ebc61@mail.gmail.com> <20070327135426.GA4855@lucon.org> <20070327140916.GA5016@lucon.org>
> On Tue, Mar 27, 2007 at 06:54:26AM -0700, H. J. Lu wrote:
> > On Tue, Mar 27, 2007 at 02:41:51PM +0100, Richard Guenther wrote:
> > > On 3/27/07, H. J. Lu <hjl@lucon.org> wrote:
> > > >On Tue, Mar 27, 2007 at 12:28:18PM +0200, François-Xavier Coudert wrote:
> > > >> >My nightly bootstrap of mainline on i386-linux failed tonight, on
> > > >> >revision 123192.
> > > >>
> > > >> This issue is still not fixed as of now. A diff was posted to PR31344
> > > >> with the mention "This isn't a real patch." Is a real patch planned in
> > > >> the near future, or is there any other short-time plan to get
> > > >> i386-linux bootstrap back?
> > > >
> > > >Just configure gcc with --disable-decimal-float. I don't think
> > > >dfp works on x86 very well.
> > >
> > > If it doesn't work it shouldn't be the default.
> >
> > I am trying to find a way to expose the dfp bugs on x86. Many DFP
> > testcases will fail on x86 at any optimization with error like
> >
> > bash-3.1$ ./xgcc -B./ -m32 -S /tmp/foo.i -mtune=generic
> > bash-3.1$ ./xgcc -B./ -m32 -S /tmp/foo.i -O1 -mtune=generic
> > /net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gcc.dg/compat/scalar-by-value-dfp_x.c: In function ???checkd128???:
> > /net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gcc.dg/compat/scalar-by-value-dfp_x.c:149:
> > internal compiler error: in cgraph_local_info, at cgraph.c:618
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
> > See <URL:http://gcc.gnu.org/bugs.html> for instructions.
> >
> > But for some reason, x86-64 works fine:
> >
> > bash-3.1$ ./xgcc -B./ -O3 -S /tmp/foo.i -mtune=generic
> >
>
> This patch allows me to finish bootstrap when configured as i386-linux:
>
> http://gcc.gnu.org/ml/gcc-testresults/2007-03/msg01308.html
> http://gcc.gnu.org/ml/gcc-testresults/2007-03/msg01309.html
> http://gcc.gnu.org/ml/gcc-testresults/2007-03/msg01310.html
> http://gcc.gnu.org/ml/gcc-testresults/2007-03/msg01311.html
>
> But many DFP testcases fails in 32bit and more will fail at any
> optimization.
>
>
> H.J.
> ----
> 2007-03-26 H.J. Lu <hongjiu.lu@intel.com>
>
> PR target/31344
> * config/i386/i386.md (pushsd1): New pattern.
> (*pushsd2): Likewise.
> (*pushsd2_rex64): Likewise.
> (pushdd1): Likewise.
> (*pushdd2): Likewise.
> (*pushdd2_rex64): Likewise.
> Split push DDmode for 32bit target.
Hi,
we don't need movdd patterns, since expand_move is smart enough to work
around by using integer modes.
if (GET_MODE_CLASS (mode) == MODE_DECIMAL_FLOAT)
{
rtx result = emit_move_via_integer (mode, x, y, true);
/* If we can't find an integer mode, use multi words. */
if (result)
return result;
else
return emit_move_multi_word (mode, x, y);
}
I think emit_single_push_insn should do the same to help also other
targets that do push/pop.
Honza