This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 3.1.1 Status
- From: Bernd Schmidt <bernds at redhat dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: Gerald Pfeifer <pfeifer at dbai dot tuwien dot ac dot at>,Mark Mitchell <mark at codesourcery dot com>, <gcc at gcc dot gnu dot org>
- Date: Wed, 19 Jun 2002 14:45:38 +0100 (BST)
- Subject: Re: GCC 3.1.1 Status
On Wed, 19 Jun 2002, Jan Hubicka wrote:
> > On Tue, 18 Jun 2002, Gerald Pfeifer wrote:
> >
> > > On Tue, 18 Jun 2002, Mark Mitchell wrote:
> > > > There are about ten high-priority bugs in GNATS that we should try to
> > > > fix before the release.
> > >
> > > One is http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=6957
> > >
> > > could not find a spill register
> > > (insn 96 94 97 (set (subreg:SF (reg:QI 75) 0)
> > > (plus:SF (reg:SF 8 st(0) [76])
> > > (reg:SF 9 st(1) [80]))) 525 {*fop_sf_comm_nosse}
> > > (insn_list 87 (nil))
> > > (expr_list:REG_DEAD (reg:SF 8 st(0) [76])
> > > (nil)))
> > > ../../../../../extras/Mesa/src/trans_tmp.h:124: Internal compiler error in
> > > failed_reload, at reload1.c:5050
> > >
> > > which really caused quite some troubles in FreeBSD land (and which I
> > > was able to reproduce with the current GCC 3.1 branch).
> >
> > I'm currently looking into this one.
>
> I think it is equivalent to 6845 that has small testcase. THere is
> also 7034. I think both should be high prioerity as they are
> regressions, but I am not sure whether I can change the prioerity right
> now.
>
> I was tracking it down a bit and the problem appears to be in register
> used in very contradictionary ways sometimes as integer, sometimes as
> float using subreg.
>
> The register costs are high for fp<->integer conversions and somehow the
> cheapest comes out MMX_CLASS. Register allocation decides to put
> register there and later we die.
>
> I am not sure how to fix that properly... Hope that helps :)
Well, I'm relatively sure how to fix it properly - disallow paradoxical
FLOAT_MODE subregs like the one we have up there. This kind of rtl seems
a bit dodgy at best. But before I commit the patch I have I'll need to
figure out why exactly reload blows up; that may or may not be a bug.
Bernd