From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 81231 invoked by alias); 8 Jun 2015 06:16:11 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 81214 invoked by uid 89); 8 Jun 2015 06:16:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.1 required=5.0 tests=AWL,BAYES_20,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=no version=3.3.2 X-HELO: na01-bn1-obe.outbound.protection.outlook.com Received: from mail-bn1bbn0108.outbound.protection.outlook.com (HELO na01-bn1-obe.outbound.protection.outlook.com) (157.56.111.108) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Mon, 08 Jun 2015 06:16:09 +0000 Received: from BY2PR02CA0091.namprd02.prod.outlook.com (10.242.32.49) by BLUPR02MB065.namprd02.prod.outlook.com (10.242.187.144) with Microsoft SMTP Server (TLS) id 15.1.172.22; Mon, 8 Jun 2015 06:16:06 +0000 Received: from BN1AFFO11FD056.protection.gbl (2a01:111:f400:7c10::177) by BY2PR02CA0091.outlook.office365.com (2a01:111:e400:2c2a::49) with Microsoft SMTP Server (TLS) id 15.1.184.17 via Frontend Transport; Mon, 8 Jun 2015 06:15:59 +0000 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; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from atltwp02.amd.com (165.204.84.222) by BN1AFFO11FD056.mail.protection.outlook.com (10.58.53.71) with Microsoft SMTP Server id 15.1.190.9 via Frontend Transport; Mon, 8 Jun 2015 06:15:59 +0000 X-M-MSG: Received: from satlvexedge02.amd.com (satlvexedge02.amd.com [10.177.96.29]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by atltwp02.amd.com (Axway MailGate 5.3.1) with ESMTPS id 2C7EAD1600A; Mon, 8 Jun 2015 02:15:55 -0400 (EDT) Received: from SATLEXDAG03.amd.com (10.181.40.7) by SATLVEXEDGE02.amd.com (10.177.96.29) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 8 Jun 2015 01:16:27 -0500 Received: from SCYBEXDAG03.amd.com (10.34.11.13) by satlexdag03.amd.com (10.181.40.7) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 8 Jun 2015 02:15:56 -0400 Received: from SCYBEXDAG02.amd.com ([169.254.2.240]) by scybexdag03.amd.com ([10.34.11.13]) with mapi id 14.03.0195.001; Mon, 8 Jun 2015 14:15:52 +0800 From: "Pawar, Amit" To: Jan Beulich CC: "binutils@sourceware.org" Subject: RE: [PATH] AMD MWAITX enablement Date: Mon, 08 Jun 2015 06:16:00 -0000 Message-ID: <0428E25D138CAA4D819A6FED9429E51AF4A96C@SCYBEXDAG02.amd.com> References: <0428E25D138CAA4D819A6FED9429E51AF4A29C@SCYBEXDAG02.amd.com> <556D83DE02000078000800CE@mail.emea.novell.com> In-Reply-To: <556D83DE02000078000800CE@mail.emea.novell.com> Content-Type: multipart/mixed; boundary="_002_0428E25D138CAA4D819A6FED9429E51AF4A96CSCYBEXDAG02amdcom_" MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD056;1:NsqhnVCy7nUedcx44+7GQO73C8LhKFPBDOL7QdLRn+PpITiZUZFhJ5e8bscFrHCe8auXMQ+SmqusxfH12FJ+AGsqvb+LY7NoADvvmM4KfB8IpOs1RZNJGhXrRagvV7pasmmOCN+/ixBqjZr8Zlb1kSi38aW2j3borQEVHwby+84YL9teIIgT4pqqZoB2ox+o4Yyn/+GkW6CHuVQZopbtbWRqw6HQQsMWNe21Ykcko0SVmab/gxtJzUBxz+oqoGIils6L/qtoRFAaYo6/6oS98oOgpvyMr3XE0RIHTaDowk9OZTMZQGB7PKO9Nxd4xtXp X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(428002)(199003)(189002)(24454002)(13464003)(377454003)(51704005)(110136002)(62966003)(77156002)(5260100001)(53416004)(33656002)(77096005)(568964001)(84326002)(189998001)(101416001)(2900100001)(2950100001)(105586002)(102836002)(5890100001)(87936001)(30436002)(46102003)(99936001)(92566002)(50986999)(76176999)(54356999)(4610100001)(19580405001)(2656002)(512954002)(19580395003)(86362001)(55846006)(106466001)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR02MB065;H:atltwp02.amd.com;FPR:;SPF:None;MLV:sfv;A:1;MX:1;LANG:; X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR02MB065; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(520003)(5005006)(3002001);SRVR:BLUPR02MB065;BCL:0;PCL:0;RULEID:;SRVR:BLUPR02MB065; X-Forefront-PRVS: 060166847D X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2015 06:15:59.0620 (UTC) X-MS-Exchange-CrossTenant-Id: fde4dada-be84-483f-92cc-e026cbee8e96 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fde4dada-be84-483f-92cc-e026cbee8e96;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR02MB065 X-SW-Source: 2015-06/txt/msg00106.txt.bz2 --_002_0428E25D138CAA4D819A6FED9429E51AF4A96CSCYBEXDAG02amdcom_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 2009 Third operand has been added to MWAITX instruction. It has been tested for = correctness and found no regression. Please let me know the process to appl= y to trunk or can you apply to trunk from my side. Amit Pawar -----Original Message----- From: Jan Beulich [mailto:JBeulich@suse.com]=20 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, wrote: >--- a/opcodes/i386-opc.tbl >+++ b/opcodes/i386-opc.tbl >@@ -5938,3 +5938,16 @@ clzero, 0, 0xf01fc, None, 3, CpuCLZERO,=20 >No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf| >=20 > // CLZERO instructions end >=20 >+// MONITORX/MWAITX instructions >+monitorx, 0, 0xf01, 0xfa, 2, CpuMWAITX,=20 >+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,=20 >+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|N= o_sSuf|No_qSuf|No_ldSuf|ImmExt|AddrPrefixOp0|NoRex64, { Reg32|Reg64, Reg64,= Reg64 } >+ >+mwaitx, 0, 0xf01, 0xfb, 2, CpuMWAITX,=20 >+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,=20 >+No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoAVX, { Reg32, R= eg32 } // Need to ensure only "mwaitx %rax,%rcx" is accepted. >+mwaitx, 2, 0xf01, 0xfb, 2, CpuMWAITX|Cpu64,=20 >+No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoRex64|NoAVX,=20 >+{ Reg64, Reg64 } // MONITORX/MWAITX instructions end Looking at the earlier submitted Linux side patch at least one of the instr= uctions also uses %ebx - why is that not being expressed by the instruction= forms taking explicit operands? Jan --_002_0428E25D138CAA4D819A6FED9429E51AF4A96CSCYBEXDAG02amdcom_ Content-Type: application/octet-stream; name="mwaitx.patch.bz2" Content-Description: mwaitx.patch.bz2 Content-Disposition: attachment; filename="mwaitx.patch.bz2"; size=5200; creation-date="Mon, 08 Jun 2015 06:07:26 GMT"; modification-date="Mon, 08 Jun 2015 05:49:32 GMT" Content-Transfer-Encoding: base64 Content-length: 7052 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 vz5aiebhjw1YjuppUn/4u5IpwoSGO/PDaA== --_002_0428E25D138CAA4D819A6FED9429E51AF4A96CSCYBEXDAG02amdcom_--