From patchwork Tue Dec 24 15:57:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 1215246 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-516476-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="Z9dHp8A2"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="wFYxJ5lq"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="wFYxJ5lq"; 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 47j1844wm4z9sP3 for ; Wed, 25 Dec 2019 02:57:38 +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:from :to:cc:subject:date:message-id:content-type :content-transfer-encoding:mime-version; q=dns; s=default; b=Bsj Fkh3jrjF9fkwTS4NpTws88kD6EGmsAIPCOoiCxZl3NFi1fMOAT8ouTeCOtqrBEKt 5SJAw+phVt1XerEp0+OvEEM260Y7G0vfohOgU18guKKZBKidZZU+VXjKxnOT69gd hm5ooy1JKl+73dcVjk2QY2jwDZAhtPpBX5fGn468= 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:cc:subject:date:message-id:content-type :content-transfer-encoding:mime-version; s=default; bh=KIqAWOs12 Fo3/hKv4YCg13+C2wc=; b=Z9dHp8A2asdFpIu5XCYtYf+sBP+g+7rIb7+99kAFo uAfbAIokutJPOOgOdPjf+9i274NBdFIbIqAujSS68SOXV25o5Ijy1DSRuUW1S19n z7/TdEExM8IbAlqjlYsZN3SWz1HgAZTIz06DIxcrPAAJpmrGMb1hD5/TdgQa8w83 7g= Received: (qmail 37457 invoked by alias); 24 Dec 2019 15:57:30 -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 37449 invoked by uid 89); 24 Dec 2019 15:57:30 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-20.1 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 spammy= X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com Received: from mail-eopbgr20070.outbound.protection.outlook.com (HELO EUR02-VE1-obe.outbound.protection.outlook.com) (40.107.2.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 24 Dec 2019 15:57:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mp6rWavv98tsq5G0dShPKOfrmkBXfeuUyTAov5I+m1o=; b=wFYxJ5lq+kLOFqtkZf1RZqUlVgaL5O2/RECIEUFYjTsvOPInvq4QzNMrUdm9BwepRQmnm2NiuYu/n1oclQpIUDzAmclxbX0WaMJJiAvANBxwZuuYdJSza/Mxv5iGsko0fFcyd2uLby9ZN9i3nDmhhTztSCY5+2cnd5HhaMH0uEE= Received: from VI1PR08CA0153.eurprd08.prod.outlook.com (2603:10a6:800:d5::31) by AM6PR08MB4599.eurprd08.prod.outlook.com (2603:10a6:20b:8f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.16; Tue, 24 Dec 2019 15:57:25 +0000 Received: from DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::200) by VI1PR08CA0153.outlook.office365.com (2603:10a6:800:d5::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2581.11 via Frontend Transport; Tue, 24 Dec 2019 15:57:25 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; gcc.gnu.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT059.mail.protection.outlook.com (10.152.21.175) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.14 via Frontend Transport; Tue, 24 Dec 2019 15:57:24 +0000 Received: ("Tessian outbound 1da651c29646:v40"); Tue, 24 Dec 2019 15:57:24 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c1f4c9efd413344c X-CR-MTA-TID: 64aa7808 Received: from 15b6dd728a80.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E0E9A759-A229-402C-BE17-DE410B239D2E.1; Tue, 24 Dec 2019 15:57:19 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 15b6dd728a80.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 24 Dec 2019 15:57:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fctB+fdI78+p41/f/dsV577hiyOkRTJVdtPPgsxTSdOczl1if/2yELTi3b9btB60rLOzEnbob1mr7Vx+J157f+sd87unuDou6xVTbpn1M8QjgKvTrZiQ++jk3JgbNn2/DOqqWmoBwPv+6m6RKYSzsv/6nrBqh3XkRI6MdjA1D84S6vEwBp1g8yEizKoveMmUYKdY2YH8M4lLWJAunD/MqeI+lJowuJ2ulPg7ttb7KDhF/WTn4JuI0oOtCtT3JB31EFUCVpA+HyM+BbeXraN84i2jw3ofHLuUCitR5YK5MAMu+bUMZ8S/t7oX3T0+qrWAInMwgTBWu3fo3V5/nJt28Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mp6rWavv98tsq5G0dShPKOfrmkBXfeuUyTAov5I+m1o=; b=VGp8qPbnqXK3n5JiBG+ipaaaGQwd3BTO0FObEZBxRllwAYkfGZ2zQ83I75AySTH5afK47jyE2dSaqzKK635eIlAXXk9T8GuSbtPJIDeb+KaALo6LjB/sEXMOa+k52hdGJ6nF50HskVtxUySLAl+1R9QpFk8suw8s7+q6wYwQ5xV/g7615d+fCvnxGbZPFi2taLNU44jUw8w2FeFT4oaNt2+UTTXl0Y8LZHtajHeXSqzh3HfxCNnPxtgz+T0Kpy2+3lG6d8eAitZ30WnJG/QjykBrncCCIDo+77mX/nUBaog+8wTItIuadN2ucpCtpgVQ3byh0seP0UzThDSkWhrprA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mp6rWavv98tsq5G0dShPKOfrmkBXfeuUyTAov5I+m1o=; b=wFYxJ5lq+kLOFqtkZf1RZqUlVgaL5O2/RECIEUFYjTsvOPInvq4QzNMrUdm9BwepRQmnm2NiuYu/n1oclQpIUDzAmclxbX0WaMJJiAvANBxwZuuYdJSza/Mxv5iGsko0fFcyd2uLby9ZN9i3nDmhhTztSCY5+2cnd5HhaMH0uEE= Received: from VI1PR0801MB2127.eurprd08.prod.outlook.com (10.168.62.22) by VI1PR0801MB1775.eurprd08.prod.outlook.com (10.168.65.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.17; Tue, 24 Dec 2019 15:57:16 +0000 Received: from VI1PR0801MB2127.eurprd08.prod.outlook.com ([fe80::2077:6fd9:244d:8d16]) by VI1PR0801MB2127.eurprd08.prod.outlook.com ([fe80::2077:6fd9:244d:8d16%6]) with mapi id 15.20.2559.017; Tue, 24 Dec 2019 15:57:16 +0000 From: Wilco Dijkstra To: GCC Patches CC: Richard Earnshaw , Kyrylo Tkachov , Richard Sandiford Subject: [PATCH][AARCH64] Enable compare branch fusion Date: Tue, 24 Dec 2019 15:57:16 +0000 Message-ID: Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Wilco.Dijkstra@arm.com; x-ms-exchange-transport-forked: True x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:398;OLM:398; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(366004)(39860400002)(396003)(376002)(136003)(346002)(189003)(199004)(54534003)(55016002)(66476007)(66446008)(66946007)(86362001)(5660300002)(2906002)(4326008)(66556008)(52536014)(33656002)(478600001)(64756008)(9686003)(76116006)(7696005)(54906003)(4001150100001)(6916009)(8936002)(81156014)(6506007)(8676002)(316002)(186003)(26005)(71200400001)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0801MB1775; H:VI1PR0801MB2127.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: pu0PL2iXKsmhawAkcus0sDVZiugOpPKUnazhrlURbK95G/+ikSeS42yk0LvFPUoKwAiOH7V5GgSCh+FZErIK8Gur37QW7yDeOzX3ua8owmkflQhUbPt4Hn8NWhsXxv/YO1yEOonfT2y8yGLqzWCzOnvclMlHjN8jR2AI5gY5UU+5QuDamaJ3qlKol5nYwIVDv8OCtcd3JIxXUJzeBHmgQj9mfCfzO+6ES8SF1NKeM5+MFNbBwoJ9oJrpfUO0xtRKNdoi3fv/jJlhfu/vl35NuL0tcniyy2V8anq8Sm8kWe9B9V3Gm2bd92+SrslR8f/vo6fOnaIstk8wbOKhDx+16f8yAN/TYnkLfIf7LYL+y4kpk8MOmAbBGGJfKvrxtqt7FJWD5BYrRq0kG7PkNmwfRhipm5cUQZSruDgGUQD4TxYmhCCBzcAoabHiTrO+WhgBRglk0zxv7MgDaGyBA/Hx47DRpBkKF+veEeYVi+LLXECnswXMndtxH2OqLhAg9BZs MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Wilco.Dijkstra@arm.com; X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 6d1a04fd-ce0f-4b63-cac9-08d78889f312 Enable the most basic form of compare-branch fusion since various CPUs support it. This has no measurable effect on cores which don't support branch fusion, but increases fusion opportunities on cores which do. Bootstrapped on AArch64, OK for commit? ChangeLog: 2019-12-24 Wilco Dijkstra * config/aarch64/aarch64.c (generic_tunings): Add branch fusion. (neoversen1_tunings): Likewise. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index a3b18b381e1748f8fe5e522bdec4f7c850821fe8..1c32a3543bec4031cc9b641973101829c77296b5 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -726,7 +726,7 @@ static const struct tune_params generic_tunings = SVE_NOT_IMPLEMENTED, /* sve_width */ 4, /* memmov_cost */ 2, /* issue_rate */ - (AARCH64_FUSE_AES_AESMC), /* fusible_ops */ + (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops */ "16:12", /* function_align. */ "4", /* jump_align. */ "8", /* loop_align. */ @@ -1130,7 +1130,7 @@ static const struct tune_params neoversen1_tunings = SVE_NOT_IMPLEMENTED, /* sve_width */ 4, /* memmov_cost */ 3, /* issue_rate */ - AARCH64_FUSE_AES_AESMC, /* fusible_ops */ + (AARCH64_FUSE_AES_AESMC | AARCH64_FUSE_CMP_BRANCH), /* fusible_ops */ "32:16", /* function_align. */ "32:16", /* jump_align. */ "32:16", /* loop_align. */