This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]