PowerPC gas/ immediate range checking?

Becky Gill bgill@ibmoto.com
Fri May 25 12:59:00 GMT 2001


I have a question about gas on PowerPC.  The assembly instruction

addi	r3,r3,0xdead

Generates this warning:

Error: operand out of range (000000000000beef not between -32768 and 32767)

However, this immediate value is perfectly valid for the addi instruction.  It
looks as though gas is treating it as unsigned by default, filling in with
zeroes, and then range checking that number. This results in an incorrect
error, since the above instruction is valid.

So, 2 questions:

1) Why is gas implemented as it is currently?  Is this intentional?
2) Is there a way to get around this problem when hand-coding assembly?

Thanks!
-B



More information about the Binutils mailing list