x86-64 support for gas part I

Jan Hubicka jh@suse.cz
Tue Dec 19 02:26:00 GMT 2000


> On Tue, Dec 19, 2000 at 12:18:51PM +1100, Alan Modra wrote:
> > > ! 		  disp = (((disp & 0xffffffff) ^ 0x80000000) - 0x80000000);
> > 
> > Constants in range 0x80000000 to 0xffffffff here need fixing.
> 
> No, this one's fine.  Either it's a 64-bit machine and the
> sign extension happens as planned, or it's a no-op.
On 64bit and K&R C compiler the disp & 0xffffffff is IMO no-op,
assuming that constant is signed int and thus sign extended to
to the 64bit -1.

Anyway my updated patch contains this rewrite to "official" form
using shifts and is consistent with rest of file, so maybe it is
cleaner.

Thanks for comment :)
Honza
> 
> 
> r~


More information about the Binutils mailing list