[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