From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 63405 invoked by alias); 9 Mar 2017 10:22:30 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 62875 invoked by uid 89); 9 Mar 2017 10:22:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1119, H*r:10.152.18 X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0053.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 09 Mar 2017 10:22:27 +0000 Received: from DB5PR08CA0001.eurprd08.prod.outlook.com (10.163.102.139) by HE1PR08MB0345.eurprd08.prod.outlook.com (10.161.116.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.947.12; Thu, 9 Mar 2017 10:22:24 +0000 Received: from VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::207) by DB5PR08CA0001.outlook.office365.com (2a01:111:e400:52c3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.961.14 via Frontend Transport; Thu, 9 Mar 2017 10:22:24 +0000 Authentication-Results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; cavium.com; dkim=none (message not signed) header.d=none;cavium.com; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 217.140.96.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.140.96.140; helo=nebula.arm.com; Received: from nebula.arm.com (217.140.96.140) by VE1EUR03FT017.mail.protection.outlook.com (10.152.18.90) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.947.7 via Frontend Transport; Thu, 9 Mar 2017 10:22:23 +0000 Received: from arm.com (10.1.2.79) by mail.arm.com (10.1.106.66) with Microsoft SMTP Server id 14.3.294.0; Thu, 9 Mar 2017 10:22:01 +0000 Date: Thu, 09 Mar 2017 10:22:00 -0000 From: James Greenhalgh To: "Hurugalawadi, Naveen" CC: "gcc-patches@gcc.gnu.org" , "Pinski, Andrew" , Marcus Shawcroft , Richard Earnshaw , "nd@arm.com" Subject: Re: [PATCH][AArch64] Implement ALU_BRANCH fusion Message-ID: <20170309102200.GA40049@arm.com> References: <20170308180359.GD25712@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:217.140.96.140;IPV:CAL;SCL:-1;CTRY:GB;EFV:NLI;SFV:NSPM;SFS:(10009020)(979002)(6009001)(39850400002)(39860400002)(39840400002)(39450400003)(39410400002)(2980300002)(438002)(189002)(51914003)(24454002)(199003)(104016004)(77096006)(6916009)(110136004)(2950100002)(23726003)(54906002)(55016002)(229853002)(38730400002)(36756003)(5660300001)(6286002)(7696004)(4326008)(83506001)(50986999)(54356999)(76176999)(46406003)(189998001)(2906002)(305945005)(356003)(33656002)(8676002)(47776003)(6246003)(4001350100001)(106466001)(8936002)(1076002)(50466002)(86362001)(97756001)(18370500001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR08MB0345;H:nebula.arm.com;FPR:;SPF:Pass;MLV:ovrnspm;MX:1;A:1;PTR:fw-tnat.cambridge.arm.com;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;VE1EUR03FT017;1:Ay6ZfqkYGIDl1vWOONjolC4NVqr/Clpx5VtcB2kqvBpIyM/x7qkT2FhKUty756dhzzOXVaRyRercgF4PrsKw4xe1bGI1mzNu5JTukGgWn44+n2j59MAIJalaMBLuPYJvQYnNkyLOT9CzfBF+06DIHn/ur8sxHYV+lidNNIzzOy1o6y29BrOoa03KkGQhpsC14fm8KSd5kuSCmON5UnfWnWKt20IO4bG9mPoi+eBpcdT8Og8oQk54Q55HPGf4Z2aO/B1udVAFl+C4oqubTNVkElO/waDLvUk6uqpcaLCK/DGCY54vLMPug3sWQ/aGBc4WqNQ3vcF9FOiYw0XX2tQ4HwcKklO8v2eJVCzvoJMbn5jzhtHpUU0aWzf6LwU4kZkJQrM3ITVQZQ+jS/uaPWWWxJUavSG7b/dGgkYSB87loSLLy5hNZbXOADGk3SCWR+fldYtF8HlOvjS+Ejqv/cNs6xZLedQDsPmABVqI9Lx6CDjMiIOxzW33VsJWVnGwqAeD4POBJrIVaUZOY9SLJAc1Mg0/wXmR9xi2kPALtdgUwdOel8x4eqAZQ34co7eDB20j X-MS-Office365-Filtering-Correlation-Id: 82960ff1-f2c7-4ffd-fe4b-08d466d62d5c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:HE1PR08MB0345; X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB0345;3:3Rx4qOI7Mptf8e5170OmyadSGSCaF46vXGn/I5aNjDySpFMKKiiCQIhqzRzLeq1XrGWCiUsaXfJApyRI53ZTmJmWStO2qMe6L5r2C8b6pZxzIrgfD6wtavMogt3+90Ca+806chE2srw9/DRtbqqeFjIpRigtD3L49E/WVgBOmfjbsuMI67ybStScuXkNo3JllKLov2fOqSJz+9FGwNGwamdzHDXzBxYRfL+J1c5GbtGy0c0yG9b7zS3IHrLZtbz337wG+oSzGPWYIcvg8YZpQht2AfByBeDlyOzhW7sNTKVzhgZumvb1qHGZY85KrrrFtSxWfVCcKlz6aHIgQs0uQMlr5od5dujnZQ5V4r8lBwCfRklEqoCmWdHub4nZpvMfOvn6COnW0wPx/wj3a76ntA==;25:3DomS2GvNCUQCX8eBqD0gsmyhEPUuRVEmbzmdl9zAodcWIFPz1xwgN+XdFntr4QtVvmWh7CeE6SNcwRyabSQKlRpyvraO63X3tanIhEra43HaJNySzmsVG/lherlZp2xic8+r/T547BE33xSQkYV03r/Y+2qRoThYqdmvqRRe38P/nCNQu25CBqdwBfCjK8liNCngJ8kJnxB3DJZeUqcMtRGCF5hexXWlm35LKO38R9+iqwpoiZP6i/8g1VE5y3WpRLe3DlrIPqqz5axH48pJKtsgZh7Visoarouk3x/R72gCK08Khz3Y2cP/dt49JcWW/bw1g13Hw9ShIS4/lrHIeZu9QQnFyeCuy69c70lcKL59inEOHNowVEVLoex92dsfnOHbXC+dUdwF+vqwbbepyLja59xrhx29uKLSGuTT8MlZ7+432Chc5+BmzjLbQPziVxSEXB3rqEO/chN70UCNA== X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB0345;31:NSLlIdkqBQhP5VlHLK6iXSDLfVXDKp9AZd0bRDkOnzQTUD2UXixrV2Mo2IxrbBDUOo1VXPCCYEa2Ahr7/xrLBVy6PZTp5KnWPI7lvzNqUWUeL28ZxjyozVYqLI68zri6XW/UWg6GiYfBAM0kajz8zPo4oX4+m4pxX88dN4EOoSVfLbxbJZ1H2GFzZEHS1wHoBCfbKXo3bjtAEV2nMBZXtcxhvYZ/VACmrsPAjRIL2z0OBsl61AElK2p8X3BVAvCgjh+sCr/WQFtDgYsHk5iY6g==;20:yQ3aIOVYKHnK3fd5r9j4lPtG+Zc/WuFujF3+J4sBAYSfwzwIaX1PFjKM2fWdT8YOeoVsHriT/+wQjwTTRtAB0HdVqPtUjtiTtprGrUkY6k41F3jC8QxRxt2z+bkfQZgOud3SyY14x1a+k3XpmN15eX7SDSRYGgFmy4ncqqWft3gZrkfBbFSg7RPrYESaYZI7AnNy4EAp52jr+QVfiU3lIv8AKPqmd/5K3Bb73CObuDOind1o5Yuyk4ucfZ6QqJcG NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(13024025)(13023025)(13020025)(8121501046)(5005006)(13013025)(10201501046)(3002001)(6055026)(6041248)(20161123555025)(20161123558025)(20161123560025)(20161123564025)(20161123562025)(6072148);SRVR:HE1PR08MB0345;BCL:0;PCL:0;RULEID:;SRVR:HE1PR08MB0345; X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB0345;4:fK++oMyivOMIOlh5zkqMSeQzvXJnJq1MUPl87qURLW8QCGNjD1Zfi9B5RLbxF6Vd9kdNfPJQJDo2mBzCOdGTWDr0inNaurnFkTlsMV279X0UtK/RnH1iRIs0Q6HYAy9L4yI3J/TFD3VkwJlvbJmIkrxtOaFJBf556h2Y5XP0CczynmTucO7wIWTsryQn6sRP+5rGAgzyyQW2p/Z2tpYs9iBLw7iQc6cDGyeB3hDQ365uip4BoRwCV1wW8lGIDGYtICqX7wT3mhXDWxi7S39gU4sEZ1cWqmMLchlKWKWKRzZTbhlV5vXUpL2EZeMfbljVSPRHgtRHqxrHvvU+x0n6oK/HDz0ui1CHXM0ncRbteo5DyOUO8TkmHTAkm9q+D3KhCe6jLi11iBI0JWhdNnWBpYKUxQpRGdjNtl8jGFKF9aapefR1fjHTGyvRGkAtmrRZwcP/nJodPc9TG8NFdGF/wGVyf6HqsH2d+YVLOJNSj+GZim0do9bg6xZ9YleSdrUM7TJwNSuRtFC0PCdVYMtm0Z+qxvQsUOM9MnYAER3HGIi8H0t2DnLtFFuVtHYresMsT3sAavmjfDuCkm75J5/sw6JYUOvKkCAkeTklr1BqHgR/Z7YaJ168tBfkHbFvDsXU4zGTLDOyfSDjDTJ00vp3wSfXHUjgt5kEyce56znn6KjDeMh6fOwwUVE7poxFNxMZ X-Forefront-PRVS: 0241D5F98C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR08MB0345;23:MycX9D1JmqYN/RZCzNL34OfmE3hmklhvvW3SdwCok?= =?us-ascii?Q?gXDaQLPs4M8ySwEtr7Momb8iNixix+HJKZBFP6JSBnIOuGyDIn+w12g9c68r?= =?us-ascii?Q?88R94AE1Dvtw0pwcIvNMa8t2ECzJYZq3xu8JVvobGxU5eutfAZsnG4MsuhQx?= =?us-ascii?Q?O9Av3iJaXTp9JH2INISQPSWN3ubjCFkTGKUrvBpaoFWqCQlNm8EgR9eseR2M?= =?us-ascii?Q?qGPmmc9NZWiaA9OdXtABeigDdWJq0a8mfK8SNxfHN753wGeI9bzUrLfNgMhH?= =?us-ascii?Q?9zCSPM7ajnPf6tR5Kz9hvVJ7MQuE6F8mqmLPyaIDqrCbChDAP5OROwMe93sO?= =?us-ascii?Q?DgRDSBc/6bGTaaTynN0ZiUih0WPC1YcRR97Q5nukSEBkxH51aAa3MKDtyCx7?= =?us-ascii?Q?+xo5hrwPqWzpGUf/XoWMSTXSV7aHzRepVA54BTeAuxwlZ/B4OzHO1YNVp2mg?= =?us-ascii?Q?gT4MadHXp7ugdoO8Gd+p+Zvh4FsLQBxlX2GwgVs9fNRBpS8sVFtcgxfTxM/H?= =?us-ascii?Q?nknh9p3OxISFdrAa8kJVD6lIRh/2CtmZ7tM9YW+eo/iImt+Mh8ul2+fczwr2?= =?us-ascii?Q?LL7hX8mVnYlBZZHQfjN6Tt2LO1pxog71U9PvbwAYzTeZZin539R6IFHNGBtC?= =?us-ascii?Q?CUqrpW+aINEiO7v1PqGqTlHDrEvk0LBUao/BOhhoQYNzgcfaH4xsHB5htzO0?= =?us-ascii?Q?o7C6hlmYNFPyMYYNRSmFjYCCK2w0xpTk5NhNC4p3QnzSor2eA+vYp1yHAGON?= =?us-ascii?Q?VjAd8FwB5n8blK5mrNejTyAtFjzN3uNH8qsOqeWo4lmpCY2scvqXOFlHEb/r?= =?us-ascii?Q?+HTY/sTf11P3bZoV/14jobw+6SYt4eBqH5jXlv/c9c8BCDuKF3Iv04XnbLVH?= =?us-ascii?Q?eRsbN2uuTXpqnl1IKicAOQbPmogjtIzwLefSVIUIC1duyfElKst8iu2H+jQN?= =?us-ascii?Q?DQCCx2zNl3plReBnS4I+Y7LqC8pc5soip+ulWN8FcHzsGwAALsyag6IVKSG1?= =?us-ascii?Q?yRC8WsXjZA9Uylw/t6NM/x7bwcMm+wP/V3fuOoTz33OhSV7ui3Y9piBjQSh8?= =?us-ascii?Q?9H8mTh/UqUenPHmrlsRhSDiaR77T6uX5v032NpoPqhNkV0N0LdTLQOYi0sIL?= =?us-ascii?Q?PZEdOvC/0E40cCkMOrVILIinFkQfD6z3uUuUN4PzuhH03Jtw6AZEMY6cl9Fi?= =?us-ascii?Q?WeQMaWnzC8UbnbjFQr/JminxVRdVU2MCfQAy26TppNbnzVQpqOZ83jkociPP?= =?us-ascii?Q?H08svZC7TqDhgRV6F56q3sbEHcd1zfKXydSI/TM?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB0345;6:YLRth7UWfjzOt2rcrqCecC9MfH2gq9m5bT4hdLkAYu6F/qlGcspGtWSU8mBm7Mx8HmN/p29zpEBIux15RkxsB5yiynGNf+TAVPx8/v4fqI5NbIDPslVtv6twQ3UchDmIwcCX+ZhEOwXUyq5W1TIvJnlwyfjvyVePuKOzTuPQmMFmj7I+TtRqdEwG2tpZchyu43U2w+vr4Vy/c+hLI+5II91x8HMuZZxZSXTm9Uw4BJSuIADYFO+0ABtux1h+qmkRiFV6lFDynzSlrq5bNG9WHpCTy+NRXanbVK1Z2XiJ1M2B6Z50l4NFi/OmvSABI1rvexx5HIlg1H+c4ZUafeWtaO22u+ZHnv7oQdNXq5bBOmMdPCD2cd7bcLGQA6oXAWPth6up7pPrm61plxjy6Uh+kWTFJ5Dbj14Ub4e5ItinL6M=;5:txZB4TbHL71FLUL+WpL4cvRTHGbwBLNj4LBUu0+6lGt9hBwNGFWG4OG2SuLXOJfaRk+gnUlxykIFj4A2uP7TGiDTIocRJtyGXtmF/Q0JKVCJdwyPXZWCarX0UnzjTqhHr6VI8Q/t/xtDcN9QR+KRRQ==;24:EbY2VSDXyZTr5bDC574ehA0u2PI/9JhDBhxoWJGHmjpfTtY+lWq+KfITDwmoOuicmVT9poYjuy8jA0Zr476mAWXmCepR7MMJOMGOf/XS6zg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB0345;7:46uetYjBI4ZVYdghWBM8BCTqzAng7F5+Foop1ys/SOb6+qu0G5rRgj/ylUWvTtt/Bdme06+RR+lbviBkQ/VYP8g4/XLTIbHTONcu8eL22mNZHsLrscdDvwlAVLrs3aN1WRtnT/+SAdmGyN7KJNZtRMm4rYvw8yrXy3DZyxcSCzPX/60wDNnsDKqF8ePnV0S/fADWreEKQ8sCOijjfqt2BwNYb030ajKMmmR/7PssKotj4EqhEQyHv3ub+VBkW721sPEftNHLYGk6Ue3Cd/eZEnZTqIkzVO37OPAX3sa9FjUccOFksFKQ6hjCsgiZZoY9EqiXNECjKkZw5XNV+2WtjQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2017 10:22:23.3529 (UTC) X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[217.140.96.140];Helo=[nebula.arm.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB0345 X-IsSubscribed: yes X-SW-Source: 2017-03/txt/msg00412.txt.bz2 On Thu, Mar 09, 2017 at 06:22:33AM +0000, Hurugalawadi, Naveen wrote: > Hi James, > > Thanks for the review and your comments. > > >> I'd need more detail on what types of instruction pairs you > >> are trying to fuse. > > The documentation mentions it as follows:- > Single uop ALU instruction may fuse with adjacent branch instruction in the > same bundle > > >> This comment looks incorrect - there is no vulcan_alu_basic reservation > > Modified as per comment. > > Please let us know if the description is sufficient? My reason for asking is that the instruction fusion implemented in LLVM ( lib/Target/AArch64/AArch64MacroFusion.cpp::shouldScheduleAdjacent ) is between ALU instructions and conditional branches, while this patch fuses ALU instructions and unconditional branches. I'm trying to understand why there is a discrepancy, and consequently whether this patch is correct. Your clarification helps, but it would be useful to know which sort of branches you are actually targeting and to fix the disagreement between this patch and LLVM. Thanks, James