This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Add a warning for some problematic MIPS constants
On Wed, Sep 19, 2007 at 03:42:26PM +0100, Maciej W. Rozycki wrote:
> On Wed, 19 Sep 2007, Daniel Jacobowitz wrote:
>
> > The cases I'm trying to warn about are instructions that do not have a
> > clear explicit width. For instance, "li" and "dli" are obvious, but
> > bne and sltu are not. If you write "bne $4,0x80000000,label" gas
> > zero extends the constant, and Diab sign extends it.
>
> So is there a way to express 2147483648 as a hexadecimal number with this
> macro with that Diab tool?
I don't know. I strongly suspect that the answer is "no". The
obvious would be "bne $4,0x0000000080000000,label" and that sign
extends too. Unfortunately there's nothing I can do about that :-(
All their macros appear to be defined to take 32-bit signed values;
it warns and discards the upper bits if you try a constant such as
0x180000000.
--
Daniel Jacobowitz
CodeSourcery