This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 1/3] Enable Intel WAITPKG instructions.
On Sun, Apr 15, 2018 at 4:30 AM, Jan Beulich <jbeulich@suse.com> wrote:
>>>> "Tsimbalist, Igor V" <igor.v.tsimbalist@intel.com> 04/09/18 3:41 PM >>>
>>opcodes/
>>* i386-dis.c (enum): Add PREFIX_MOD_0_0FAE_REG_6,
>>PREFIX_MOD_1_0FAE_REG_6.
>>* i386-dis-evex.h (prefix_table):
>>New instructions (see prefixes above).
>>* i386-gen.c (cpu_flag_init): Add WAITPKG.
>>(cpu_flags): Likewise.
>>* i386-opc.h (enum): Likewise.
>>(i386_cpu_flags): Likewise.
>>* i386-opc.tbl: Add umonitor, umwait, tpause.
>
> After having read the instruction pages in full I disagree with the tpause and
> umwait templates you've introduced: Arguably the instruction pages are slightly
> ambiguous, but especially the fault conditions suggest that in 64-bit mode both
> 32- and 64-bit registers can be specified as input operands. Hence both insns
> should have just a single template with no Cpu64 or CpuNo64, and with
> Reg32|Reg64 as permitted operands.
>
> Also, while H.J. may not like that, I think both should permit for l and q suffixes.
>
> Jan
>
They should be treated similar to pinsrw. That is both r32/r64 are allowed and
REX.W is skipped. As for suffix, we shouldn't add them since these are new
instructions.
--
H.J.