From patchwork Tue Sep 19 12:30:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tamar Christina X-Patchwork-Id: 1836692 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-armh-onmicrosoft-com header.b=zutJFmBc; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-armh-onmicrosoft-com header.b=zutJFmBc; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Rqgxb0fWBz1ynX for ; Tue, 19 Sep 2023 22:30:59 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BD8BB3857736 for ; Tue, 19 Sep 2023 12:30:55 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2079.outbound.protection.outlook.com [40.107.6.79]) by sourceware.org (Postfix) with ESMTPS id A290C3857036 for ; Tue, 19 Sep 2023 12:30:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A290C3857036 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=yhFGANy2nDNOip9Wmk3A2o5V81hE+n24WckPD/Dnwrw=; b=zutJFmBcBAN1qtrdcB4JOnWpk144RWSJTDJ6MWUYQX3MfwySt1rRsVSpDXT/+ZGqOLySqL+ykRWTDQiduDYrOBR1WFmgkekny3AdEZGOfc8/nyBJUe4KZwm2cuG3L+leDpt/V7F/FUiQTllQLZ8ph+oeq/JP9TPVnExKFs+0lnQ= Received: from AM6PR10CA0017.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::30) by AS8PR08MB7718.eurprd08.prod.outlook.com (2603:10a6:20b:50a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Tue, 19 Sep 2023 12:30:37 +0000 Received: from AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:89:cafe::b4) by AM6PR10CA0017.outlook.office365.com (2603:10a6:209:89::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27 via Frontend Transport; Tue, 19 Sep 2023 12:30:37 +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 AM7EUR03FT020.mail.protection.outlook.com (100.127.140.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.18 via Frontend Transport; Tue, 19 Sep 2023 12:30:37 +0000 Received: ("Tessian outbound 0b7d6027328f:v175"); Tue, 19 Sep 2023 12:30:37 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 565614c63abf9035 X-CR-MTA-TID: 64aa7808 Received: from 51dbfcebffe5.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 378E159E-AD5F-4CB3-89D2-ACF104C7B5F5.1; Tue, 19 Sep 2023 12:30:29 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 51dbfcebffe5.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 19 Sep 2023 12:30:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nrm78HEdc+AdsceoTicf9Hg7/xQsqsz/nMnyxnPpfuMUNg1Ee8KZSvvpJ97AqieGqMAa9FssZwlH4mqk2x8PqDgAJ9g0q2+nsVqBWqu62KRRVJJ3KWGQRFFILpbIq4fCeAT0yuBJ/MxykL93KS1GiMHk34SrR1I7r1uKgTTcJWQ7UXFrkKLlN9jQwOFO55MPl5/azxoJvUg8b60Tjx+taRRUSZuJMm/vynUHmvJoAtnhCQ+kd0owX1dwzhMDlZ0/7zUmVVg7DZoYFjRyZk2Xc+yQWueIZ7WyODK6JfO0Pf9wxsFyE84yQdbTXSzCIIyxODVCA2Q9MSm96mAUMAoQ/w== 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=yhFGANy2nDNOip9Wmk3A2o5V81hE+n24WckPD/Dnwrw=; b=jtqWocxvtt8PoemW7ZEhjF/23zEZCTjtNwCa3T/MpxWyYZ0WCI/oXRnLYIb4nt1CwiKGyDLdMfH9T9vZ3HC89d0Vn96WM+Pg2W8mlMx1bl3VoaAXR2L4lrX0nE4FPQ7Ygd3lcyLu7vAUogDhe4PW0GpPFPFfDfNTecsbHrVGXFWdH3UwK8KWXUgicT1s/+lP1B0Q4ah4fJ+XiZYkzm7pgEGS9bOJGkHWnG5UcK3smKf8nk/d9MZ88pt4rIhWDy+7vH+fF8nhT+1VZZTwyHWv8ht3WH04JXNT2Y1Ol3PMThHBZUjDosjd/NQ6h+O3cnMAgg3T4c6ZXV4/imrRS9AGXQ== 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=yhFGANy2nDNOip9Wmk3A2o5V81hE+n24WckPD/Dnwrw=; b=zutJFmBcBAN1qtrdcB4JOnWpk144RWSJTDJ6MWUYQX3MfwySt1rRsVSpDXT/+ZGqOLySqL+ykRWTDQiduDYrOBR1WFmgkekny3AdEZGOfc8/nyBJUe4KZwm2cuG3L+leDpt/V7F/FUiQTllQLZ8ph+oeq/JP9TPVnExKFs+0lnQ= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by AS8PR08MB6664.eurprd08.prod.outlook.com (2603:10a6:20b:351::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.21; Tue, 19 Sep 2023 12:30:27 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::662f:8e26:1bf8:aaa1]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::662f:8e26:1bf8:aaa1%6]) with mapi id 15.20.6792.026; Tue, 19 Sep 2023 12:30:27 +0000 Date: Tue, 19 Sep 2023 13:30:22 +0100 From: Tamar Christina To: gcc-patches@gcc.gnu.org Cc: nd@arm.com, rguenther@suse.de, jlaw@ventanamicro.com Subject: [PATCH]middle-end: relax validate_subreg to allow paradoxical subregs that change mode Message-ID: Content-Disposition: inline X-ClientProxiedBy: LO2P265CA0189.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a::33) To VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: VI1PR08MB5325:EE_|AS8PR08MB6664:EE_|AM7EUR03FT020:EE_|AS8PR08MB7718:EE_ X-MS-Office365-Filtering-Correlation-Id: 4cc23229-fe5e-4eac-80a7-08dbb90c3a4a 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: 1DmN5Y60KSFv+ZX4qTZylaN5NY4eMfE14QMOAuWCYcOngFPQRaaD9u4HkSWjhsMjCrXYVb0gPdXngRzeMyGm0iqJwb7IJ3mjqTblsb3XWoxynEfF9aIkbAPVF32aLb9a2HlPq3qdYsxmsRXOksHcGtDIxmw/wngn2BEHkqBzUxIbZXPAXmkCIzKRuGlrghRIoTSHjLZ2Xdoqa2Xu4o3CaOjktagNK8Cog8yvvDQnmfmksbbvu3I0cfD2KWM/+p7s1cLDQXfuAKkKcNTJ5TK20WYptYYQmGZQWntzyZLgCAT5n4sb66a2eeR6SBCv8+bNJeBHMvO/H6Qs98ZIHLSyVK+QR4wBuW3WD9i3cBM0IRJE8blpQm3sK4l4Sdx80oItT5QPSkl0S2oSRFAMw7WduOjUbt9hTMV+7yiTrk83s0UBtGWwjQI1huMf3PzQ7BdJUhA+XP7TfBLUXPVtZFDSOSqODwpaicaDkRCLvwni+BJJAUdYH9wceDEKByb9P8BnyOyjRuEq5ZnZkDHQiJQ7ch/WLXXwdDkFXaVFYRJRRxWd1yv4Vyd8qif2wod0MbWlbmtkEfYAALj/F5xAVyn0XmOoOD3f8frbLCFGPtgDmU32Cc8MZySBmyBj8/rf82gf X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(39860400002)(376002)(136003)(366004)(396003)(186009)(1800799009)(451199024)(6486002)(6666004)(6506007)(33964004)(44144004)(36756003)(38100700002)(86362001)(6916009)(26005)(966005)(2616005)(83380400001)(6512007)(4326008)(15650500001)(4743002)(478600001)(5660300002)(8936002)(41300700001)(316002)(8676002)(235185007)(2906002)(44832011)(66946007)(66556008)(66476007)(4216001)(2700100001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6664 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: AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 75c9422a-54ea-46c1-5cde-08dbb90c3420 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xz74/2pSiYnO7Y4nUoGpp25+ibUYXiRO3VyCEkcAbs8gUOpMjY7D56bQw+t8/5/V6w3EfsldwJvEh4rk8egvFpp4umD8QsDBl+qd0KtAT5rMlQ1GPyZcTvZiex2h8+EyXfHpu/O3He+SjSJY6gXAdTFioXIVq1LABp2ZzmuktxsDUqLDCtLR7AwWOl5MUPOQpDp8tmlzvTxzNzmZNwPdYzjI5PiYFAGavDSP2xsK3youot8IMucOtMlG9+lvXBQmWBXG8BC028v4XuLnTue0gnKeDsjAqiRE6IEKn1MGxGO8XQqryAjB7iA1kILdw3IpUBHS92PE8z7LfJQIR8VcQ6Q2cN6T8OF7SY+Po2XPSnHwFL6gbmWIIztUkaqX+OAsTJPY7yOuhThuW0jroP31D6nVBM84olkd6P82BFIlRLBO/m132FEmNARChDZKrudsJA6GToyUJSXxDVauZHvgFTb5yJZVtpX+u9BTs+IXoDa5DtkAGhBP4gMg3o9upUIvouqdf7xd9v3NzeyBFOkDvR5f4KUNP6NyNbdRmxqroQgqo2H/KZqVu28jQjVVXDSB6l1zpslxHOYhTXoYPU9bjqddv5VUal1wm9C+F8RtBBayXmbh3wFLAq0wZQtmegbSTueSPzzhIZh7nhw+blBhoIiBg0clMIcGxgAiWp6twKeXGXxVhiDdLOv7Rp9lAMrN8Qc2uluza1tVNpYagbdOWiSAEK8DIbpjHHccFOYevBoF5cEfru0ocWa3/gjLWDBtNZpXkTbGjnKxmyjuw1FoQpRJDkvPEyGi203co+X7cMQ= 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:(13230031)(4636009)(39860400002)(346002)(376002)(396003)(136003)(1800799009)(186009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(47076005)(36756003)(40480700001)(6486002)(40460700003)(6506007)(44144004)(33964004)(2616005)(6666004)(2906002)(107886003)(6512007)(478600001)(15650500001)(83380400001)(5660300002)(86362001)(4743002)(26005)(336012)(6916009)(316002)(70206006)(70586007)(41300700001)(4326008)(8936002)(44832011)(235185007)(8676002)(966005)(81166007)(356005)(36860700001)(82740400003)(4216001)(2700100001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2023 12:30:37.1295 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4cc23229-fe5e-4eac-80a7-08dbb90c3a4a 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: AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7718 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Hi All, This patch relaxes the subreg invariant that you can only change modes or make it paradoxical in one conversion. i.e. it now allows subreg:V2DI (reg:DF ..)) This is well defined in the generic sense and allowing it would enable you to write RTL without the extra moves which can be interfered with by combine. Patch has been pre-approved[1], but giving people chance to object [1] https://gcc.gnu.org/pipermail/gcc-patches/2023-September/629119.html Bootstrapped Regtested on aarch64-none-linux-gnu, x86_64-linux-gnu, powerpc64le-unknown-linux-gnu and no issues. Pushed to master. Thanks, Tamar gcc/ChangeLog: * emit-rtl.cc (validate_subreg): Relax subreg rule. --- inline copy of patch -- diff --git a/gcc/emit-rtl.cc b/gcc/emit-rtl.cc index f6276a2d0b627fd5b2a742795a55423f449e9d93..ea85a46a0f014b81aeb76d69d19a57233dd70bdc 100644 --- diff --git a/gcc/emit-rtl.cc b/gcc/emit-rtl.cc index f6276a2d0b627fd5b2a742795a55423f449e9d93..ea85a46a0f014b81aeb76d69d19a57233dd70bdc 100644 --- a/gcc/emit-rtl.cc +++ b/gcc/emit-rtl.cc @@ -947,7 +947,7 @@ validate_subreg (machine_mode omode, machine_mode imode, in post-reload splitters that make arbitrarily mode changes to the registers themselves. */ else if (VECTOR_MODE_P (omode) - && GET_MODE_INNER (omode) == GET_MODE_INNER (imode)) + && GET_MODE_UNIT_SIZE (omode) == GET_MODE_UNIT_SIZE (imode)) ; /* Subregs involving floating point modes are not allowed to change size unless it's an insert into a complex mode. --- a/gcc/emit-rtl.cc +++ b/gcc/emit-rtl.cc @@ -947,7 +947,7 @@ validate_subreg (machine_mode omode, machine_mode imode, in post-reload splitters that make arbitrarily mode changes to the registers themselves. */ else if (VECTOR_MODE_P (omode) - && GET_MODE_INNER (omode) == GET_MODE_INNER (imode)) + && GET_MODE_UNIT_SIZE (omode) == GET_MODE_UNIT_SIZE (imode)) ; /* Subregs involving floating point modes are not allowed to change size unless it's an insert into a complex mode.