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