[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