This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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