[PATCH] x86-64 corrections

Nick Clifton nickc@redhat.com
Wed Jul 21 16:11:00 GMT 2004


Hi Jan,

> gas:
> 2004-07-02 Jan Beulich <jbeulich@novell.com>
> 
> 	* config/tc-i386.c (optimize_imm): Adjust immediates to only
> those
> 	permissible for the selected instruction suffix.
> 	(match_template): Don't permit 64-bit general purpose operands
> in
> 	32-bit mode.
> 	(finalize_imm): Permit 64-bit immediates.
> 	(build_modrm_byte): Don't treat 32-bit addressing in 64-bit
> mode
> 	specially except for the width of the used base and/or index
> registers.
> 	For 32-bit displacements, use sign-extended relocations only
> when
> 	using 64-bit addressing.
> 	Force zero displacement on rip-relative addressing when there is
> no
> 	other displacement.
> 	(i386_index_check): Don't treat 32-bit addressing in 64-bit
> mode
> 	specially except for the width of the used base and/or index
> 	registers.
> 	(parse_register): Disallow Reg64 registers in 32-bit mode.
> 	* testsuite/gas/i386/x86-64-addr32.[ds]: New test for x86-64
> 	32-bit addressing in 64-bit mode.
> 	* testsuite/gas/i386/x86-64-rip.[ds]: New test for x86-64
> 	rip-relative addressing.
> 	* testsuite/gas/i386/i386.exp: Run the two new tests.
> 
> opcodes:
> 2004-07-02 Jan Beulich <jbeulich@novell.com>
> 
> 	* i386-dis.c (OP_E): Show rip-relative addressing in 64-bit
> mode
> 	regardless of address size prefix in effect.
> 	(ptr_reg): Size or address registers does not depend on rex64,
> but on
> 	the presence of an address size override.
> 	(OP_MMX): Use rex.x only for xmm registers.
> 	(OP_EM): Use rex.z only for xmm registers.

Approved and applied.

Note - there is a separate ChangeLog file in the gas/testsuite directory 
so I have moved part of your gas/ChangeLog entry there.

Cheers
   Nick



More information about the Binutils mailing list