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

Jan Beulich jbeulich@suse.com
Tue Mar 23 16:36:15 GMT 2021


On 22.03.2021 19:03, H.J. Lu wrote:
> 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.

Thanks. Just to confirm - you being okay with the approach here, are
also okay with the outlined (in a post commit message remark) further
planned course of action?

Jan


More information about the Binutils mailing list