> Eric, I tried my best to get the new code working properly on 64-bit
> and I just couldn't figure out a reasonably way to do so.

Same here, this looks really tricky.  On the one hand we could give in a little 
and tolerate inferior code quality in 64-bit mode, but on the other hand this 
is a bit hard to swallow as the instructions we can play with are the same.

> One thing that really irks me is how pseudo's can only be subreg'd
> on UNITS_PER_WORD boundaries.  That's the real reason this stuff
> doesn't work and it's nearly impossible to subreg 32-bit values
> that end up in float regs on sparc when compiling 64-bit.

Yes, this was done on purpose to solve very nasty RA/reload problems, but the
irregularity of the SPARC register file in 64-bit mode clearly conflicts with 
it.  And not all issues were solved, so we used CANNOT_CHANGE_MODE_CLASS to 
mask some of the remaining ones on SPARC (and on PA).  

> Anyways, commited to trunk and all the 64-bit failures should be gone.

Do we have the same problem in VIS2/3 mode as in VIS1 mode?  If so, then I 
agree that this is probably the best course of action in the short term.

-- 
Eric Botcazou

Reply via email to