From patchwork Thu Jan 25 13:58:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 192084 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2553:b0:103:945f:af90 with SMTP id p19csp1656509dyi; Thu, 25 Jan 2024 06:00:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IFK7sjmmVQYAAxqUO5TyP4DgfztIo7m+V4G0FTXV6yeu+MxFc1Q/2MWFKuwmw2N1KaC3PDo X-Received: by 2002:a05:6214:29cd:b0:686:ae75:d28a with SMTP id gh13-20020a05621429cd00b00686ae75d28amr919089qvb.57.1706191220197; Thu, 25 Jan 2024 06:00:20 -0800 (PST) ARC-Seal: i=4; a=rsa-sha256; t=1706191220; cv=pass; d=google.com; s=arc-20160816; b=EuCzm6YxfH6PSUgLk4ryXQ4cHCLvZOIrDBnASH7/6tXpVP3pDegluQbXFZzVnfcJ3x b6Qyj7E3OpHECZQ54xKagJmNjcQAP97icIKMqxa2rI4lECOON5SQpkd9RAwFzHAGvfq5 Rot3ZYy816g8QJQ7bVWXm5fHttmW6WHWN9vGOGc9BjwQllgD3gFzdrdb/YL9vTEKixPI pBYpnOuHr1uoBZ65KpmYFoMqTWc2t2yoF3UI3TvpYG4vD/uYuu7OqL+vG0GzVWmZcqix jdsvV01Gf8eZdeMfXbq4fhCXCaRFT5isHKgsfitvEFpry33Qk/KK2YgqZNVegBtN3lAd RRbQ== ARC-Message-Signature: i=4; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:nodisclaimer :content-transfer-encoding:mime-version:message-id:date:subject:to :from:dkim-signature:dkim-signature:arc-filter:dmarc-filter :delivered-to; bh=my6acAgN5fzw0kYzIZa+HlFtVFi7DiiDSWGf/BtM3V4=; fh=gk9A5O7Gbglvz1MjrRQ4hZ2i3c68kYkpOZJg1emXh+g=; b=QRZKaaI6cIAUsS+Ayu11zEu7xnE23rrvD780AtVrA6V3dLRX31dEZnb5wVj/2BoQGN HrsV8fDijDEnmbVcEUJOj9/HrFCXdA4PfHpW9Wd7wfsxv5nHUvOf0gli6ptwtxDV8QRZ BBcawCfkywo+S8IvtMZ7B+grzl/YPNVMLnxWaKOf2AKrhP4CC8TWNorw47ASMQUmsdpa C9nNlzz3gEDi+bwJNs0ieTP1VRio6C6qF1ZUIXWwkFk5o9vDY6BNHAfvp0tGR96kmX30 VZ9rww1XVgXsbKIPBnUgIpUzjFrhGO+FXU8aPPiuzyefvyt4k/wgmaGxaDrVqPs/j/14 GWlg== ARC-Authentication-Results: i=4; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b="+M/cWHhD"; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b="+M/cWHhD"; arc=pass (i=3); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id oq36-20020a05620a612400b00781d515d25dsi12750771qkn.139.2024.01.25.06.00.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jan 2024 06:00:20 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b="+M/cWHhD"; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b="+M/cWHhD"; arc=pass (i=3); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E759A3857C46 for ; Thu, 25 Jan 2024 14:00:18 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2047.outbound.protection.outlook.com [40.107.21.47]) by sourceware.org (Postfix) with ESMTPS id 220413858C78 for ; Thu, 25 Jan 2024 13:59:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 220413858C78 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 220413858C78 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.21.47 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1706191157; cv=pass; b=TTJfy913N1hwhOME6kE80VQCprNEgOzXLDU1zBoAKxipfOiYX7jOd3tgxlf8nklnFzAaaolBGgXsaYF9J5g3SC+c8XEelBkXwWH3YU/SnhBl15HSAzCyStaczzC/+gmqbem+Otr1zmVdK9hG+yAeDKZXizKkj/xHOeD3kb+J4vs= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1706191157; c=relaxed/simple; bh=j9s+wL7L+oE7cIl8P2igi1x1pDvaL/QUrJcgnhC583M=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=w7rdsqq2vrVHaLdMLmNstIAQD8/q1G7jhslWQ8VgR9Bc9RfnxK7dxgp9SphH8ePVmW00egc/OOdGj+4pcOprqYHGsjPvDK4l9HxtNBlWz1M4eA/09G9Ot9FW7Bk9Olb9osRXLtxgLAnCAf7jLZwoVfGD3U5hzDYFR/78CbeZShA= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=hXa2Xc8PZNLkl35N1VlE4ZplZPk69RpRFVG/ktpnCkIHha5g11Vev0fkyp1win7mDDN7hoGhjbDPbwbhEEzupw+tJQb9ePKz0ILto2johQQ8fSNvgt/yQGeuWNXq1UbktQzyzktiz7kdmSx0GNO3t570eFRtCXr3d558Tz1wcbiFX1RKP1sYrdrQBKDsUwl7Cxtwq+RTter5OP0LKidEeiSt2EDhFDnc0l59kyzrimaAZDNnACcteTL0pKL8eQzdDURDNOqyPCAQ9nCaP76WGIvAd2kcLlr24REcryVjo1WGRhCSlECg2glsf8CwvSybdul3hnK4nmhk1fvy+LxHBg== 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=my6acAgN5fzw0kYzIZa+HlFtVFi7DiiDSWGf/BtM3V4=; b=I95CV+X+uj16dsUFyhwig4AFZ4xkB7k58N6HqKaBuCXrDR1P1z3c4pbPuhmPs3AoTC7RfneZ+xJgrNB3vGjJZZaXjjwV0h1cP0oJbxvpkQ/GQ0GhIA1wVsD1eDKXMKhgS/iqZ8vdTnr/iqVnHDKBXBoyhbQaxkby2u4ztHfM4ff6tTC8N9V7dM41IPovAkN+cQj9Ix/jB56LInMWlOizFLLbbCs1AoCKFVYZm6n4wANXIlJ2TJqsw3fPCgVE/64+gYKH8OQR3TcbwcJlvpdytE0I56iBIz/FuNth/VnvXT0bPYIoENWwey3n6/OpTUfhJDVAKvfYgMk2/YkL/5/S4g== 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=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=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=my6acAgN5fzw0kYzIZa+HlFtVFi7DiiDSWGf/BtM3V4=; b=+M/cWHhDTpmUPt8uftYpJ3104chSFxW9MEXqE2sainA+ezSNgN535SkqRDLzkADUD+NI70hl7xCbsu51y6L83H5TwfbRf0vyN/bQBv8EVN4effBx9ClabOLd5Lk5F1pvMJoWaJIcThPQ8NJVvh+wlumSEmNquHKZv3RpaXF+BfA= Received: from AS9PR06CA0126.eurprd06.prod.outlook.com (2603:10a6:20b:467::25) by GV1PR08MB7729.eurprd08.prod.outlook.com (2603:10a6:150:50::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.40; Thu, 25 Jan 2024 13:59:06 +0000 Received: from AMS1EPF0000004A.eurprd04.prod.outlook.com (2603:10a6:20b:467:cafe::7d) by AS9PR06CA0126.outlook.office365.com (2603:10a6:20b:467::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.26 via Frontend Transport; Thu, 25 Jan 2024 13:59:06 +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 AMS1EPF0000004A.mail.protection.outlook.com (10.167.16.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.16 via Frontend Transport; Thu, 25 Jan 2024 13:59:06 +0000 Received: ("Tessian outbound a297577ee0df:v228"); Thu, 25 Jan 2024 13:59:06 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8ae2e00b7e35f4a8 X-CR-MTA-TID: 64aa7808 Received: from 651523453dfd.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A1BD5C2F-3134-4256-84D2-E8ADD42CA673.1; Thu, 25 Jan 2024 13:58:59 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 651523453dfd.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 25 Jan 2024 13:58:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ysvlf76Bvq2yjSoHqq3UZBi/MM2CDtk4e+B+5cMy/dbgwbO3Tzv75o1PrXbiE9p4izy7+ddYppOR6H90pR7N5A9aSwzm2Fpz5hYwD1m8LuGdrng8qGFsmv98lEzN9aLt40F0p/yOkHnUKO+RNKDgSBS9EZyeYGUwO8AfpTOMLAa2f54fZrzc8wywowHG+lqAHHS9MuOq17WhDsNdTlxvF/OK84pmbtoAWIkUzqqO39QuOi7luXouv8cVcSE4hUsUC5wtQAMWuQoFHkGFX5S/MoNmr0RJ3nSDo3hvhTFYSKNXGOyq56A9zH5JUU6xGxnnZeTPkTHh4EMUx9Ml7x//+Q== 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=my6acAgN5fzw0kYzIZa+HlFtVFi7DiiDSWGf/BtM3V4=; b=RsiGv7lDnYAuS/ZCyWdsChmVcDIMBWXGr+muunZkVHk/MOKBZKCb9+Pm/QsuoNA/71qNQP72mP4NHAJGHoIjx/XTRbkxn1a/G0cmblu1ZtFdaaHhLwfP2JEN9YGLxBExX8q+eEp4CJoIBJPKbIMJ1BEAIHNJ5fLhn6BtURN5k6rhAVVMtpoK8CndEgCRb1bhGy2VpObfn1GHwyYaHe1LO01P+RRFRNM/HADqU5ABG8igL26PUtWIuR0IapqeVtqa9GcofqKHW8tikiwSskzu+841naO7YyiJ3vxjxnMaaHydIHKomlUS4waVaLMYgeTsFr4Qqmh3iqrcpwN6pdhgSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) 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=my6acAgN5fzw0kYzIZa+HlFtVFi7DiiDSWGf/BtM3V4=; b=+M/cWHhDTpmUPt8uftYpJ3104chSFxW9MEXqE2sainA+ezSNgN535SkqRDLzkADUD+NI70hl7xCbsu51y6L83H5TwfbRf0vyN/bQBv8EVN4effBx9ClabOLd5Lk5F1pvMJoWaJIcThPQ8NJVvh+wlumSEmNquHKZv3RpaXF+BfA= Received: from AS4P190CA0028.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5d0::17) by AS8PR08MB8802.eurprd08.prod.outlook.com (2603:10a6:20b:5bc::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.37; Thu, 25 Jan 2024 13:58:55 +0000 Received: from AMS0EPF0000019D.eurprd05.prod.outlook.com (2603:10a6:20b:5d0:cafe::6b) by AS4P190CA0028.outlook.office365.com (2603:10a6:20b:5d0::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.22 via Frontend Transport; Thu, 25 Jan 2024 13:58:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF0000019D.mail.protection.outlook.com (10.167.16.249) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7202.16 via Frontend Transport; Thu, 25 Jan 2024 13:58:55 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Thu, 25 Jan 2024 13:58:55 +0000 Received: from armchair.cambridge.arm.com (10.2.80.71) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2507.32 via Frontend Transport; Thu, 25 Jan 2024 13:58:55 +0000 From: Szabolcs Nagy To: Subject: [PATCH v2] aarch64: Fix eh_return for -mtrack-speculation [PR112987] Date: Thu, 25 Jan 2024 13:58:54 +0000 Message-ID: <20240125135854.643376-1-szabolcs.nagy@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF0000019D:EE_|AS8PR08MB8802:EE_|AMS1EPF0000004A:EE_|GV1PR08MB7729:EE_ X-MS-Office365-Filtering-Correlation-Id: c1300863-59be-44dd-1cb6-08dc1dadcbc7 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: IiDD7iWSh2B3NulAovocNtT5K84mqZPuSyjWGsVRFWlXdYDZwfkNZ1RscJXhTVPZuGtmRxL78xdf9pr/ToC7oXzu7ddXgn2H7iGVVX0SvreTtl/YZV+imEU2Lb4VORkdsvDrooyrWYklLIEPwtKftYvIgd9slqH4VxVOBk6ApGs9dA1aSk3tHvqEA2NtyxJWODlucEH0TCYBfSYo8dINHDah1VinLQNrfFFW/WISr5v9HGSLxmpRv0hSaBwWj3njK3EuuFxmhuLUVbuOxQSH66cLFkigjaCn/qimY/9BXCxv9Ctzfgm+iIZBEO4EWzLaNHughHcFIpFWCtY2D59YdmtfmVaZXLnUYjN8DPTU7n9Nt4c/ZP3sgKqJ/gKBlwNOMERgRBwjyFLRhzqdkLa3M2gsCq2UW/n+Vkg9kYo5t+53iKqtTq/SVBcI2g7xzpeDZxQaTA+P4yGfm8kE6qWnfxqVrTBwuEamuJnBNPouWTVc7utCAA2LQgCQBB1sJnNiMT2o2PV0Yv22gjOp5er//02T8QUe01ZSkiUomzKKNHWsmU2gCUSzho5ih5VpA5uYV+t6+sSed3+kOBcIVd8tlZ7FeR7YGlYPT+G7QmWx6h6exU8q1EmGxa3wdKjFoBSZBwF1JK/WBEfaQ3YIX1fRkbI6DlxabF0K4aCEQrDFUdsR0Gz5CPEu7scnYGbc98SB1/8uBe+536yyuKhVprWLYrF1XEwrF11pFVu2Wlo387oLUgoJZpgUIy76nDLVcYrh4JIZ/k6CE1PaKeFXt4uQZA== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(4636009)(39860400002)(346002)(396003)(136003)(376002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(82310400011)(36840700001)(46966006)(40470700004)(44832011)(36860700001)(5660300002)(8676002)(2616005)(8936002)(7696005)(26005)(70586007)(6916009)(70206006)(82740400003)(47076005)(426003)(316002)(478600001)(83380400001)(4001150100001)(40480700001)(86362001)(81166007)(2906002)(40460700003)(356005)(1076003)(336012)(41300700001)(36756003)(36900700001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8802 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS1EPF0000004A.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 0b58ad7c-fe82-4245-c04f-08dc1dadc54a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /3ViHqRJgOinQwxtxyaqsCKftXnhFdjNgMyYSO0R7yttyO+9yx7s7MXoQhU/Qfb+WNF8OEYtsuXceCjwey5gqXlBkFzEZJGFsj9SP2oCAhdUVGUwnPrIab8pTdBY80vsV0alsGMT2Y20vzr+BokhV7Wn45UNUiRieSsu+JGVrZDmTLlN9U7GPTWkelk+29YpAedQ4PdI4r/kee+RBAyeHKMw5vzoqE50nGq6BiJNGgVAM+zhOIWV+nMRvme0HaJTD5ICfugucg7qE8K/JKGz2THFlEcEQKwmjN1Sw1fo2gqlfa0a1r8lLVNPdZKdY4P5b3OS/79e4Sv2IVFq07iQvvBvAT0wMwOkvem77PrLOchjMTv70GyxqVS1kNFJ5ZHjyTAii+vBYkmvMiIPEUuHsGe8feDGKXysD+DpZBeG7oapCJI27W85n10K6ECbSoAbQPM6+v3AaUIGXkAtm04wCTipEUUKR0Q+/8quEq3aTAl0Ya7H3bkchgMI5hKBlwdKkB67NzyJ8tQcV7VdcR2CNe2Y3Z/yhthkpm23X4P4pQOtX6uyT4+3R8p2+D0IlIqsyNQg8G2CjkC3BS11pYY8BMvojcrYASpSSsdIFjYy0ZEwELGVdmhPvzexK6XNGUcaTmdYZal0H6elUlKyjylR6j30dfqGX34TZrOFbCh7okiebeoL3ZCaIryp5wWYgRH/C1dof3nWDgP12i5DU1tqzSkYJdcmwGZjIwCvZtHApMJoMHqkODMmk3Snpesirvbp 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)(136003)(39860400002)(346002)(376002)(396003)(230922051799003)(64100799003)(82310400011)(1800799012)(186009)(451199024)(36840700001)(46966006)(40470700004)(40480700001)(40460700003)(83380400001)(41300700001)(86362001)(36756003)(81166007)(82740400003)(36860700001)(47076005)(1076003)(2616005)(426003)(26005)(336012)(70586007)(7696005)(2906002)(6916009)(4001150100001)(478600001)(316002)(70206006)(8676002)(8936002)(44832011)(5660300002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2024 13:59:06.4670 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c1300863-59be-44dd-1cb6-08dc1dadcbc7 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: AMS1EPF0000004A.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7729 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, 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+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1789071164506205104 X-GMAIL-MSGID: 1789071164506205104 Recent commit introduced a conditional branch in eh_return epilogues that is not compatible with speculation tracking: commit 426fddcbdad6746fe70e031f707fb07f55dfb405 Author: Szabolcs Nagy CommitDate: 2023-11-27 15:52:48 +0000 aarch64: Use br instead of ret for eh_return Refactor the compare zero and jump pattern and use it to fix the issue. gcc/ChangeLog: PR target/112987 * config/aarch64/aarch64.cc (aarch64_gen_compare_zero_and_branch): New. (aarch64_expand_epilogue): Use the new function. (aarch64_split_compare_and_swap): Likewise. (aarch64_split_atomic_op): Likewise. --- v2: factor out aarch64_gen_compare_zero_and_branch gcc/config/aarch64/aarch64.cc | 75 +++++++++++++++-------------------- 1 file changed, 32 insertions(+), 43 deletions(-) diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 3d6dd98c5c5..d2014ce1527 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -2637,6 +2637,28 @@ aarch64_gen_compare_reg_maybe_ze (RTX_CODE code, rtx x, rtx y, return aarch64_gen_compare_reg (code, x, y); } +/* Generate conditional branch to LABEL, comparing X to 0 using CODE. + Return the jump instruction. */ + +static rtx +aarch64_gen_compare_zero_and_branch (rtx_code code, rtx x, + rtx_code_label *label) +{ + if (aarch64_track_speculation) + { + /* Emit an explicit compare instruction, so that we can correctly + track the condition codes. */ + rtx cc_reg = aarch64_gen_compare_reg (code, x, const0_rtx); + x = gen_rtx_fmt_ee (code, GET_MODE (cc_reg), cc_reg, const0_rtx); + } + else + x = gen_rtx_fmt_ee (code, VOIDmode, x, const0_rtx); + + x = gen_rtx_IF_THEN_ELSE (VOIDmode, x, + gen_rtx_LABEL_REF (Pmode, label), pc_rtx); + return gen_rtx_SET (pc_rtx, x); +} + /* Consider the operation: OPERANDS[0] = CODE (OPERANDS[1], OPERANDS[2]) + OPERANDS[3] @@ -9882,11 +9904,10 @@ aarch64_expand_epilogue (rtx_call_insn *sibcall) to be SP; letting the CFA move during this adjustment is just as correct as retaining the CFA from the body of the function. Therefore, do nothing special. */ - rtx label = gen_label_rtx (); - rtx x = gen_rtx_EQ (VOIDmode, EH_RETURN_TAKEN_RTX, const0_rtx); - x = gen_rtx_IF_THEN_ELSE (VOIDmode, x, - gen_rtx_LABEL_REF (Pmode, label), pc_rtx); - rtx jump = emit_jump_insn (gen_rtx_SET (pc_rtx, x)); + rtx_code_label *label = gen_label_rtx (); + rtx x = aarch64_gen_compare_zero_and_branch (EQ, EH_RETURN_TAKEN_RTX, + label); + rtx jump = emit_jump_insn (x); JUMP_LABEL (jump) = label; LABEL_NUSES (label)++; emit_insn (gen_add2_insn (stack_pointer_rtx, @@ -24657,19 +24678,8 @@ aarch64_split_compare_and_swap (rtx operands[]) if (!is_weak) { - if (aarch64_track_speculation) - { - /* Emit an explicit compare instruction, so that we can correctly - track the condition codes. */ - rtx cc_reg = aarch64_gen_compare_reg (NE, scratch, const0_rtx); - x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx); - } - else - x = gen_rtx_NE (VOIDmode, scratch, const0_rtx); - - x = gen_rtx_IF_THEN_ELSE (VOIDmode, x, - gen_rtx_LABEL_REF (Pmode, label1), pc_rtx); - aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x)); + x = aarch64_gen_compare_zero_and_branch (NE, scratch, label1); + aarch64_emit_unlikely_jump (x); } else aarch64_gen_compare_reg (NE, scratch, const0_rtx); @@ -24685,18 +24695,8 @@ aarch64_split_compare_and_swap (rtx operands[]) emit_label (label2); aarch64_emit_store_exclusive (mode, scratch, mem, rval, model_rtx); - if (aarch64_track_speculation) - { - /* Emit an explicit compare instruction, so that we can correctly - track the condition codes. */ - rtx cc_reg = aarch64_gen_compare_reg (NE, scratch, const0_rtx); - x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx); - } - else - x = gen_rtx_NE (VOIDmode, scratch, const0_rtx); - x = gen_rtx_IF_THEN_ELSE (VOIDmode, x, - gen_rtx_LABEL_REF (Pmode, label1), pc_rtx); - aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x)); + x = aarch64_gen_compare_zero_and_branch (NE, scratch, label1); + aarch64_emit_unlikely_jump (x); label2 = label3; } @@ -24780,19 +24780,8 @@ aarch64_split_atomic_op (enum rtx_code code, rtx old_out, rtx new_out, rtx mem, aarch64_emit_store_exclusive (mode, cond, mem, gen_lowpart (mode, new_out), model_rtx); - if (aarch64_track_speculation) - { - /* Emit an explicit compare instruction, so that we can correctly - track the condition codes. */ - rtx cc_reg = aarch64_gen_compare_reg (NE, cond, const0_rtx); - x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx); - } - else - x = gen_rtx_NE (VOIDmode, cond, const0_rtx); - - x = gen_rtx_IF_THEN_ELSE (VOIDmode, x, - gen_rtx_LABEL_REF (Pmode, label), pc_rtx); - aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x)); + x = aarch64_gen_compare_zero_and_branch (NE, cond, label); + aarch64_emit_unlikely_jump (x); /* Emit any final barrier needed for a __sync operation. */ if (is_sync)