From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2052.outbound.protection.outlook.com [40.107.13.52]) by sourceware.org (Postfix) with ESMTPS id B7B4A3854E4B for ; Fri, 16 Jun 2023 09:06:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B7B4A3854E4B Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com 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=A8j4WK8STOahMbdWEj50rarxzb3qnk9HtmvCG2SKBlc=; b=rXkmN2oiGaVLYlgZ73v9qP7V+mStTuac9OZa3ljj37K519kKukOQ9p5x7CHQMmqdsq5nYuZ4AkFbRmQ4+rnSHRm4+bDwfqds2TgO25VbN5txMtxXytw6i1kI8Wd/wgYmPgLQsTMEBQhct30++N82aVLjJvmctvzNls0M/iCmS8I= Received: from AM5PR0101CA0024.eurprd01.prod.exchangelabs.com (2603:10a6:206:16::37) by VI1PR08MB10076.eurprd08.prod.outlook.com (2603:10a6:800:1bd::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37; Fri, 16 Jun 2023 09:06:10 +0000 Received: from AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:16:cafe::bb) by AM5PR0101CA0024.outlook.office365.com (2603:10a6:206:16::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.29 via Frontend Transport; Fri, 16 Jun 2023 09:06:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass 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; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT007.mail.protection.outlook.com (100.127.140.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.25 via Frontend Transport; Fri, 16 Jun 2023 09:06:10 +0000 Received: ("Tessian outbound 3570909035da:v136"); Fri, 16 Jun 2023 09:06:10 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 5d439965331fe4fd X-CR-MTA-TID: 64aa7808 Received: from 17d2434f93c5.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0493F3F4-06D6-4394-8390-B94DE2EBBB6B.1; Fri, 16 Jun 2023 09:06:03 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 17d2434f93c5.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 16 Jun 2023 09:06:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WWVYkPmXe2n3tGIPjYh5xFHXtoezeLEHONjDKTRSM9ioKeIiTIJewPmXxgBX0cgcAA0aKBFWqmv+K8MLAgG5nOz7sLMWUW69kJXBuRqx+ZB8Bzyp6InIf03G3ezoUjvt4FzazfmSYVTlYVjdFJO9uquQSPc6jO7EzmT3hSA9TJv6pzO01VcoI+vatzT+N5Kp9pGQGezTWHI60IaXF6LzPJk/9nqs87IdPTKhLmMNP+ZRHGb0qVuXtdY/Iu/wl2bZarK08yBTMRqFFkFNusxU+o/OuT2wqLTQrzecw/bsipyOncwbbQwdQ2LHW3sMqGfCwrXv2epBwQqdIsRXhD4UXg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=A8j4WK8STOahMbdWEj50rarxzb3qnk9HtmvCG2SKBlc=; b=FovbfZwyffYQSakNHyjz7cMUdQub7e/32sc7pMlgpw85XZiyYEPaOusGINrcJZxz0a+BEAfv8D5sx0kbG2ccMwIoiubjNy+6seX5ctA4gNHnp+bYPW+m7Hi8a5Gbe1RfVB6rXXexDmINA+GJn5JSSXqYmrwrExFnRlT3h7UrQs9K8L7ugyRIjNQNF8usGGZW3hnCcj2ntU/g3o0Q8s2UAHJzw73RILQdP0uOZuZOK+rZOqJkSd/nVhLxU76/AfQxO2YwlKYnFCoH/vmz62eOLE2YUR2ThW5I9mZg6IQc3ng5BrL1BfGc6Tk7orzkDRoIb6uIncQhjedR0CurGWy+Ug== 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=A8j4WK8STOahMbdWEj50rarxzb3qnk9HtmvCG2SKBlc=; b=rXkmN2oiGaVLYlgZ73v9qP7V+mStTuac9OZa3ljj37K519kKukOQ9p5x7CHQMmqdsq5nYuZ4AkFbRmQ4+rnSHRm4+bDwfqds2TgO25VbN5txMtxXytw6i1kI8Wd/wgYmPgLQsTMEBQhct30++N82aVLjJvmctvzNls0M/iCmS8I= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by AM0PR08MB5508.eurprd08.prod.outlook.com (2603:10a6:208:186::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.27; Fri, 16 Jun 2023 09:06:01 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::2978:61ca:4677:30f8]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::2978:61ca:4677:30f8%5]) with mapi id 15.20.6500.029; Fri, 16 Jun 2023 09:06:01 +0000 From: Kyrylo Tkachov To: "gcc-patches@gcc.gnu.org" Subject: [PATCH] simplify-rtx: Simplify VEC_CONCAT of SUBREG and VEC_CONCAT from same vector Thread-Topic: [PATCH] simplify-rtx: Simplify VEC_CONCAT of SUBREG and VEC_CONCAT from same vector Thread-Index: AdmgMbtWny7M+A/lS/OafOb2GkKcsQ== Date: Fri, 16 Jun 2023 09:06:01 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAXPR08MB6926:EE_|AM0PR08MB5508:EE_|AM7EUR03FT007:EE_|VI1PR08MB10076:EE_ X-MS-Office365-Filtering-Correlation-Id: b3f01961-f227-457a-0d55-08db6e48eda1 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: BAD2KIGnOLzOynsNtDjEQr6tN+993ASEmFs6rwtuVlmidMMCG9I9hWixwit7qJhqALUAXT2N4e61loJVKMELV1o/Vv59xyb5HqejfzQaOgNeYr8h/vKQrLIivccBC1SXLq124hgLGDe/KcKbNRbxSWrYsojtFWPzpvGUHjeUvtKWqRH71MwrYtTI34WHiXq5To76DATLrWEbD/sakv5zUZo7/l+u67lFV/b05GK8HlNyKLKiz/4tZnNeCHIu4UuI+NOT+BZauMe1APQpevSLzmO3RUOMSqntQ/TIWeueiWlDKTa7oVQ+DCzy5TnY0iFBMeyC59lTTGfQ4MvcmEGwD/B11SejWVvxLeVMaviTC6Z4vFthCZ1ekaE5IlcrjK/+o/0b9K9qW61siz7HPsTKlhylMtnB0XNUf5IrEiGqWSa4nPmfCRxtqg/ejwoTL/Xe5u3zDHM9/gUe3+F3j2/KbI9/wIUoajJowxiMPDcgCJh1qqCPKHb7Adg0VVCBGlb3SaofXWi8EWwDB4N3OD6DSBw0/zNM8JG7lWuxxaGV4SMq8tagL3y6WC0c9f/OBSHU3NnYPa+j0aQVav0aULYZnlJ+6hTSkitNLWdRmIEo/jM= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6926.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(366004)(396003)(376002)(136003)(39860400002)(451199021)(41300700001)(5660300002)(26005)(6506007)(55016003)(9686003)(71200400001)(66476007)(66556008)(76116006)(66946007)(64756008)(8676002)(316002)(8936002)(84970400001)(52536014)(6916009)(478600001)(66446008)(2906002)(7696005)(99936003)(186003)(38100700002)(33656002)(38070700005)(86362001)(122000001);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_PAXPR08MB6926013E68A39AAC52E896599358APAXPR08MB6926eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5508 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 590b995c-923f-4b5a-e1ec-08db6e48e832 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vr4XdJ98scAyq11S5jNklrMKexLjdcBkQ9Isxw7pLcdO2tu16B1cBOXQANSfDzDwy+ncReuiZ40BKQxBxFLjpmF4Qexv9nIhjMz6djy5D8f5qeoIrL2/582NnVkKCfG8Hv7k7zsknhT4dN+zQ0EKnh9yWqmQnG7QH7bmUW9TLTb5P1RgNYD77dmfaCE/AUN0snd3+YW/5wvQawlPRRin+72DjL88Yk0flC1iEpXvQJUqbNQn7PKHLtfOO62pM4ICEFTb8vC+beKd6PDzDcklk2j8mM5a/lShggPGs7Dc2pbheKIg+XiXlKqnTKdf/8TjC57RMwMp6NBABgErXTSr47zHvsaH6OgMLRLnn2/G3BDJUolyau2O5gGxBLDCkX/xLBk+JoKWlhvLr6+yu4FEH+EDC5WHW+oJQd0NbGARxQaQMSvJZYSfR61n8N5gxBi0UkvK/g8/a1nnzHr/1JfJfnlfEbGSFC8kGSSiPgtFFrP+tJsukjPb8wGZgZcNgrIBucpODpSRuw9Wo65ik7kr9zty+Bjg4D93b1zuzcs74RbkxAnUDcl2JIqWdg6EncCCT4iYwz28n6g0KyvTuhL7WoTiao/s/V8z5z+ngj+pyStskocmHbNE0zEhMmZ25MIk5t1VMYl1aOh+A3GOLHXXHdddXZZSRnz1OGaYkVErBDbo20LLTp69n+cv+NjqWKtg8+UTiUqa81Nex8XSGwdV9SwXk9enrd1ZoxdlGdB7Big= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(346002)(39860400002)(396003)(136003)(376002)(451199021)(36840700001)(40470700004)(46966006)(9686003)(6506007)(26005)(186003)(478600001)(55016003)(40480700001)(40460700003)(7696005)(2906002)(8936002)(316002)(33656002)(41300700001)(8676002)(86362001)(81166007)(356005)(52536014)(82310400005)(82740400003)(5660300002)(235185007)(99936003)(336012)(47076005)(84970400001)(70586007)(70206006)(6916009)(36860700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 09:06:10.6044 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b3f01961-f227-457a-0d55-08db6e48eda1 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10076 X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_002_PAXPR08MB6926013E68A39AAC52E896599358APAXPR08MB6926eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, In the testcase for this patch we try to vec_concat the lowpart and highpar= t of a vector, but the lowpart is expressed as a subreg. simplify-rtx.cc does not recognise this and combine ends up trying to match= : Trying 7 -> 8: 7: r93:V2SI=3Dvec_select(r95:V4SI,parallel) 8: r97:V4SI=3Dvec_concat(r95:V4SI#0,r93:V2SI) REG_DEAD r95:V4SI REG_DEAD r93:V2SI Failed to match this instruction: (set (reg:V4SI 97) (vec_concat:V4SI (subreg:V2SI (reg/v:V4SI 95 [ a ]) 0) (vec_select:V2SI (reg/v:V4SI 95 [ a ]) (parallel:V4SI [ (const_int 2 [0x2]) (const_int 3 [0x3]) ])))) This should be just (set (reg:V4SI 97) (reg:V4SI 95)). This patch adds such= a simplification. The testcase is a bit artificial, but I do have other aarch64-specific patt= erns that I want to optimise later that rely on this simplification happening. Without this patch for the testcase we generate: foo: dup d31, v0.d[1] ins v0.d[1], v31.d[0] ret whereas we should just not generate anything as the operation is ultimately= a no-op. Bootstrapped and tested on aarch64-none-linux-gnu and aarch64_be-none-elf. Ok for trunk? Thanks, Kyrill gcc/ChangeLog: * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): Simplify vec_concat of lowpart subreg and high part vec_select. gcc/testsuite/ChangeLog: * gcc.target/aarch64/simd/low-high-combine_1.c: New test. --_002_PAXPR08MB6926013E68A39AAC52E896599358APAXPR08MB6926eurp_ Content-Type: application/octet-stream; name="concat-subreg.patch" Content-Description: concat-subreg.patch Content-Disposition: attachment; filename="concat-subreg.patch"; size=1645; creation-date="Fri, 16 Jun 2023 09:05:31 GMT"; modification-date="Fri, 16 Jun 2023 09:06:01 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9zaW1wbGlmeS1ydHguY2MgYi9nY2Mvc2ltcGxpZnktcnR4LmNjCmlu ZGV4IDIxYjdlYjQ4NGQwNTgxOGJiNTYzZTA4NmUwN2E2MTUyYTNhM2M2YjcuLjljNjhkMzYwNjcy MzZhOGIxNGRkZWZhZTM0NTVmMTJmZTMwZTM1ZDIgMTAwNjQ0Ci0tLSBhL2djYy9zaW1wbGlmeS1y dHguY2MKKysrIGIvZ2NjL3NpbXBsaWZ5LXJ0eC5jYwpAQCAtNDg2MCw2ICs0ODYwLDE3IEBAIHNp bXBsaWZ5X2FzaGlmdDoKIAkgICAgcmV0dXJuIHNpbXBsaWZ5X2dlbl9iaW5hcnkgKFZFQ19TRUxF Q1QsIG1vZGUsIFhFWFAgKHRydWVvcDAsIDApLAogCQkJCQlnZW5fcnR4X1BBUkFMTEVMIChWT0lE bW9kZSwgdmVjKSk7CiAJICB9CisJLyogKHZlY19jb25jYXQ6CisJICAgICAoc3VicmVnX2xvd3Bh cnQ6TiBPUCkKKwkgICAgICh2ZWNfc2VsZWN0Ok4gT1AgUCkpICAtLT4gIE9QIHdoZW4gUCBzZWxl Y3RzIHRoZSBoaWdoIGhhbGYKKwkgICAgb2YgdGhlIE9QLiAgKi8KKwlpZiAoR0VUX0NPREUgKHRy dWVvcDApID09IFNVQlJFRworCSAgICAmJiBzdWJyZWdfbG93cGFydF9wICh0cnVlb3AwKQorCSAg ICAmJiBHRVRfQ09ERSAodHJ1ZW9wMSkgPT0gVkVDX1NFTEVDVAorCSAgICAmJiBTVUJSRUdfUkVH ICh0cnVlb3AwKSA9PSBYRVhQICh0cnVlb3AxLCAwKQorCSAgICAmJiAhc2lkZV9lZmZlY3RzX3Ag KFhFWFAgKHRydWVvcDEsIDApKQorCSAgICAmJiB2ZWNfc2VyaWVzX2hpZ2hwYXJ0X3AgKG9wMV9t b2RlLCBtb2RlLCBYRVhQICh0cnVlb3AxLCAxKSkpCisJICByZXR1cm4gWEVYUCAodHJ1ZW9wMSwg MCk7CiAgICAgICB9CiAgICAgICByZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc2ltZC9sb3ctaGlnaC1jb21iaW5lXzEuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3NpbWQvbG93LWhpZ2gtY29tYmluZV8xLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMC4uMGI1MDJkNTkzZjJiZTM4NzI3MGFlOTI5ZTc1YjZhNmMyZWZjNWYyZQotLS0gL2Rldi9u dWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3NpbWQvbG93LWhpZ2gt Y29tYmluZV8xLmMKQEAgLTAsMCArMSwyOCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8q IHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItTyIgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNr LWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICIiIH0gfSAqLworCisjaW5jbHVkZSA8YXJtX25lb24u aD4KKworLyoKKyoqIGZvb19sZToJeyB0YXJnZXQgYWFyY2g2NF9saXR0bGVfZW5kaWFuIH0KKyoq CXJldAorKi8KKworaW50MzJ4NF90Citmb29fbGUgKGludDMyeDRfdCBhKQoreworICByZXR1cm4g dmNvbWJpbmVfczMyICh2Z2V0X2xvd19zMzIgKGEpLCB2Z2V0X2hpZ2hfczMyIChhKSk7Cit9CisK Ky8qCisqKiBmb29fYmU6CXsgdGFyZ2V0IGFhcmNoNjRfYmlnX2VuZGlhbiB9CisqKglyZXQKKyov CisKK2ludDMyeDRfdAorZm9vX2JlIChpbnQzMng0X3QgYSkKK3sKKyAgcmV0dXJuIHZjb21iaW5l X3MzMiAodmdldF9oaWdoX3MzMiAoYSksIHZnZXRfbG93X3MzMiAoYSkpOworfQorCg== --_002_PAXPR08MB6926013E68A39AAC52E896599358APAXPR08MB6926eurp_--