From patchwork Fri Feb 12 16:31:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Kumar, Venkataramanan" X-Patchwork-Id: 582226 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 6DA351401C7 for ; Sat, 13 Feb 2016 03:31:25 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=VwyrCN/Y; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:date:message-id:content-type :content-transfer-encoding:mime-version; q=dns; s=default; b=I78 //88tuInErXvOgHOrjSSQQw3kaG5X8f5R0kJBf5wjBq0ShvKeoMh7y5nsGAVEU/D TP0YRNVurtFzRs67HcwwEGW96ojE2v3feyu+UIU3cmlB+VRRwKE8aoMpfqP7VkdM few9Y3o61tCl9CS4rCcncAyaDUE5nvd2/jxzUI4k= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:date:message-id:content-type :content-transfer-encoding:mime-version; s=default; bh=25kMXXYo/ C9s5WGtVJm43cWXwOs=; b=VwyrCN/YTa0ombafeHSv9fx35w7WkzdUgTUxWas6p 2tk6t+Ul+y48ohQVEhZxAK/fOTlphNPoQ+7NXbEo6Fv9rczHQSgsZ2e2rMJDJS+D /rPZgUaGu3KYE21bm1yuNqvfCw7KWy4JaZ0zoD/ItryQs/ovOLaJcgIoi8aLVrZD 80= Received: (qmail 126488 invoked by alias); 12 Feb 2016 16:31:17 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 126473 invoked by uid 89); 12 Feb 2016 16:31:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=no version=3.3.2 spammy=GENERAL, neg, Hx-spam-relays-external:sk:DM3PR12, H*RU:sk:DM3PR12 X-HELO: na01-by2-obe.outbound.protection.outlook.com Received: from mail-by2on0069.outbound.protection.outlook.com (HELO na01-by2-obe.outbound.protection.outlook.com) (207.46.100.69) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Fri, 12 Feb 2016 16:31:14 +0000 Received: from DM3PR1201MB1104.namprd12.prod.outlook.com (10.164.198.16) by DM3PR1201MB1103.namprd12.prod.outlook.com (10.164.198.15) with Microsoft SMTP Server (TLS) id 15.1.409.15; Fri, 12 Feb 2016 16:31:12 +0000 Received: from DM3PR1201MB1104.namprd12.prod.outlook.com ([10.164.198.16]) by DM3PR1201MB1104.namprd12.prod.outlook.com ([10.164.198.16]) with mapi id 15.01.0409.017; Fri, 12 Feb 2016 16:31:11 +0000 From: "Kumar, Venkataramanan" To: "Uros Bizjak (ubizjak@gmail.com)" , "gcc-patches@gcc.gnu.org" Subject: [Patch X86_64]: Minor changes to znver1 pipe reservations. Date: Fri, 12 Feb 2016 16:31:11 +0000 Message-ID: authentication-results: gmail.com; dkim=none (message not signed) header.d=none; gmail.com; dmarc=none action=none header.from=amd.com; x-ms-office365-filtering-correlation-id: 1325860d-b95e-4bb9-baf1-08d333c9eb51 x-microsoft-exchange-diagnostics: 1; DM3PR1201MB1103; 5:zY8uQ20qVQaTEvVKcK7NHZWcViiCUS1ys3DNY2o7Xv7LHLDmeAV9f5/jCRcrvLH+msG7tQVdt2tuse5WEDuXN6DUj9u6iIIa34/Nk1EPvwZ2vMhBhacX+Fk/Sp6By7Rf+LjDxWB+x+kFqmsOE2L/Gg==; 24:gg5m3DFdpPjBysfsBeqfBqeMli6veycl+RRKj02zc7wMo8CU95Nl6m7BUdM6LPnRd0K6MchzMaWMW6HCmkg8tuNPfQYn3oGX62mMZNagljw=; 20:TuG1wh1Jx74uH1ez1IwjrPxJ969hR8fwLWPrK+iSPzaCLPw426xZRHEfDf7Ix6Y+8mUgysQtwJ5RhXLT3Gl6wN/b2dGMtIkPOkSgDgOEUWgEpPsuwfpKvymVud6FDFSCp4YD9vql9YglD/rcMzYTB0g5U+3ZlzmDJiNyMPvgxGhXJ2wQwM2Mk+exXR7Cq94W9vxqb5XPRsUEEpeSchI7BQFUYH5GJBUtdqXsI9KSXQ52aMUY5SUvUZoVaREF5iGD x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR1201MB1103; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(767451399110); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); SRVR:DM3PR1201MB1103; BCL:0; PCL:0; RULEID:; SRVR:DM3PR1201MB1103; x-forefront-prvs: 0850800A29 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(54534003)(377424004)(40100003)(5004730100002)(77096005)(66066001)(19580405001)(76576001)(3280700002)(54356999)(33656002)(50986999)(99286002)(92566002)(2501003)(19580395003)(3660700001)(5003600100002)(229853001)(10400500002)(102836003)(189998001)(6116002)(5008740100001)(122556002)(2900100001)(3846002)(586003)(2906002)(5001770100001)(1220700001)(87936001)(74316001)(86362001)(5002640100001)(107886002)(1096002)(5001960100002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR1201MB1103; H:DM3PR1201MB1104.namprd12.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Feb 2016 16:31:11.6941 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR1201MB1103 X-IsSubscribed: yes Hi Maintainers, Below patch does some minor changes to pipe reservations in znver1.md. GCC bootstrap completed. GCC regression testing underway. Ok for trunk if the testing passes? ChangeLog ------------- 2016-02-12  Venkataramanan Kumar          *  config/i386/znver1.md         (znver1_pop, znver1_pop_mem,         znver1_load_imov_double_store,         znver1_load_imov_direct_store, znver1_load_imov_direct_load,         znver1_load_imov_double_load): Add new.         (znver1_insn, znver1_insn_load): Add icmov type.         (znver1_sseavx_fma,         znver1_sseavx_fma_load,         znver1_avx256_fma,         znver1_avx256_fma_load): Fix pipe usage. --- Patch --- diff --git a/gcc/config/i386/znver1.md b/gcc/config/i386/znver1.md index b7fcf6c..e6babc7 100644 Regards, Venkat. --- a/gcc/config/i386/znver1.md +++ b/gcc/config/i386/znver1.md @@ -102,6 +102,18 @@ (eq_attr "memory" "both"))) "znver1-direct,znver1-load,znver1-store") +(define_insn_reservation "znver1_pop" 4 + (and (eq_attr "cpu" "znver1") + (and (eq_attr "type" "pop") + (eq_attr "memory" "load"))) + "znver1-direct,znver1-load") + +(define_insn_reservation "znver1_pop_mem" 4 + (and (eq_attr "cpu" "znver1") + (and (eq_attr "type" "pop") + (eq_attr "memory" "both"))) + "znver1-direct,znver1-load,znver1-store") + ;; Leave (define_insn_reservation "znver1_leave" 1 (and (eq_attr "cpu" "znver1") @@ -194,26 +206,52 @@ (and (eq_attr "cpu" "znver1") (and (eq_attr "znver1_decode" "double") (and (eq_attr "type" "imovx") - (eq_attr "memory" "none,load")))) + (eq_attr "memory" "none")))) "znver1-double,znver1-ieu") (define_insn_reservation "znver1_load_imov_direct" 1 (and (eq_attr "cpu" "znver1") (and (eq_attr "type" "imov,imovx") - (eq_attr "memory" "none,load"))) + (eq_attr "memory" "none"))) "znver1-direct,znver1-ieu") +(define_insn_reservation "znver1_load_imov_double_store" 2 + (and (eq_attr "cpu" "znver1") + (and (eq_attr "znver1_decode" "double") + (and (eq_attr "type" "imovx") + (eq_attr "memory" "store")))) + "znver1-double,znver1-ieu,znver1-store") + +(define_insn_reservation "znver1_load_imov_direct_store" 1 + (and (eq_attr "cpu" "znver1") + (and (eq_attr "type" "imov,imovx") + (eq_attr "memory" "store"))) + "znver1-direct,znver1-ieu,znver1-store") + +(define_insn_reservation "znver1_load_imov_double_load" 6 + (and (eq_attr "cpu" "znver1") + (and (eq_attr "znver1_decode" "double") + (and (eq_attr "type" "imovx") + (eq_attr "memory" "load")))) + "znver1-double,znver1-load,znver1-ieu") + +(define_insn_reservation "znver1_load_imov_direct_load" 5 + (and (eq_attr "cpu" "znver1") + (and (eq_attr "type" "imov,imovx") + (eq_attr "memory" "load"))) + "znver1-direct,znver1-load,znver1-ieu") + ;; INTEGER/GENERAL instructions ;; register/imm operands only: ALU, ICMP, NEG, NOT, ROTATE, ISHIFT, TEST (define_insn_reservation "znver1_insn" 1 (and (eq_attr "cpu" "znver1") - (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift,ishift1,test,setcc,incdec") + (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift,ishift1,test,setcc,incdec,icmov") (eq_attr "memory" "none,unknown"))) "znver1-direct,znver1-ieu") (define_insn_reservation "znver1_insn_load" 5 (and (eq_attr "cpu" "znver1") - (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift,ishift1,test,setcc,incdec") + (and (eq_attr "type" "alu,icmp,negnot,rotate,rotate1,ishift,ishift1,test,setcc,incdec,icmov") (eq_attr "memory" "load"))) "znver1-direct,znver1-load,znver1-ieu") @@ -666,28 +704,28 @@ (and (eq_attr "mode" "SF,DF,V4SF,V2DF") (and (eq_attr "type" "ssemuladd") (eq_attr "memory" "none")))) - "znver1-direct,(znver1-fp0+znver1-fp3)|(znver1-fp1+znver1-fp3)") + "znver1-direct,znver1-fp0|znver1-fp1") (define_insn_reservation "znver1_sseavx_fma_load" 9 (and (eq_attr "cpu" "znver1") (and (eq_attr "mode" "SF,DF,V4SF,V2DF") (and (eq_attr "type" "ssemuladd") (eq_attr "memory" "load")))) - "znver1-direct,znver1-load,(znver1-fp0+znver1-fp3)|(znver1-fp1+znver1-fp3)") + "znver1-direct,znver1-load,znver1-fp0|znver1-fp1") (define_insn_reservation "znver1_avx256_fma" 5 (and (eq_attr "cpu" "znver1") (and (eq_attr "mode" "V8SF,V4DF") (and (eq_attr "type" "ssemuladd") (eq_attr "memory" "none")))) - "znver1-double,(znver1-fp0+znver1-fp3)|(znver1-fp1+znver1-fp3)") + "znver1-double,znver1-fp0|znver1-fp1") (define_insn_reservation "znver1_avx256_fma_load" 9 (and (eq_attr "cpu" "znver1") (and (eq_attr "mode" "V8SF,V4DF") (and (eq_attr "type" "ssemuladd") (eq_attr "memory" "load")))) - "znver1-double,znver1-load,(znver1-fp0+znver1-fp3)|(znver1-fp1+znver1-fp3)") + "znver1-double,znver1-load,znver1-fp0|znver1-fp1") (define_insn_reservation "znver1_sseavx_iadd" 1 (and (eq_attr "cpu" "znver1") @@ -970,4 +1008,3 @@ (and (eq_attr "type" "ssecmp") (eq_attr "memory" "load")))) "znver1-double,znver1-load,znver1-fp0|znver1-fp3") ---End Patch ---