From patchwork Fri Dec 1 18:42:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 843665 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-468360-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="SRmRKLqK"; dkim-atps=neutral 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 3ypNS03yFyz9sNV for ; Sat, 2 Dec 2017 05:42:40 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:subject:from:reply-to:to:date:content-type :mime-version:content-transfer-encoding; q=dns; s=default; b=cm4 oHTUHuYQDcIj3YdVGKtl6rqB5HRsJ8GyN3fDqaiI6zZ2skbKypqUvBGI2KfTifeJ PwspwGTlz8lVV9UBubywUAdn5cAgylmECFQWnbuuB5XBptgXSME0dFVvr3Xl11jV dfcF+LDCt0BIbhHBxSiU2AQRuRhzIFf3xGDvBVGM= 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 :message-id:subject:from:reply-to:to:date:content-type :mime-version:content-transfer-encoding; s=default; bh=BGLUPuhc/ y7CRKsNChZzIKGJH/s=; b=SRmRKLqKK/TlAz30PJxMl2qIWrjxwMyv7+yThReIG gDMy45p/wW3d9rFtHU9mLGZsYK+JGYnEtd+Bdv048I8S1LsTLKAwzmGUOIxIUYTj nkgLK495dA0DqXFVw7kffuwxQNlhd+PFnzPtrIcA1M19c18tiUegm66NDnNwQxYA 64= Received: (qmail 34298 invoked by alias); 1 Dec 2017 18:42:32 -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 34278 invoked by uid 89); 1 Dec 2017 18:42:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KB_WAM_FROM_NAME_SINGLEWORD, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=reservation, mrs, HContent-Transfer-Encoding:8bit X-HELO: NAM01-BY2-obe.outbound.protection.outlook.com Received: from mail-by2nam01on0049.outbound.protection.outlook.com (HELO NAM01-BY2-obe.outbound.protection.outlook.com) (104.47.34.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 01 Dec 2017 18:42:30 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Received: from sellcey-dt.caveonetworks.com (50.233.148.156) by DM5PR07MB3548.namprd07.prod.outlook.com (10.164.153.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Fri, 1 Dec 2017 18:42:27 +0000 Message-ID: <1512153744.14842.3.camel@cavium.com> Subject: [Patch][aarch64] Add missing thunderx2-t99 instruction scheduling pipeline descriptions. From: Steve Ellcey Reply-To: sellcey@cavium.com To: gcc-patches , "richard.earnshaw" , Marcus Shawcroft , "james.greenhalgh" Date: Fri, 01 Dec 2017 10:42:24 -0800 Mime-Version: 1.0 X-ClientProxiedBy: MWHPR15CA0046.namprd15.prod.outlook.com (10.173.226.160) To DM5PR07MB3548.namprd07.prod.outlook.com (10.164.153.146) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 54c0cb4d-1aad-4261-2f97-08d538eb45b6 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603286); SRVR:DM5PR07MB3548; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3548; 3:4GF2wKpZ1bmcZeZclLccBYNTvyM+nDAAx8J7KNgStVwalqhE1WEel626KVC49kZS2KPzb38O5/Z+nrXXAxKEXTAMOPUgNBVmBZLoxn8B6wycYosnBuzYfSWXfw2TbB4EopzMTO7VT459GotdZdgzzQ+YfZFLw/T64ar93+U/yX0ki+4Va0T35qETo4xhgIf1sjKxuwFNUawMSfj6V9UhP3SNCiOrjFOGj/Iuqsl9TIffoeAOio+y52C4H47iWboo; 25:OAwRJGKGS0cQuR+PJ0rkXmrO+EDmxxppnreD7K8VDnnO/IoCCt+63nh6wMlFN0gXvEtaILOO73TC2Ngc3iV4GnvbPQoXdocXSDm+GcZg3SxFQm3S+PzA5jp3/+JViq60ZqX1LUYrRhvxDFUelsaJdDt042I50fe0ZrrazxvJ8yf6/LFIRH8V8BGylneriZnAH3J/OXsZtw+DaykH1ZIZlsp2QviBakb+zrfXZ8bVKnfkTyoOL8+3Gd2NgKqiFsqR2eEUZxkvMTafmwWqx6Hwn5Q8NDc9cvpC6PMpVZuSkkmRlaIt1hSDsTDOPVkOqXvzwwXAdsLsEDjH5nCIh0pUnw==; 31:0lDKMHF45U5vqqFHHAsqjo0CWclqa30PQ5K9iJgTXw7Sk4uKHjfVBFJ7VTdbUCexcbgBudlfgJtNZbLeNEgmto6zwVFGnE90eDDy5esSb/cEPkxruJ+fzqwb4BNFhmk1bK8DMCDPIPI1ukQRqN9jktMxfhf5k/RTjN7GQhhP/s7xBcfYi3BY5HDm4LOt61vmeGr5JFsnjyXbgc7fS8NacB0vseydkHYIoKP+IP9ZfHY= X-MS-TrafficTypeDiagnostic: DM5PR07MB3548: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3548; 20:HIqYJW5/6byO4qzcSioc9Lb5B65CPjNV0UDLEXt93sSRRPxSWOPcdesorZXsHhZRJVKpn4GBf9lpgYDYUGXCGx3k0YnnZ9X0ps5fA+OLT/CuzxgFeutCOPkpCxPTdviekVoL5CcxrLvf5PSkylPhFU8TIBO3MNBFSMEFVcGblTBp6o4+sS8/1gAjGrPYyo3MjGXmhmzKXRe3E/i+S99n8DplL9Og/5qh3r0FhlemyEVbkPadFSsM9bZw5dxWYInGv39wrDo0Z/t+xiWgIGBmx2b+UgGYcqJtUTYaP5IQNKNpNQzJ6q6C+ZhPaU+6fU1o5hUST9NtfmhKn1fyl9RSS2GP6zF2HBTDXbDlum/Qu1Nf/n9+5bx+GMA3iI5TilGsOj7YSbjNGkYUDQmMV93OYrRrH74LtPcPI4jJV4hAsSgWlLu4qno4qKwoNkyTWCPA9Go+Wd8/n6uJ3yoJW1/QbLFPHyPQfj3jNUol8ANk5AEHjSjU24ZieZylNSxr8ZB7; 4:x4ql3/KmLoFrgjY7JJhCMzqwXLavdWsiv6WLCyyoGmvhzGpsaVyqran+3033Rcn+W371AXDluNCid694oyIRXVY8r6ZnYMRgVTGK10oekFwcWgXm/q0rMZ4EGwrJ5zNjGVnTW/abwTtOC2BZWP/6R2EUYU3OJqKNix+bOzC1zeUsjTl0LRFmgF6AqK2zQxbINkf9wfRztR2mfFR3kB6XYep4aR54HjW0jKnjGTqzqiV2U+qfIQdOkutu6wGt08hS+UNd2rAn/L/y5rSs8Qvn5g== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(3231022)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123558100)(6072148)(201708071742011); SRVR:DM5PR07MB3548; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM5PR07MB3548; X-Forefront-PRVS: 05087F0C24 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(376002)(366004)(346002)(199003)(189002)(377424004)(6512007)(101416001)(97736004)(6506006)(6486002)(105586002)(53936002)(103116003)(33646002)(36756003)(478600001)(106356001)(4001150100001)(5820100001)(16526018)(2870700001)(3450700001)(2906002)(53416004)(72206003)(8936002)(50226002)(7736002)(50466002)(69596002)(25786009)(23676004)(8676002)(52116002)(81156014)(189998001)(6666003)(6116002)(68736007)(43066004)(81166006)(110136005)(305945005)(47776003)(66066001)(316002)(575784001)(5660300001)(3846002)(99106002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3548; H:sellcey-dt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDM5PR07MB3548=3B23=3AcOvI?= =?utf-8?q?iYI9FHLeg1NOfNEairz4qQTmT3PwNx5U75GSreeqHdNjponFFDt+g8xE?= =?utf-8?q?Swk0lNhBZS0ILM33TkiWe2/azfs7QAzmY6tLGWQ+ucK9aKA3u1xhDtr9?= =?utf-8?q?xBM5WwIpvYcLaMgSUiWZj1d6F7Rdmm/4Fv/ngrFebid9iCB+XXNejzf8?= =?utf-8?q?NS3ZuGh/tmjYqbSFUGFuGcAhOrHIBaqezujb2OnGQZMwqk5pYS5d6qoD?= =?utf-8?q?2MMd1TEp/pOrQV4ZpNQ1V5C/pxE446uzqT37SLaxPMK3uonFWatDHnzC?= =?utf-8?q?7hx/rGf/nXvXiC395O53HXyfWBevIu03qgYtHW+4ohMi9XpuCtGdCRx2?= =?utf-8?q?b0hlVQcJca40TAWeVh2gTSAFQ6M/n+TnHtSqtDVNZW0qPxHVhCHZBKAD?= =?utf-8?q?T91IC7ntEzEifuW27o0NS2V+lNJKhoXY4pfD+VKfmpLV6+DDTlHQBEs2?= =?utf-8?q?N7o640Ky4P7091GCQwojX3J0d228F6mPZ/xzIjovMND3nOv76TBMWwgK?= =?utf-8?q?M6an2/TZ2QFoUmgTx8uCZYbWtuKYkHR9SGgndXewOicT48G3kxH079JL?= =?utf-8?q?5AdbBNGSvOptE2/o//KDyNujIM3oXMaeP8oM9Uk89w84QKUrjoiaeFwn?= =?utf-8?q?aYg76oEy2lIoXGszBFCNB8mmY/aDi2NwF/MyzKQj6fRNBs6eFWsqsRMZ?= =?utf-8?q?MwYibmsA0PAB6+M/nze5AdT0BJNIolq4+uZPFFdoY6i4OAWbBWDlwFiH?= =?utf-8?q?tadr8EYykjy6A/UTkLZNJPQZ5ofGgdiuEs4gMkjSGhAjwN/KH4unhXYm?= =?utf-8?q?zdErXmlVRhOn/uQlsxuhpO4f5OKPDdakKCF3F7kRgsr4h/+5T8P8Tw7N?= =?utf-8?q?DAyBd8RQg3Akb4dz4ZYsYb+al8TeFKb3AE2OSEaM73tajhMIAIj9ykNg?= =?utf-8?q?qAsk3b6Q+gEhObI0mQJ2R3wZGJGVbIzW/1nZGcxuZdvy2VQlx1azfWCT?= =?utf-8?q?aZx3nbFx3YoSJCHer5rPJjYQGNQMXZ/bSbI5Xm/LYSmSKUL9b6Honj9z?= =?utf-8?q?LwLaMUAqmUNTfKHKwfqUmMDd0QvBsZAgoil7rmwzAo6moCFi+bYhGPgU?= =?utf-8?q?M81u8GC1IdwKi3is5wqTPV0pP6X6oG7fQg3yfnLDLpyFvdeaAG13OSNA?= =?utf-8?q?+oSnwj8NExEJQBOcEECivmlZrJrhe6Dglf1z7yGnUxVlbwVz+TOPpQ8D?= =?utf-8?q?ZVNupXkhq5KYQsRpHSgtXm+M7/Y/I5CaOkfr5bzyG9O1EnXwinxVXYq1?= =?utf-8?q?mw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3548; 6:Y7FxUQAH+0JARMwi3mN6WQM5hzjkTCX/EkeMz2OlI9WyGOUK/0bIvbgC6biFQWlQe05p2NKSTiWGuVYebHMb/z+7cuMY1Wz9BeTvqQmbp4JxPl8N1FWMC7eJA0AYyo6q3j0/y9FbCzoFg6ieDRXjigGwOtGI70R3DdnMdKNwRVe3CbJKvdM4SSmPJFB4nW7x9kQVNa4/O0a6vLkOT79oJAxOAYm8YgghtLRgMcV2fvktZqAWj9W0KXwVFZDizZ5HXqK3arsAKPQfZSlddL4OeUfzv6mt5u3mj1/3VhYvnde5AgAuNcgX8vzcVJAv96TY1QKWMIJsysdcpt9aL36L1Lt4rLSSTjAGu0c7DB367Ms=; 5:nXYs+9zjel3ct0xJnymhgvMSUM9iZYU2ToLaexy5oY/kcW6oV7t5XnIT0ws10PHqOIc+31UDHEqpSszg6Lyt4BJ6dmdcQmoz6O8Wt/daFPqkonjTPdCbnlPOy5flweRSlzaIOhdnAV+oSLBaRj4E0h7pM4g2NhTOTEQaTRf3h9g=; 24:OrRZhKgW2T3fP55MlLPAnbJsYE0BgkGzuLbBlFyBjKUklVO94XrxDPNVbq04SHfIE2uRLQsoFzAkT6dlQ12LL22UO+qElTgsD1DTZ9LbZcY=; 7:zShyfgrTPjASyHM435URnVVCrsbJBuoahvnEtGoHBcBdb3HLX7RNVArJ+gjiTBf9aEjb9Q/VcrUTqrF5QyVy+eZBHOVuc1sJmOEJw6HX7MHbs/lolqHGtaNUbm+YzQouNoExIlE4+nbO71y+UU+cDoSGHRzKoVgNncHZpW1YaJM+TVaEbn0BA6vHp+QoRixjt8aSafyxZqNNUYvY8E3unAxMhteFkBcAduEm8YHyQ2Tz9lmoArMr40SbVa3+HsTI SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2017 18:42:27.6888 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 54c0cb4d-1aad-4261-2f97-08d538eb45b6 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3548 There are a number of instruction types defined in aarch64.md which do not have pipeline/scheduling information in thunderx2-t99.md.  This patch adds some of them.  This patch includes all the missing types except the neon ones that I hope to include in a follow-up patch. Bootstrapped and tested with no regressions on a thunderx2. I know we are in stage3 but I hope this type of plaform specific change is still OK to checkin. Steve Ellcey sellcey@cavium.com 2017-11-30  Steve Ellcey   * config/aarch64/thunderx2-t99.md (thunderx2t99_branch): Add trap to reservation. (thunderx2t99_nothing): New insn reservation. (thunderx2t99_mrs): New insn reservation. (thunderx2t99_multiple): New insn reservation. (thunderx2t99_alu_basi): Add bfx to reservation. (thunderx2t99_fp_cmp): Add fccmps and fccmpd to reservation. diff --git a/gcc/config/aarch64/thunderx2t99.md b/gcc/config/aarch64/thunderx2t99.md index 5bcf4ff..5e48521 100644 --- a/gcc/config/aarch64/thunderx2t99.md +++ b/gcc/config/aarch64/thunderx2t99.md @@ -69,9 +69,26 @@    (define_insn_reservation "thunderx2t99_branch" 1    (and (eq_attr "tune" "thunderx2t99") -       (eq_attr "type" "call,branch")) +       (eq_attr "type" "call,branch,trap"))    "thunderx2t99_i2")   +;; Misc instructions. + +(define_insn_reservation "thunderx2t99_nothing" 0 +  (and (eq_attr "tune" "thunderx2t99") +       (eq_attr "type" "no_insn,block")) +  "nothing") + +(define_insn_reservation "thunderx2t99_mrs" 0 +  (and (eq_attr "tune" "thunderx2t99") +       (eq_attr "type" "mrs")) +  "thunderx2t99_i2") + +(define_insn_reservation "thunderx2t99_multiple" 1 +  (and (eq_attr "tune" "thunderx2t99") +       (eq_attr "type" "multiple")) +  "thunderx2t99_i0+thunderx2t99_i1+thunderx2t99_i2+thunderx2t99_ls0+thunderx2t99_ls1+thunderx2t99_sd+thunderx2t99_i1m1+thunderx2t99_i1m2+thunderx2t99_i1m3+thunderx2t99_ls0d1+thunderx2t99_ls0d2+thunderx2t99_ls0d3+thunderx2t99_ls1d1+thunderx2t99_ls1d2+thunderx2t99_ls1d3+thunderx2t99_f0+thunderx2t99_f1") +  ;; Integer arithmetic/logic instructions.    ; Plain register moves are handled by renaming, and don't create any uops. @@ -87,7 +104,7 @@   adc_reg,adc_imm,adcs_reg,adcs_imm,\   logic_reg,logic_imm,logics_reg,logics_imm,\   csel,adr,mov_imm,shift_reg,shift_imm,bfm,\ - rbit,rev,extend,rotate_imm")) + bfx,rbit,rev,extend,rotate_imm"))    "thunderx2t99_i012")    (define_insn_reservation "thunderx2t99_alu_shift" 2 @@ -155,7 +172,7 @@    (define_insn_reservation "thunderx2t99_fp_cmp" 5    (and (eq_attr "tune" "thunderx2t99") -       (eq_attr "type" "fcmps,fcmpd")) +       (eq_attr "type" "fcmps,fcmpd,fccmps,fccmpd"))    "thunderx2t99_f01")    (define_insn_reservation "thunderx2t99_fp_divsqrt_s" 16