This is the mail archive of the
mailing list for the newlib project.
Re: [patch] adjust libgloss addresses for 64-bit
>>>>> "Maciej" == Maciej W Rozycki <firstname.lastname@example.org> writes:
Maciej> But in principle you are right for consistency the presence
Maciej> or the lack of the "d" prefix should imply the size of the
Maciej> operands used as it is so for other assembly instructions.
Maciej> So how about disabling the "wrong" macros completely? That
Maciej> is using as_bad() for these two "dla/la used to load..."
Maciej> messages just below "do_la" that are currently warnings.
Maciej> After all these load address macros are the only place where
Maciej> non-default address calculation rules can be argued about at
Maciej> all -- the interpretation of e.g.:
Maciej> lh $2, 0x80000000 lh $2, 0x80000000($3) lh $2, foo +
Maciej> 0x80000000($3) lh $2, foo + 0xc000000080000000($3)
One answer would be to use an implicit DLA for N64, and LA otherwise.
I was thinking more about explicitly written LA vs. DLA.
All this demonstrates once again that the whole built-in macro stuff
in the MIPS assembler was a design blunder from day one. Sigh.
Fortunately, GCC no longer uses any of this...