MIPS patch: allow ints in FPRs, rework some float patterns

Richard Henderson rth@redhat.com
Mon Jul 15 15:05:00 GMT 2002


On Tue, Jul 09, 2002 at 02:23:07PM +0100, Richard Sandiford wrote:
> The main problem with extending it to 64-bit integers is the lack
> of automatic sign extension.  When 32-bit values are stored in 64-bit
> float registers, the upper 32 bits are left undefined.  So the
> definition of LOAD_EXTEND_OP doesn't hold:
> 
>     #define LOAD_EXTEND_OP(MODE) \
>       (TARGET_64BIT && ((MODE) == SImode || (MODE) == CCmode) \
>        ? SIGN_EXTEND : ZERO_EXTEND)
> 
> I've tried to avoid the problem by including 64-bit FPRs in
> CLASS_CANNOT_CHANGE_MODE.  Is that the right thing to do?
> Is it going to be enough?

I believe so.  Certainly Alpha has the same issue, but we've
been able to load integer data in fp registers for a long time.


r~



More information about the Gcc-patches mailing list