GCC 3.1.1 Status

Jan Hubicka jh@suse.cz
Wed Jun 19 07:19:00 GMT 2002


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



More information about the Gcc mailing list