[PATCH 7/8] x86: derive mandatory prefix attribute from base opcode

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


On Mon, Mar 22, 2021 at 05:46:14PM +0100, Jan Beulich wrote:
> Just like is already done for legacy encoded insns, record the mandatory
> prefix information in the respective opcode modifier field. Do this
> without changing the source table, but rather by deriving the values from
> their existing source representation.
> 
> gas/
> 2021-03-XX  Jan Beulich  <jbeulich@suse.com>
> 
> 	* config/tc-i386.c (md_begin): Add assertion.
> 	(build_vex_prefix): Drop implied prefix calculation.
> 	(build_evex_prefix): Likewise.
> 	(optimize_encoding): Adjust opcode checks.
> 	(load_insn_p): Also check opcodeprefix.
> 	(match_template): Also check opcodespace.
> 	(process_suffix): Likewise.
> 	(process_operands): Likewise.
> 	(output_insn): Likewise. Also check isprefix when discaring
> 	standalone LOCK.
> 	* config/tc-i386-intel.c (i386_intel_operand): Also check
> 	opcodespace.
> 
> opcodes/
> 2021-03-XX  Jan Beulich  <jbeulich@suse.com>
> 
> 	* i386-gen.c (process_i386_opcode_modifier): Return void. New
> 	parameter "prefix". Drop local variable "regular_encoding".
> 	Record prefix setting / check for consistency.
> 	(output_i386_opcode): Parse opcode_length and base_opcode
> 	earlier. Derive prefix encoding. Drop no longer applicable
> 	consistency checking. Adjust process_i386_opcode_modifier()
> 	invocation.
> 	(process_i386_opcodes): Adjust process_i386_opcode_modifier()
> 	invocation.
> 	* i386-tbl.h: Re-generate.

OK.  Thanks.

H.J.


More information about the Binutils mailing list