This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC 3.1.1 Status


> 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 :)

Honza
> 
> 
> Bernd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]