From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2064.outbound.protection.outlook.com [40.107.22.64]) by sourceware.org (Postfix) with ESMTPS id 321E03858D28 for ; Mon, 20 May 2024 14:43:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 321E03858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 321E03858D28 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.22.64 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716216233; cv=pass; b=qPh24GB46MJWdxHgFDnXp4l3H9FsZIPkpZIhrkJ9GKEjT3AXx7uUYZyXKl7gQKHzbOvGg/5mKvGJ2TQTGJDYXb3438+4qcvD0Aw39vXcSgvOZpK9tP2+/EXWzncqgDBfLN6NM1Z50rrfl2id1uPQH4z+JqplrK7gH1GgzwhltI0= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1716216233; c=relaxed/simple; bh=/oR+fwCCMZvTtQ095LsRd0aACCMIGoQEAy1DPa5R+bU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=jOLF7bsBGorgDseUsDtbp4m1FyJLERSSZBmseZwGm6qJ2hsOPFINJ/YCtjTHVDjkopMfiZvpNHRjsaoOPaVgRHRwjHu8HPYKod21KAogJF4LVjPYQverTtFeIUQWtFgzzwuRteKvYZTuhaJ93GP/RWHwffEnQ4YRokMUMtafx4E= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=ZWq06AsO55o46p4P40LzKpXWK99Ab7WCW4U6vOECq4RDdRKVCLSAfuci8OOcUe4zKv0taLmMH5kh0FqABPPCODYvRG+842F8ky+ewEy+Jam/zi/novqVuM05UXfr2W5eF9zVeVoQMgajQj3UdLQM9g33JUrsmwI2Dg6fsGqX8IERLU1UgdVi+GhG1Vmi/919hNllR+GA2iOV7MM9GJ4hlWVC8Ax5v1jFxeRJLfuPJBqKz3URhmxK5n5BA0huj/4xK6aMDG4E/Tsu/fYk+QdfFfGziPuLpC//2CzNhb31CGHr9AyZJyYzaV9qHauhAF8OeIHsR0m1T48QSAaA2BzwLA== ARC-Message-Signature: i=2; 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=qfGismkaEKcxJZFw9V6XArQx5XHPd3E0LLJRdykJSMI=; b=WF1k90ZaEcOVfFMRxtT8eG5j+NeWNfEz87czuCwb+z6RJqa3kttQ1KCESnfS3GZiUgFFoLqdHl5//BI3xLaWeTxJwxeNMMizfN1ftGn4zY90CHJWi4S56YRXhgYMVfcFfYCMxJTuillaM2DsUl4ABsmKCArIFGzwu0/Re5RJ0LXGTlXPfxoefFs3ivKQlOcH7VZqkw2XRkJTH8QU2XUFysZjFzfos4lLW2/81y4zeQwYXT3EnlTrpqXIhzIWq7QRqOevHvdd0iFvR5tMXkOlWJVhb7Xgq9psX9njkageX5R6i9InLiHxQp1hZUt3V5EZL4BuLHHnA0aaBVgS2zZuCw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qfGismkaEKcxJZFw9V6XArQx5XHPd3E0LLJRdykJSMI=; b=pd3bsu5OZmHNo88xaNLJzgoxeqKAR1yy4Y+E6zUbj++tChmXx1asrsVGjbfg/CLBrwBcBm0Aczvo8O2WVQe9hyqTsgncn/7OoKqC4Jwcm8yHAeM4lXK41yOgSHSUM0rfsrHdq7mm3pAddyNUbzKoE9YMyg8ycLTzeWkr3gmpWBo= Received: from DUZP191CA0063.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4fa::7) by AM8PR08MB5795.eurprd08.prod.outlook.com (2603:10a6:20b:1df::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.35; Mon, 20 May 2024 14:43:48 +0000 Received: from DB5PEPF00014B91.eurprd02.prod.outlook.com (2603:10a6:10:4fa:cafe::ff) by DUZP191CA0063.outlook.office365.com (2603:10a6:10:4fa::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.35 via Frontend Transport; Mon, 20 May 2024 14:43:48 +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=arm.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 DB5PEPF00014B91.mail.protection.outlook.com (10.167.8.229) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7611.14 via Frontend Transport; Mon, 20 May 2024 14:43:48 +0000 Received: ("Tessian outbound daa456608199:v315"); Mon, 20 May 2024 14:43:48 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 01b61d56124b0170 X-CR-MTA-TID: 64aa7808 Received: from 4c5141319ae8.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3A02AD0A-5348-4A82-962B-0D497CB99C42.1; Mon, 20 May 2024 14:43:41 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4c5141319ae8.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 20 May 2024 14:43:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Co2VVLJzn88ovXGyxeMBx5mKxUWVx+6uNMUO64mecMEgegoXRSmgy/IAC+DMqxP91oed7/zOPokGb7y3DtYAo8kF1SPeoVQreA/NuwPq7t8tPdL31zs4/CjDhH3Ee2r5Ub5nnVeVi3oRqQrzrUcSyOPQZUbYCuV5C0TH8Q6iaW+M0UtoTRsIezUuTtfD848Na/JjvARChXwY+fY7gqytzg5U1oshSFRbzm7Y83Sno63MOuaDNWtliLs9B5laIFw+RaL5c3EpYQdzS6WXV7ZoFouFnuCkNaYPqUWNSKMP3tUGyIiDbGbj09NMekzVvjtZJDICCfanC85MJsDQBOFs/g== 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=qfGismkaEKcxJZFw9V6XArQx5XHPd3E0LLJRdykJSMI=; b=E8FnwhC6iWRV2KieW73xMBvfPvUDqr3bLUaOIALcNgZFbSk5OkaouVZpOPtEbRZV/+IKD7QNiWZu6yxfoUci/1+HEM9ufWjVB6Hlw5af1SHwPxf85SDZZfqL0r662zeCbf0vWqCUaWVjc7WobksXrycKB+CHdPo9QDWwSLGqp94o2c4Nydif7JOBJAEkI+AHYP6nzdMJiINx6MtO35W2odKeuXtrkmtq//fhZ4/q3Zey78YY3VTUAlTti5oJlph3e34nzuxRnbaCmCnMYfxnV4D9BZa2NX86UxlAXqq7DfHB4Fm0vA7MiQ4TBNEv4ieIpp0R9j1PNRUaEuxMyVGL2Q== 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=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qfGismkaEKcxJZFw9V6XArQx5XHPd3E0LLJRdykJSMI=; b=pd3bsu5OZmHNo88xaNLJzgoxeqKAR1yy4Y+E6zUbj++tChmXx1asrsVGjbfg/CLBrwBcBm0Aczvo8O2WVQe9hyqTsgncn/7OoKqC4Jwcm8yHAeM4lXK41yOgSHSUM0rfsrHdq7mm3pAddyNUbzKoE9YMyg8ycLTzeWkr3gmpWBo= Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by DB9PR08MB6618.eurprd08.prod.outlook.com (2603:10a6:10:263::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.35; Mon, 20 May 2024 14:43:39 +0000 Received: from PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::b366:6358:236e:352d]) by PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::b366:6358:236e:352d%4]) with mapi id 15.20.7587.030; Mon, 20 May 2024 14:43:39 +0000 From: Wilco Dijkstra To: "quic_apinski@quicinc.com" CC: GCC Patches Subject: [PATCH v3] aarch64: Fix normal returns inside functions which use eh_returns [PR114843] Thread-Topic: [PATCH v3] aarch64: Fix normal returns inside functions which use eh_returns [PR114843] Thread-Index: AQHaqr5bM4lh1zXYH0WD7xObPL9uxg== Date: Mon, 20 May 2024 14:43:39 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAWPR08MB8982:EE_|DB9PR08MB6618:EE_|DB5PEPF00014B91:EE_|AM8PR08MB5795:EE_ X-MS-Office365-Filtering-Correlation-Id: 28579c03-0a62-453a-6b05-08dc78db4223 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230031|366007|1800799015|376005|38070700009; X-Microsoft-Antispam-Message-Info-Original: =?iso-8859-1?Q?uE4CYNIp/EqwdAXsZYMPeM3mx/zjIizFAlKHkXAiq7ooPtZ244XGBGi5I9?= =?iso-8859-1?Q?MgQjKKmUgw3vLzQULOauBfZhcTzxmc1ReCOdFLRWUwf7KsGWK76Vc7QP2J?= =?iso-8859-1?Q?ks25axzRskuQ7N2DpXC/WMtCgjPOepJYUhLrihJ7O+Ms5Cvxf9d9rDtHi6?= =?iso-8859-1?Q?qExGh3FcllsZlG7CnqXSy/PEKICbzHQ5mJRd65AY0LtiTuYJhBlj4ppXUi?= =?iso-8859-1?Q?xfcTzY+RWvGIEXvL0b/+4Atdw94kogy9dkZHC7Qb9zVv5G7UBwFvcEvnkE?= =?iso-8859-1?Q?mp00uRW0feV1YfCof+T8JHld/GD0DKxBDEYopRhlfvYVQPd/iruP78/gzU?= =?iso-8859-1?Q?KdcGR9ee9fjvp4DgH4l+6zGgJ7bgTFoDUBMgIjfS6/C9X8NlBNyOkhQoqZ?= =?iso-8859-1?Q?eDVQrwlBpeTlXCZH+bT3WRAU3dxQrwy8e1sTeSPiytV+Uy7wlnkKkntjTK?= =?iso-8859-1?Q?iQZC650Ka8+FHpsTi20DdOcN+Ur7NvUEORlQ38E9V/prQlIMMvrN31dFX/?= =?iso-8859-1?Q?K/EXjDQ+bmCbE09vDE1xURIQHndM1R0ew2POT7dku2hJWSivy5pex49vLU?= =?iso-8859-1?Q?ayV/y9fYFOZ6Xp/4AU9bSNFrOqKebsVCF/43zWxE4PP7ibQWoCWCzU5DMm?= =?iso-8859-1?Q?ZgRaZtLxq71aU6uXozp9nTcY94bv17exexBp7VHqL6Oq3rajv+AuRsevpn?= =?iso-8859-1?Q?aV9r85B6vuN69lIsXciDiettwVb/yr0UFl03+mSX5BPAsSdknVFFPqBGke?= =?iso-8859-1?Q?368NyyB1rwiY7tLQVN/sAdefM6ugHFx9Vln56u1rpSrKM0HhTOfWWbZYdT?= =?iso-8859-1?Q?O/Zb1jyEXvkK+Wlm3AlUfvSc+FKchIYJluetvc8QSKgGD5hNwImlx/VRwa?= =?iso-8859-1?Q?GNWescVrypWp3tUK7NLqgmUWmDw5r2+f3ofpNsZeq7HGScWUNgDzTLwL0E?= =?iso-8859-1?Q?bnBngVSBHFM/oz0hwNAVzqryZk22V6UqmHkYHKfSR9LdGeWkhFwcpB0vJ0?= =?iso-8859-1?Q?lkr2i5Y6uGabauDjdG0ovRdw9YrtzxZUYAtBLQ7aoX6rWqw6n071GXrgDS?= =?iso-8859-1?Q?G+jkJOsn012dQBiBbgAcoqHwaN6lgXT3uIlxmIoBxpJSomKQeQsNXXDR4G?= =?iso-8859-1?Q?L6wGrMrE/WhWSd1BUebf2+3FPutMe8QePr8QNLqeHf8HQnA55kzm4K2Ni1?= =?iso-8859-1?Q?MEB7A0T8xNCw8GVGZaHRAdjwEzGpMrTJ6C1s55Va5FkRhZTnkJeYEcOkgt?= =?iso-8859-1?Q?bChwPB6W4xSIO86rUKMn6R5cUpVDh6j0piKPtCUDl/aXf4ebzwIlyJre1J?= =?iso-8859-1?Q?VcpdaYuuETgnYAkt+fPxNGa4POXsyY1TCjpanPERow5WOTQTZSOCRmcJMn?= =?iso-8859-1?Q?+O0FROxDARFELp+3SPOsmThN76xgg6Sw=3D=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAWPR08MB8982.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005)(38070700009);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6618 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: DB5PEPF00014B91.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 16b19778-2d93-41b6-a44c-08dc78db3ce2 X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|36860700004|35042699013|82310400017|1800799015; X-Microsoft-Antispam-Message-Info: =?iso-8859-1?Q?yEGzuiHys52e+nSADHNMPY/ujWdcZ6nsNPr4oG70VRgg8mGMcJOutuvaAI?= =?iso-8859-1?Q?PvUec/u7BDBwIadCYD5BxKHk+TYjoMfKsoIbtKhR04/7gn3E9du9ZJaHPv?= =?iso-8859-1?Q?AjsPIHTwjwIZJrDQltYboTRwyB9CIzn0E1Fj+moF+43oYsUry1ef6lBdDh?= =?iso-8859-1?Q?oG6IGss8lAp/tCnXaXXQgeaUGuvnb9F1N6EuEZaX8YDffmGAcsQAchC3n1?= =?iso-8859-1?Q?b8jIgh2Tpmn3JMFN69IwH3OtF55TROXU3fCQ0AoDnxs2q0IlW3XZa72Kjr?= =?iso-8859-1?Q?YyGq2+SWLQd5NMT913kluzkzNsxSsjPi0fjK/NcT+g7KSuzc6+Hzt68c1W?= =?iso-8859-1?Q?l8e3PhB4XTdE75r8dWAb1SsfnOxeddLVp8Aug9+DquPLIAbEMKXsjLJXRv?= =?iso-8859-1?Q?DZt5OZUE9ErNFsFEGHudHFuLkKBhWOXl52/RadK3KEU35n+H7TlKQrrVvO?= =?iso-8859-1?Q?OSv1UNAIVBiWtHrsAtt5US0PlDYGn2aIA/s8Y+zxTBOxeGFDYEBwxTyluO?= =?iso-8859-1?Q?H2cYXQv0yOyIjZqPpqBSlSi2ZqSTlzR4KDYtRyZOWOmCUXtkNljmbSZEMw?= =?iso-8859-1?Q?dexspGCjTZYSF4y+wbIXuKHJVnE8XzxXvEWXaxRuNMssMbsngrxvIk5PFL?= =?iso-8859-1?Q?O00y0erPF5X9cCycKjpvTxjsb+QP4+4mKobUxEnBqOIQ1nkICSLNmbtgfO?= =?iso-8859-1?Q?QYUenSrswOZ262rPer6u1Wcn6mH+PR4XvmP1TtoqP3Jv9in3FkgMZ2QzMh?= =?iso-8859-1?Q?acewECpoqh2WYN1I1EGfA/CIpr0IEpth7Du0jsqeYnhy7YT1H2h8yP4XPW?= =?iso-8859-1?Q?ZnjkR6EWFc/6uXIneu9dMq7U/0khG4u8dch79xTvUv0bEcEsNFrzugDJOI?= =?iso-8859-1?Q?KMXW0NxbhDXR1Js/8QSL7Qut12qsje1EuRuKN8tzXhchosGJuTvtnOCbXn?= =?iso-8859-1?Q?lYHitvzivZorZcVhg4L7gQyTDFbixa3P9jXSn5hnkxH/aTg6rEJxiwqjKI?= =?iso-8859-1?Q?Q0qe9Nt+C6EWCCyW18D+B2ScH0WjLGgrDSLOWKJvpY6XXrHSlrhBbEk2G7?= =?iso-8859-1?Q?m2ZSBOI6R2FPmU/+YNyEJuVQs8U1toqEcykAaG6flRiGbEFvyQNCKTx/ta?= =?iso-8859-1?Q?YXm7mb2cEFqkdvHQZxPWi5JZ0jK0NTu+PXq8kb+5u0xNHbGU9i2mcmEpwn?= =?iso-8859-1?Q?GVhk8w0NC+nOmw1eqv+wnw/wm7YB1EtrZOWULqi/56K7NrHYWjDo71MJzE?= =?iso-8859-1?Q?M6tMo40SLumTwOuYmlBjQXFhVLpt1bztzH0ere7UgQ5kB/UQ5KFPR1BBsi?= =?iso-8859-1?Q?bFPDeMFGqVrx23c6qgFfH1RAV9d79qSfRAbfGad0hQjlVJejpKta2tFnmX?= =?iso-8859-1?Q?KHSF92712jklHtL45ZDMYQHRpN2NWNqkOHXQpFj1K7o+aAbxr5x3FkGWYt?= =?iso-8859-1?Q?w/j8wayweyExMi4C?= 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)(376005)(36860700004)(35042699013)(82310400017)(1800799015);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2024 14:43:48.2399 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 28579c03-0a62-453a-6b05-08dc78db4223 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: DB5PEPF00014B91.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5795 X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,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: Hi Andrew,=0A= =0A= A few comments on the implementation, I think it can be simplified a lot:= =0A= =0A= > +++ b/gcc/config/aarch64/aarch64.h=0A= > @@ -700,8 +700,9 @@ constexpr auto AARCH64_FL_DEFAULT_ISA_MODE =3D AARCH6= 4_FL_SM_OFF;=0A= > #define DWARF2_UNWIND_INFO 1=0A= > =0A= > /* Use R0 through R3 to pass exception handling information. */=0A= > +#define EH_RETURN_DATA_REGISTERS_N 4=0A= > #define EH_RETURN_DATA_REGNO(N) \=0A= > - ((N) < 4 ? ((unsigned int) R0_REGNUM + (N)) : INVALID_REGNUM)=0A= > + ((N) < EH_RETURN_DATA_REGISTERS_N ? ((unsigned int) R0_REGNUM + (N)) := INVALID_REGNUM)=0A= =0A= It would be useful to add a macro IS_EH_RETURN_REGNUM(regnum) that just che= cks=0A= the range R0_REGNUM to R0_REGNUM + EH_RETURN_DATA_REGISTERS_N.=0A= =0A= > @@ -929,6 +928,7 @@ struct GTY (()) aarch64_frame=0A= > outgoing arguments) of each register save slot, or -2 if no save is= =0A= > needed. */=0A= > poly_int64 reg_offset[LAST_SAVED_REGNUM + 1];=0A= > + bool eh_return_allocated[EH_RETURN_DATA_REGISTERS_N];=0A= =0A= This doesn't make much sense - besides X0-X3, we also need X5 and X6 for eh= _return.=0A= If these or any of the other temporaries used by epilog are callee-saved so= mehow,=0A= things are going horribly wrong already... So what do we gain by doing this= ?=0A= =0A= =0A= > +++ b/gcc/config/aarch64/aarch64.cc=0A= > @@ -7792,6 +7792,7 @@ aarch64_layout_frame (void)=0A= > =0A= > #define SLOT_NOT_REQUIRED (-2)=0A= > #define SLOT_REQUIRED (-1)=0A= > +#define SLOT_EH_RETURN_REQUIRED (-3)=0A= =0A= I don't see a need for this.=0A= =0A= =0A= > @@ -7949,6 +7950,18 @@ aarch64_layout_frame (void)=0A= > stopping it from being individually shrink-wrapped. */=0A= > allocate_gpr_slot (R30_REGNUM);=0A= > =0A= > + /* Allocate the eh_return first. */=0A= > + if (crtl->calls_eh_return)=0A= > + for (regno =3D 0; EH_RETURN_DATA_REGNO (regno) !=3D INVALID_REGNUM; = regno++)=0A= > + {=0A= > + int realregno =3D EH_RETURN_DATA_REGNO (regno);=0A= > + if (known_eq (frame.reg_offset[realregno], SLOT_EH_RETURN_REQUIRED))=0A= > + {=0A= > + frame.eh_return_allocated[regno] =3D true;=0A= > + allocate_gpr_slot (realregno);=0A= > + }=0A= > + }=0A= =0A= This change is unnecessary if we just mark the slots with SLOT_REQUIRED.=0A= =0A= =0A= > @@ -8035,6 +8048,23 @@ aarch64_layout_frame (void)=0A= > frame.wb_pop_candidate1 =3D frame.wb_push_candidate1;=0A= > frame.wb_pop_candidate2 =3D frame.wb_push_candidate2;=0A= > =0A= > + /* EH data registers are not pop canidates. */=0A= > + if (crtl->calls_eh_return)=0A= > + for (regno =3D 0; EH_RETURN_DATA_REGNO (regno) !=3D INVALID_REGNUM; = regno++)> =0A= > + {=0A= > + if (frame.eh_return_allocated[regno]=0A= > + && frame.wb_pop_candidate1 =3D=3D EH_RETURN_DATA_REGNO (regno))=0A= > + {=0A= > + frame.wb_pop_candidate1 =3D frame.wb_pop_candidate2;=0A= > + frame.wb_pop_candidate2 =3D INVALID_REGNUM;=0A= > + }=0A= > + if (frame.eh_return_allocated[regno]=0A= > + && frame.wb_pop_candidate2 =3D=3D EH_RETURN_DATA_REGNO (regno))=0A= > + {=0A= > + frame.wb_pop_candidate2 =3D INVALID_REGNUM;=0A= > + }=0A= > + }=0A= =0A= This is unnecessary since we can just avoid making them push candidates=0A= if there is no frame chain, eg:=0A= =0A= if ((!crtl->calls_eh_return || frame.emit_frame_chain) && !push_regs.empty = ()=0A= && known_eq (frame.reg_offset[push_regs[0]], frame.bytes_below_hard_f= p))=0A= =0A= =0A= @@ -8681,6 +8712,20 @@ aarch64_restore_callee_saves (poly_int64 bytes_below= _sp,=0A= if (frame.is_scs_enabled && regno =3D=3D LR_REGNUM)=0A= return true;=0A= =0A= + /* Skip the eh return data registers if we are=0A= + returning normally rather than via eh_return. */=0A= + if (!was_eh_return && crtl->calls_eh_return)=0A= + {=0A= + for (unsigned ehregno =3D 0;=0A= + EH_RETURN_DATA_REGNO (ehregno) !=3D INVALID_REGNUM;=0A= + ehregno++)=0A= + {=0A= + if (EH_RETURN_DATA_REGNO (ehregno) =3D=3D regno=0A= + && frame.eh_return_allocated[ehregno])=0A= + return true;=0A= + }=0A= + }=0A= +=0A= =0A= So this could be something like:=0A= =0A= if (!was_eh_return && crtl->calls_eh_return && IS_EH_RETURN_REGNUM (r= egno))=0A= return true;=0A= =0A= Cheers,=0A= Wilco=