From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 40258 invoked by alias); 8 Mar 2018 13:34:09 -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 40246 invoked by uid 89); 8 Mar 2018 13:34:08 -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,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=aforementioned X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0055.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.55) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 08 Mar 2018 13:34:06 +0000 Received: from DB6PR0801CA0029.eurprd08.prod.outlook.com (2603:10a6:4:2::39) by VI1PR08MB1037.eurprd08.prod.outlook.com (2a01:111:e400:c549::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Thu, 8 Mar 2018 13:34:02 +0000 Received: from AM5EUR03FT039.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::203) by DB6PR0801CA0029.outlook.office365.com (2603:10a6:4:2::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.567.14 via Frontend Transport; Thu, 8 Mar 2018 13:34:02 +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 AM5EUR03FT039.mail.protection.outlook.com (10.152.17.185) 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; Thu, 8 Mar 2018 13:34:02 +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; Thu, 8 Mar 2018 13:33:44 +0000 Date: Thu, 08 Mar 2018 13:34:00 -0000 From: James Greenhalgh To: Kyrill Tkachov CC: "gcc-patches@gcc.gnu.org" , Richard Earnshaw , Marcus Shawcroft , Subject: Re: [PATCH][AArch64][2/3] PR target/84164: Add ZERO_EXTRACT + LSHIFTRT pattern for BFXIL instruction Message-ID: <20180308133344.GD9526@arm.com> References: <5A7C849C.6090107@foss.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <5A7C849C.6090107@foss.arm.com> 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)(346002)(396003)(39380400002)(39860400002)(376002)(2980300002)(438002)(377424004)(53754006)(199004)(189003)(229853002)(2950100002)(5660300001)(305945005)(36756003)(86362001)(33656002)(23726003)(246002)(97756001)(104016004)(8936002)(8676002)(356003)(106466001)(47776003)(50466002)(54906003)(2906002)(6306002)(6286002)(72206003)(6246003)(16586007)(26826003)(478600001)(55016002)(46406003)(966005)(4326008)(26005)(186003)(6862004)(316002)(336012)(77096007)(58126008)(7696005)(106002)(1076002)(76176011)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR08MB1037;H:nebula.arm.com;FPR:;SPF:Pass;PTR:fw-tnat.cambridge.arm.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM5EUR03FT039;1:fkZ8eLhhezeUJco2kJYRx5EfQfBGA9TChLQhGGIwYHKmv8SA2qvLE4q0RLFYSNOrhu+aABdOLoQuNosrMTHCDe23/eYMgoglm8qVskm8EEPsQWvIQ4x1gAZLL1Urp9Iz X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2035eb9e-8d8a-4d84-80be-08d584f9418b X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4608076)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060);SRVR:VI1PR08MB1037; X-Microsoft-Exchange-Diagnostics: 1;VI1PR08MB1037;3:XmwQr6U+Xwgvfb8DKdykSZzWEcQHZkqin2eBAz9+ktz9K8q2UYb1k+8bCG5Lb8tVuSUP389FluxhcDzyx9dV77DliiygYW/N+NQDkEmpxf6cNU+L/k4j0mV9T+DLj+2HsVrvaLsW6t28ieO8dwY4CTGcN05EUNXThtPxjUcMN/eTrtkDfbNeuDRQysGi/Pe4fNb/8WSCswPP+Irs1nDL6h0rCmbgzkGlrL0EDuQ3nAA8JjTxV8HqTGbt+KBEkN+WFkHbxY6r15BJhviLPyBdzUUMum9xvimeXAlxMWcFt2ZBwAJp9M586EhxY2U/A4WMSAjV5YNzaw21sRvkUX7AD//WJtoUz1HjAdkLxZuh4oE=;25:LX2B+QY9ZYr2BmOQEL3fHgaGy8cF/hoNwe3UxVqfwpo/6ZI0GImiZNkinUoVXdV14G27D1dtmkl9yw4/xk0trujj/+2Ach1HBSorsrGTlmHSAErmApI8lKJvDzJxL2+nX8EzRAJTC0t9ekHL3IntxItH7RQlAXu433LR+kPSm6S08WQ5RLzmCXZVubsEg9m5O1gEBsdVk788h70Qjgk4GWYfRSeNjUYTvY1pC/cOeq/zv/gvfUKVjvn5pgf6u1Cj+01qd12R0br5Apl0fXaJmc0F7ApTzn9EFq+kX8Vouuq4W1mSPs76ZY26503JUTeQ/fHI77HA1da63vD3iYleSA== X-MS-TrafficTypeDiagnostic: VI1PR08MB1037: X-Microsoft-Exchange-Diagnostics: 1;VI1PR08MB1037;31:U6OMY12feogzWLAk2ugwmPM1WaG8/Kv2hK0piXCsNbM0zkf4hGiDAPjSR8D5L39e0V6SsZwOKPKhr8I0d5FU6oBR//oTO8QQR8hhV55KwPmHUciRwREHQvZ+Zi6uUeXCkdqsOuh5l8ySAzQNLZCL1G9lE4TTtphov21ztW6pzSiWf1TuQ0M6sj6Yxfsl+tANH3Ll0Yxqunty1bksw4is1CQ0agWAGmdtkSmJ2WoEWXk=;20:8aFz/8jaOjDLjuFNoktOyYq6Mln0prM0gLSNxJhNTKzGy2JWg/ReMlx+8NRjAbuj5KqTtcBRF5cKPUjBn5GGwb1DSggn132Bn7aOlkbMznDvd9UmNDWTSSJ0WlFReThSsnUp6DHzjSIXi4i+UQfGA5U/ajLwaaXXdW9yLxHoN8L9tBzfVlWFs0OX8iqlBhCudNuTUcAtGGPTlE3moEFOdp9OK43+lkczTPUQBxJhnzhi544jLCnA3dL03/aZzgnE;4:MJy6onnwn479AMvsPh0+wP3B7M1SI8dJQXJ+L9vGukub2EkR0uVII9W5wVDvuyu/Kt/uvpGIlxxtriOuhhpsUsute7Ed0ZlcoIs7pqjIUsEHftgi0LmuplYd36P21PECzOU32iZKglPfdX81SRoAuLyBbGh+Q8CFkXX+N4eLSxxDawXS2Fs1rlFfemoVFVwKXK09+NOnL3qX6wJLqWPTByMbbJrg40v5KnsW6sbBeY9tU1xOC5aWoOBZl0r/+qnALb2OsiZbp+d6RCOS2cf/xpULUjKnuEdNQ0ULcj4IDNSl3Cs1n15zO8WHpRoOEpWEc8UGWanhqkzgyLAy4IffhfJKu1ddETwSfGitFezIbN1Ti5eJVDORAcAPrfXyjlI+ NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917)(22074186197030)(183786458502308); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040501)(2401047)(5005006)(8121501046)(3002001)(3231220)(944501244)(52105095)(10201501046)(93006095)(93004095)(6055026)(6041288)(20161123558120)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011);SRVR:VI1PR08MB1037;BCL:0;PCL:0;RULEID:;SRVR:VI1PR08MB1037; X-Forefront-PRVS: 060503E79B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR08MB1037;23:cFuMwoU5FJXqty/3rWHE6vb5Wobu2cLXJkh07LoRJ?= =?us-ascii?Q?l1BJtny623tlKh10yrc/oCGXUaautBYK3iYx8AIKqL+roqJKPAVycHGucoCL?= =?us-ascii?Q?iyVmjJBtQjuFYFIjRD0Ju2sf9agQZgLYWPQYF2+Id64un5Yhe6xX7yiugIlt?= =?us-ascii?Q?taNLVpDhxI4vnIkIGoCBOJG1FQ/Njz+tQZcOG/nitxUZ90+P2yPqoaJEvYre?= =?us-ascii?Q?I2y6Pt/DbyCK9dzQsAHknhJ3S/XTOrQq3FcnEa1FaegBLuCkKavs3nKR1K3e?= =?us-ascii?Q?XJ5R+m51N3yMkse2yxpk0DsgRBxcSWSit4d1EpUpas0J+89uYXmMWCVoVjac?= =?us-ascii?Q?IVBV/53Z7jGhhs9p74gc7H7VXySEqiLSP6E2lq7OhpFq4TEuZcGBAcU6TpGF?= =?us-ascii?Q?SLF+a2FBPho3iTcam7VWq/CvZTjudyENKX3/A2FVFfXd8F2XFCg5PIwXvyZs?= =?us-ascii?Q?Yd3LbWIIEEARe0vzKIwehrXqdPop+K2ykcfAtCv2iHAl7pTcwHI+sIWwJZH6?= =?us-ascii?Q?ufCx6Wu4b6W41od0sqadgx7V7oSIRUEwNZdpwOomGRJ4TTdNi7WrKXAOYgHP?= =?us-ascii?Q?VpcCHEFhdcA1wfEwzz4CjY8Q7LDeBVdP+buro61Y17xVxqG/eRkEqHC6tCIV?= =?us-ascii?Q?Pr9ePDoY+9GLB0yOnqDAThYxBjxtOjBJtSF1rdXVDrZ9pMyw+NIR7J80zHmL?= =?us-ascii?Q?3D+IIAMu9HnJ+UabhzKwCwD5gPvmCL9ZBTIqhP06ifRy6OEaNWREX83n4JYh?= =?us-ascii?Q?OdJMUFKFiBtXrs/xYB9ct1Rd/3fWbgqRZK2TZBJhsnXzrURJeNVYgO0cAuEi?= =?us-ascii?Q?85/yss93XqHRBQxDjOY1TVVE8wDdL6VGDWTDoHSWFtOwh52gvEaNTZtsbOWC?= =?us-ascii?Q?tSrigCnaaqborxq9ptBz3Smfus0WvUfpDh9MiSRIYz82y8b7FwtPo0e+PJzx?= =?us-ascii?Q?wXaGO9WVl8W5ScR27L13SlS05T9fcz5THE53eIxL/82rPbBxcuHpI8j7WRT4?= =?us-ascii?Q?cgEzxTGZEgvq0L4ULPxNlmYzI8oQYHzF0yAA2q1A/1l0BSAlFxkpfp+sjyts?= =?us-ascii?Q?LLl8WZipmCLefxPqurgiu8jj3tvFaCkaD0T0M/W5jdX2FXGeUsLEB+6xASPs?= =?us-ascii?Q?cTh+cEsAKWCFfeSSI4CPTWSXG/hR3/m+pp8IyZ1kksTGb3Kfj1EfDrvhCxp5?= =?us-ascii?Q?rUy2nBUQiahhs897bj95TR4xOKqvSYUuE6a?= X-Microsoft-Antispam-Message-Info: vXH05xgrvSqH8V0ZPFdHA2lfBkEbsQy8YhrJALIK4PwJdNMLq/6Cd12wjOJjFre7g/HCwZ4qSht+2uB9WArqCPnj2jNM8CBOIFP26Lcso8zNm3Aw3N9wy++rRFORjxgQNbaT6kBQ9XM2UIoad9uB9+qKHyNJlbdq9Wx+Q5PtkbQmIVD6FxvB1WN2J0+T9Z79jkpqzjfYCNHKV3uFTBhBATcEthz6r6F6eHUc0EL3CnLEO1IQ1TcsUk6LF9hnd7NO7vU1rSM1JTZw6KMvwJpas337A1ITQDAZd1aCjpVHp5q2utE+EiIToe+sNb1aePh5KJlWcMq0iz9WiLDd+ws/2w== X-Microsoft-Exchange-Diagnostics: 1;VI1PR08MB1037;6:yuLHGIuTte43uC8hxVyg89nA/8TbsTC6mLty70JX7GgiyOYa0r0lt+qgXd7l+bcwYXR6pn3sA3MEHjib/b2XFp3vWR106UxwSbVBxDamd2jeE7FDakiWIWy2J2ducwwhshvAS3EisZnbb5ebVjtky30aWDV3grUPFYwu6o6I6zCtEre9GsDK8p9XZKDjKtKLvPjlFac6K6fYQUcxpzu7Wdm9iCVe+4ftike9B7H9MrA4O0LY1UHCyrbmPQupKIiylTDMhCjnCpJwKb5tlGdppmlhpIZ1R+hkrTOyPoHso3O88kY470E8WDLIR/8xXcGRxICZ9QGrfy/84kqyi4OW96iOL1tnjdgh7an6Scn0EKUsogn3ZmpYERm+0tevAFfd;5:XntJMA9rdXsvh+cl8MjUbRZ9U+HQCwqwBg5pgfUVrU9hwdTF3Ii/ftRClD9ieXsK1pwQygM9ryt6ceZbZGUkr6Atz49AxRnt7Egw1KOcPnvLM3wTwn7A+CSKxou3JgNz48xvQUaesTcJVh3U45rWT/f/hCdF9QkIWqrOrVvWr5c=;24:fZbg3I6jAxhQcnMtulaa2tDDbioHyfYkQ8UjZmMd8rSyp3yftXhqD3oyEDN0pO4VRkuOI06s9YF0yjYufpQ2dv2RQR0hGjtsRJuU2L9YZqg=;7:chm6pYppFtc0Q0LowWN0k+JbdrW9Ylep1FrmE8sxjSRMRFSy6QPn6hftWXh4ZQhwIu7T9kDdu35LRnHrqHJzzh4DViQedA8UDGfyLyzoSi6NMDhHgUqRnQiBMqvmNSJlkxZSGaux3nObjZjEW82Fbi689GmHjHmHZHhvDvJYf9V5ELl+yz9RMoEsRkZIwMuiJpC39E25ZHa/jSMek63c7cVufmiCso3/Wc1OTyeTT9V//8j3HSleQqz5hEOh1wjN SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2018 13:34:02.1677 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2035eb9e-8d8a-4d84-80be-08d584f9418b 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: VI1PR08MB1037 X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00386.txt.bz2 On Thu, Feb 08, 2018 at 05:10:52PM +0000, Kyrill Tkachov wrote: > Hi all, > > This is a followup to the other PR target/84164 patch [1] that fixes the testsuite regression > gcc.target/aarch64/bfxil_1.c. > The regression is that with the new subreg+masking simplification we no longer match the > pattern for BFXIL that has the form: > (set (zero_extract:DI (reg/v:DI 76 [ a ]) > (const_int 8 [0x8]) > (const_int 0 [0])) > (zero_extract:DI (reg/v:DI 76 [ a ]) > (const_int 8 [0x8]) > (const_int 16 [0x10]))) > > This is now instead represented as: > (set (zero_extract:DI (reg/v:DI 93 [ a ]) > (const_int 8 [0x8]) > (const_int 0 [0])) > (lshiftrt:DI (reg/v:DI 93 [ a ]) > (const_int 16 [0x10]))) > > As far as I can see the two are equivalent semantically and the LSHIFTRT form is a bit > simpler, so I think the simplified form is valid, but we have no pattern to match it. > This patch adds that pattern to catch this form as well. > This fixes the aforementioned regression and bootstrap and testing on aarch64-none-linux-gnu > shows no problem. > > Is this ok for trunk if the first patch goes in? OK. Thanks, James > [1] https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00443.html > > 2018-02-08 Kyrylo Tkachov > > PR target/84164 > * config/aarch64/aarch64.md (*extr_insv_lower_reg_lshiftrt): > New pattern. > diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md > index 62a4f8262a316087894aeb555c609fbe75885203..2c6343a363c161ed503ca1ddd752e21b5c941eb8 100644 > --- a/gcc/config/aarch64/aarch64.md > +++ b/gcc/config/aarch64/aarch64.md > @@ -4803,6 +4803,19 @@ (define_insn "*extr_insv_lower_reg" > [(set_attr "type" "bfm")] > ) > > +(define_insn "*extr_insv_lower_reg_lshiftrt" > + [(set (zero_extract:GPI (match_operand:GPI 0 "register_operand" "+r") > + (match_operand 1 "const_int_operand" "n") > + (const_int 0)) > + (lshiftrt:GPI (match_operand:GPI 2 "register_operand" "r") > + (match_operand 3 "const_int_operand" "n")))] > + "!(UINTVAL (operands[1]) == 0 > + || (UINTVAL (operands[3]) + UINTVAL (operands[1]) > + > GET_MODE_BITSIZE (mode)))" > + "bfxil\\t%0, %2, %3, %1" > + [(set_attr "type" "bfm")] > +) > + > (define_insn "*_shft_" > [(set (match_operand:GPI 0 "register_operand" "=r") > (ashift:GPI (ANY_EXTEND:GPI