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


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

This makes sense.  I tought those gets constructed in union/structure
handling so they are dificult to disable?  This may be the case of
nonparadoxical subregs only.  But won't same problems show up for
combination for integer/float as well (ie non-paradoxical).

Other problem may be that a lot of parts of compilers gets surprised
when subregs fails to combine.

> 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.

This may solve my problem in x86-64 mode as well, where reload
intreg->mmx is generated any time __m64 is passed via function argument
(as it is long long at the moment). I am getting similar errors in such
cases.

Honza
> 
> 
> Bernd


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