[PATCH 4/8] x86: split opcode prefix and opcode space representation

H.J. Lu hjl.tools@gmail.com
Mon Mar 22 18:04:09 GMT 2021


On Mon, Mar 22, 2021 at 05:44:19PM +0100, Jan Beulich wrote:
> Commit 8b65b8953af2 ("x86: Remove the prefix byte from non-VEX/EVEX
> base_opcode") used the opcodeprefix field for two distinct purposes. In
> preparation of having VEX/XOP/EVEX and non-VEX templates become similar
> in the representatioon of both encoding space and opcode prefixes, split
> the field to have a separate one holding an insn's opcode space.
> 
> gas/
> 2021-03-XX  Jan Beulich  <jbeulich@suse.com>
> 
> 	* config/tc-i386.c (pte): Print prefix and encoding space.
> 	(build_vex_prefix): Check opcodespace instead of opcodeprefix.
> 	(build_evex_prefix): Likewise.
> 	(load_insn_p): Likewise.
> 
> opcodes/
> 2021-03-XX  Jan Beulich  <jbeulich@suse.com>
> 
> 	* i386-gen.c (opcode_modifiers): New OpcodeSpace element.
> 	* i386-opc.h (OpcodeSpace): New enumerator.
> 	(VEX0F, VEX0F38, VEX0F3A, XOP08, XOP09, XOP0A): Rename to ...
> 	(SPACE_BASE, SPACE_0F, SPACE_0F38, SPACE_0F3A, SPACE_XOP08,
> 	SPACE_XOP09, SPACE_XOP0A): ... respectively.
> 	(struct i386_opcode_modifier): New field opcodespace. Shrink
> 	opcodeprefix field.
> 	i386-opc.tbl (Space0F, Space0F38, Space0F3A, SpaceXOP08,
> 	SpaceXOP09, SpaceXOP0A): Define. Use them to replace
> 	OpcodePrefix uses.
> 	* i386-tbl.h: Re-generate.
> 

OK.  Thanks.

H.J.


More information about the Binutils mailing list