From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 88966 invoked by alias); 26 Feb 2018 22:25:54 -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 88952 invoked by uid 89); 26 Feb 2018 22:25:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.7 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 autolearn=ham version=3.3.2 spammy=H*r:sk:DB5EUR0, H*RU:sk:DB5EUR0, Hx-spam-relays-external:sk:DB5EUR0, HAuthentication-Results:bestguesspass X-Spam-User: qpsmtpd, 2 recipients X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-db5eur01on0045.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (104.47.2.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 26 Feb 2018 22:25:52 +0000 Received: from HE1PR0802CA0019.eurprd08.prod.outlook.com (2603:10a6:3:bd::29) by AM2PR08MB0419.eurprd08.prod.outlook.com (2a01:111:e400:843c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.527.15; Mon, 26 Feb 2018 22:25:48 +0000 Received: from DB5EUR03FT035.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::202) by HE1PR0802CA0019.outlook.office365.com (2603:10a6:3:bd::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.527.15 via Frontend Transport; Mon, 26 Feb 2018 22:25:48 +0000 Authentication-Results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; 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 DB5EUR03FT035.mail.protection.outlook.com (10.152.20.65) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.527.18 via Frontend Transport; Mon, 26 Feb 2018 22:25:47 +0000 Received: from arm.com (10.1.2.79) by mail.arm.com (10.1.105.66) with Microsoft SMTP Server id 14.3.294.0; Mon, 26 Feb 2018 22:25:45 +0000 Date: Mon, 26 Feb 2018 22:25:00 -0000 From: James Greenhalgh To: Wilco Dijkstra CC: GCC Patches , nd , "sje@gcc.gnu.org" Subject: Re: [PATCH][AArch64] PR84114: Avoid reassociating FMA Message-ID: <20180226222545.GA3086@arm.com> References: 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)(376002)(39380400002)(39860400002)(396003)(346002)(2980300002)(438002)(54534003)(189003)(377424004)(199004)(305945005)(4326008)(33656002)(6862004)(55016002)(8676002)(106466001)(8936002)(46406003)(97756001)(246002)(6286002)(478600001)(356003)(6246003)(72206003)(26005)(336011)(229853002)(77096007)(26826003)(186003)(37006003)(6636002)(2950100002)(76176011)(36756003)(7696005)(316002)(58126008)(47776003)(54906003)(16586007)(106002)(450100002)(104016004)(2906002)(86362001)(23726003)(1076002)(50466002)(5660300001)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM2PR08MB0419;H:nebula.arm.com;FPR:;SPF:Pass;PTR:fw-tnat.cambridge.arm.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB5EUR03FT035;1:OPk8xIfQ9BQs74d7dARQdm/9FbMKwYnBX7x2L9azy9pvLcWlXIpXwvkKV8Wj2W+2tSL93xzw6sVp+mNV2EfKzMGfNnGVhKa1Fy1FHr1eoduWx0uOYQNfMGMDKx7Bct5G X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bcc53bda-d82d-4109-0e94-08d57d67e276 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307)(7153060);SRVR:AM2PR08MB0419; X-Microsoft-Exchange-Diagnostics: 1;AM2PR08MB0419;3:HFYRzPh9at34NYxOVKOYoqtBDE2dXbgfl7wHrPtKJaqNrjjM3HVG4vjXLF+q0U5tpNk3zpusDqMScw4L+w5ubyyptkv/146QwlfSCvAUH31fb8z/NmHlkA5E0jggQTID0lHUFmKkXTVwA4PdgVA2WSvdRkd+dt0SfnXTcc5L8GegBJ30ebhGIvLTh/WGGlHm/2NOt4RAUGskVUOCEsBTGKzmX7qcZWVSQC6YflMK8DX0myvTRmMqvX+jLT5LRUc28Qn7s+DcFcqffrpEErt1NwG2jrTHwk9BaVJ/YJHwsVgWQnLUVybNzs/s2Kv+jHM2poXXzuqYiCX8ULZY2mZOSCsI3Yamb5BGANTl1QulPdM=;25:ZQJ3XSnIm/Uv1U7Pu81p9Yt/1NhQPnrTx8qcNlgqieYLdtF58hRVhR+Kcas0BhCy8E4FtpkIN9UZDXtUtPPSvpIOVMlGNy839rYcdDoTw5Jvw9P66dAzGUePWvmnV++maXgWHPjGiwQtJpIe6Ra8Dbxe+UwKlfatY/dTNGS6WncmbI1yMyCbUqtPCKYhSI1EbHNYbJ3j4oEZ722Ov/VGULYqFBPKGHdEwWXTJYI/2WGr5Ob6PPW8VZ88XNYKKvaXJRcBK0oG8D+p92/x1iq4oxCDRe5wcvB9GkPZJompL2TCBWPG8J7lBXD04xusBokvlQ63ouMr4IBnvPHeMnuyBA== X-MS-TrafficTypeDiagnostic: AM2PR08MB0419: X-Microsoft-Exchange-Diagnostics: 1;AM2PR08MB0419;31:nMYbqmUwwF9nytqqH68JQsayHxpY8ZuH2BzHKhDbRa+sVxlpt2OJp5ntBM6LDyaxkRwU41IxrSLqmYNfQ1FCPVOku8H0a7AVbTVHpjhidZCcagIr3Y3JbSxhtozuoadDbVM8unBGD27DQmj0MJ46cxZatG9E9oPnCyjyynwhCasZG8ZLQ5gA5slBpXJUrlIqGlgaqmr3uHW3L5mA+XU181n2FU9wRgCL4oen6JcoL/o=;20:FSbwnxX7corEEGQE8pSTPV9EDo0RBNwryrjjECEqYetSZCgW9Oq+La7E6Kcp+A0q7TW2L6RcXXN2BpBAjxafdTGtNibxFvPdameHlVXfiUBSaeU73ZYWI92osk7Z5C36fsNAUXKk6VE6uDOZJoQu33g+UgytDpdZGoXYNUEYxT2mLzQ8FE5I0p9l6QF8O/p3e1UP2NKqx+lQFJAq08fbqBRp7hBzCj9VcW+k/fYs7i5SU8JyXJUYo6XUGUIOLmYM;4:mapGZydEejCmjAtYjE1zN4ituj2ZfTAqfS9cpXvTyoat7lMXwPNo1BtFWClSefPDEV3SQg1Mcre7R2xvGsRfByAeyn6GXVbXYcZ70gkSs1reP6anSzywZsSPiKThxjKx0F4XqZF6LiDEiBtmFixEZ+EjZmsoCh/uxT2YT4QDekTiNzlnND5KUimV+KL4gWIPV0I2Iu9gCCjQP4iMLKKYToMF1gzXJv3+otRTpMrqeDLH0O0YHtcvPYBpZ1jsKvvul055eTbrD9u3Pf8dXGT5N+sztjQIKT+vhgzckIKsih3qgbtNKcOAjzvltxAve5Rm NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040501)(2401047)(8121501046)(5005006)(3002001)(10201501046)(3231220)(944501161)(52105095)(93006095)(93004095)(6055026)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011);SRVR:AM2PR08MB0419;BCL:0;PCL:0;RULEID:;SRVR:AM2PR08MB0419; X-Forefront-PRVS: 05954A7C45 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM2PR08MB0419;23:3CwrNHVIeYhEb6xIduonAfvSYp3bkc6kxvcpXUapB?= =?us-ascii?Q?HY2PgwE2lwIvFRvGgSB/kzsHpqisRW4aeJOKO617g8CtRLvkjbWvGMKlA3yw?= =?us-ascii?Q?sQ8CcsMwlXWIoA90rRGj8sHD1Y9IvA7n5Xqa1js8rA9mEwBBLP5uycVqTq8B?= =?us-ascii?Q?xevx4PkCnJ/49LorV4QaubbcCDh5yupkPCfkkLfXxp8XqTGgC4k5DDgOVLwx?= =?us-ascii?Q?KQqQkFSM8gGUfGgZJBqjjw3UnJnSdYcZxAexe6wEzbqrbhc8G2N9NOl3fpKo?= =?us-ascii?Q?sUgaqzAOaR6NW41Tho48eVVVhSR6yxkOJWCXVDHjp9R6EukEf60felRqyHQU?= =?us-ascii?Q?cmArQdPuE6IaoyQRn3LEUjQXCZtMPG/VA4r2lm/z/SlAfI47GdCtHwSF3zkJ?= =?us-ascii?Q?rXY4UisktE5KDryI2EH7TYLy2kd5Qhknwgi01oetd42LaYcB/iIXUYf5db81?= =?us-ascii?Q?e/VmDMBBPxl8A+eHtaDc+EgtBLWGtVapKMG18RJnOBt327E956ldaYXnvz+L?= =?us-ascii?Q?geaSjCaMBHgho+ecBo/KudJnjnCopSFuDFm4RdKEufR+P+Fm5ZswB0bk86Ha?= =?us-ascii?Q?elBKKUVBv0fHDfWffZo43eJ8BCIPmqAwxNnEbzaB4TmbcBiCGTinHZ0LUYu5?= =?us-ascii?Q?RpHSeoHDSrB3VFzHOQOQa9h7L91+2Qpiv6x3DBupMg3vHttCQHCPaoQ8Dh7p?= =?us-ascii?Q?93KxIc/yvZXj03lBlZ+J09eEvkxPCTElxiHlupPBvWSiSwJzGwjX0zMyZjDH?= =?us-ascii?Q?GTLcxkEIy56KV+FKlf6hdHr1tz4TxniF0IeDqboUak3t2c9W1DVnUPvxtIsF?= =?us-ascii?Q?ETvDW+FkaSbadQwBH8sCwKN25VF9WaJxUR1dG7sydtfMVqUCEYXywFjO+DeK?= =?us-ascii?Q?E6/cFbHu38t7gkOyu5WJjjJ4y9nXxn8b8mZvDMxI9cJbg4D7sGv5eBJbZD+m?= =?us-ascii?Q?JhxfrEcnwy2ISRfBG6z5cXRYYj8D++tANQzRts62ZB7E41CpQgz/Oa2rJSI8?= =?us-ascii?Q?aYmygA+MxxTYno1chcI/0mWZ7kQbINY5v3OMAGRRFZoUQKltSYIxxtaC1Uhm?= =?us-ascii?Q?JKWUwhIBo6yhL4vAkoa/h2wxlVjVyjVZiaWH2naDWxLTRFumTwksVSrqcxml?= =?us-ascii?Q?M1fiQ7CqUvj+pIq+NvsyTW8W3M+p0N5qt20nagF8G30anxur4Ba+WNGN0/QY?= =?us-ascii?Q?cyKwK+svaOcLilr3bCYka6Lgk6v00G7elKm8BBiI8cNHzFKjRa9nJSdAA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Antispam-Message-Info: PWA/Wflr5JoIuuTOPUADoz0VCyUgYj6zpnsMjS6UwaQnZzIOX/8a/6Pn7RNrW1Ysbo8EbvGrVDcXQBwVrhxJEalchs9P9I//iJQOL2zHxLEOQrbjjMh8C1CYL+w7suWAhI9d2WA+rl8qk3Xe0z3nqHQuFFi0jQjI+iVY8FkqbEloqkLRBGkLmkMsQ416ce9D X-Microsoft-Exchange-Diagnostics: 1;AM2PR08MB0419;6:ZmV7SAgg1pQVK2cLIjLqUZmQNDM/0pYlUgmLKU7YBdOI/O8l+fZlk/fv/kA9qNU1n5z0QeJ3ztZ4Jv8XDfak7CnegkEwfR3x/JbISdfcBfjOX6C/s8C7Q+U6Q9S1kxO44I24C2aXULltg09wTH5qt4zUqlY6nhAfiVrCiCC3xhEKL8uKWF7+2v75Lw8DVWM766RpevUQq3xaILxhVHdnbWqWvkKXuiazoVSVpa1PBILQNAkxPoDPeJ/1mz3e98pYbMbPNJrcFdtPm2Z+BVkUae1nSkqgYyX4/w3ng8lAdbZKgYW6zjj+751/4ubtKUb5Oir4KboAl59krFQB4J8N3Cw3SzQ6zZCuQ9GRSzrLXSpB4da5WGT41PqwufjE3w9Y;5:sG9DVA08xhRKwBM26O2LgFnYlUvLDrpmfoQuujjlVNsxuG1n8wq/Mqbhk3yaa9srds+84zoOSpkQazKVykz0wZ4owUfLgyuFloM5x6LIllITXjomLNzw13yIAwNgRScZ1fuv3QE4BGIJnwLSKTDEWIpSU8r1egy6r7sFGKnn5vI=;24:Kr3x68dR5HXoeXzPsVWuf/ydRbhZNt+f+BJWrT+TREYk/x5yh4FS1IV5ksLCLY9Wm9HkdWTTPA2ZYn7odzqUZw1ENK5k4Y1pvyW/TGK5DUs=;7:+n0swpLd5oy/wbxxIA125ouU4LpV/wAo4x4F+K0Mnt5OLNUsgFbx/Lltq08997yfDZAr1Xx5nCGQ1isMuM8N1l+v0Udyd2YakVrFIdOYPxswM+SlmMwayBpar7zJqHmZeFHgXcgzUzRYarXr1NG6gT/SgGgx7/5ClEFS4T9lWo0EmtLELACzn+0ZT1trwuTPAm0Vgd2y7ZeLVvDai6LSn3bcZkuNQm8JQwyqNVb1Q+akVolcnJCp0zqWMJI5gyz8 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2018 22:25:47.4784 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bcc53bda-d82d-4109-0e94-08d57d67e276 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: AM2PR08MB0419 X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg01468.txt.bz2 On Thu, Feb 22, 2018 at 11:38:03AM +0000, Wilco Dijkstra wrote: > As discussed in the PR, the reassociation phase runs before FMAs are formed > and so can significantly reduce FMA opportunities. Although reassociation > could be switched off, it helps in many cases, so a better alternative is to > only avoid reassociation of floating point additions. This fixes the testcase > and gives 1% speedup on SPECFP2017, fixing the performance regression. > > OK for commit? This is OK as a fairly safe fix for stage 4. We should fix reassociation properly in GCC 9. Thanks, James > > ChangeLog: > 2018-02-23 Wilco Dijkstra > > PR tree-optimization/84114 > * config/aarch64/aarch64.c (aarch64_reassociation_width) > Avoid reassociation of FLOAT_MODE addition. > -- > > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c > index b3d5fde171920e5759046a4bd61cfcf9eb78d7dd..5f9541cf700aaf18c1f1ac73054614e2932781e4 100644 > --- a/gcc/config/aarch64/aarch64.c > +++ b/gcc/config/aarch64/aarch64.c > @@ -1109,15 +1109,16 @@ aarch64_min_divisions_for_recip_mul (machine_mode mode) > return aarch64_tune_params.min_div_recip_mul_df; > } > > +/* Return the reassociation width of treeop OPC with mode MODE. */ > static int > -aarch64_reassociation_width (unsigned opc ATTRIBUTE_UNUSED, > - machine_mode mode) > +aarch64_reassociation_width (unsigned opc, machine_mode mode) > { > if (VECTOR_MODE_P (mode)) > return aarch64_tune_params.vec_reassoc_width; > if (INTEGRAL_MODE_P (mode)) > return aarch64_tune_params.int_reassoc_width; > - if (FLOAT_MODE_P (mode)) > + /* Avoid reassociating floating point addition so we emit more FMAs. */ > + if (FLOAT_MODE_P (mode) && opc != PLUS_EXPR) > return aarch64_tune_params.fp_reassoc_width; > return 1; > }