mips - claritification

reedkotler@hotmail.com reedkotler@hotmail.com
Wed Sep 13 18:43:00 GMT 2000


it appears that maybe the problem is just a gas problem.

the compiler generates
move $fp,$sp

but a
daddu is generated because the -mfp32 and -mgp32 is not a parameter
to gas.

----- Original Message -----
From: "Gavin Romig-Koch" <gavin@cygnus.com>
To: "Reed Kotler" <reedkotler@hotmail.com>
Cc: <gcc@gcc.gnu.org>
Sent: Wednesday, September 13, 2000 2:45 PM
Subject: Re: mips - claritification


> Reed Kotler writes:
>  > Are  you saying that I will have to make code gnerator/backend changes?
>
> I'm saying someone will have to do it :-).
>
>  > When I set all the -mgp32 and -mfp32 and such, it generates
>  > 32 bit code except whenever any kind of address is involved.
>
> mgp32 and mfp32 have lots of bugs associated with them.  This
> is probably one of them.
>
> cc1 and the assembler confuse the meanings of these flags and
> the -mips1/-mips2/etc flags; they sometimes use one flag when
> they should be using the other.  Various persons have made
> attempts to fix some of these problems, but some still remain.
> It's possible that one of these attempts broke the compiler
> for you.
>
> These flags have effects upon the size of data types, as does
> the choice of ABI.  In some cases the ABI should take precidence,
> in others the ABI allows for differing data types.  No one
> has had the time to work out how all this should work and
> make it do that.
>
> Officially "mgp32" means the hardware has 32bit registers.
> What you discribed in an earlier message was producing code
> for a machine that has 64 bit registers, but you only want
> to use the lower 32 bits.  Off hand I don't remember why
> this distinction matters, but I have a vague memory that
> it does.
>
> If your willing to take this issue on, more power to you.
>
>                                       -gavin...
>
>


More information about the Gcc mailing list