This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: [PATH] AMD MWAITX enablement
- From: "Pawar, Amit" <Amit dot Pawar at amd dot com>
- To: Jan Beulich <JBeulich at suse dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Tue, 2 Jun 2015 13:34:54 +0000
- Subject: RE: [PATH] AMD MWAITX enablement
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; sourceware.org; dkim=none (message not signed) header.d=none;
- References: <0428E25D138CAA4D819A6FED9429E51AF4A29C at SCYBEXDAG02 dot amd dot com> <556D83DE02000078000800CE at mail dot emea dot novell dot com>
Thanks Jan and will come back with updated patch.
--Amit
-----Original Message-----
From: Jan Beulich [mailto:JBeulich@suse.com]
Sent: Tuesday, June 02, 2015 1:52 PM
To: Pawar, Amit
Cc: binutils@sourceware.org
Subject: Re: [PATH] AMD MWAITX enablement
>>> On 02.06.15 at 08:55, <Amit.Pawar@amd.com> wrote:
>--- a/opcodes/i386-opc.tbl
>+++ b/opcodes/i386-opc.tbl
>@@ -5938,3 +5938,16 @@ clzero, 0, 0xf01fc, None, 3, CpuCLZERO,
>No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|
>
> // CLZERO instructions end
>
>+// MONITORX/MWAITX instructions
>+monitorx, 0, 0xf01, 0xfa, 2, CpuMWAITX,
>+No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 } // Need to ensure only "monitorx %eax/%ax,%ecx,%edx" is accepted.
>+monitorx, 3, 0xf01, 0xfa, 2, CpuMWAITX|CpuNo64,
>+No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0, { Reg16|Reg32, Reg32, Reg32 } // Need to ensure only "monitorx %rax/%eax,%rcx,%rdx" is accepted.
>+monitorx, 3, 0xf01, 0xfa, 2, CpuMWAITX|Cpu64, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoRex64, { Reg32|Reg64, Reg64, Reg64 }
>+
>+mwaitx, 0, 0xf01, 0xfb, 2, CpuMWAITX,
>+No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 } // Need to ensure only "mwaitx %eax,%ecx" is accepted.
>+mwaitx, 2, 0xf01, 0xfb, 2, CpuMWAITX|CpuNo64,
>+No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoAVX, { Reg32, Reg32 } // Need to ensure only "mwaitx %rax,%rcx" is accepted.
>+mwaitx, 2, 0xf01, 0xfb, 2, CpuMWAITX|Cpu64,
>+No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoRex64|NoAVX,
>+{ Reg64, Reg64 } // MONITORX/MWAITX instructions end
Looking at the earlier submitted Linux side patch at least one of the instructions also uses %ebx - why is that not being expressed by the instruction forms taking explicit operands?
Jan