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