From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2087.outbound.protection.outlook.com [40.107.22.87]) by sourceware.org (Postfix) with ESMTPS id 4A5993875447 for ; Tue, 14 May 2024 14:58:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4A5993875447 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 4A5993875447 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.22.87 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1715698689; cv=pass; b=S0Fl2I6q02dAGEsCkcAQwP+YorRFIPUFRw4NXr0WWI194M1mnxmHePPZNVU0HnLFDJC59D16U74r3oo96Fb4bTLYYiI0SaMZgmLCYWVyO7fWn/5lkgswQOwcRqLUdEYdav2mYq1vqED8Z+udqSKNiFVr3SKfJ3M6b0FXu+4lT6Q= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1715698689; c=relaxed/simple; bh=PqPHPUXA4xQnfmVnK1z6i9c45bB6vkTb3mttnGQCjUA=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=em17z0i7/gdb+gS2oGc621Z7fMjbxstenEH1B6jsq56YwZB+OSNCUxRxhWYsr9F4yPwbY67mmrJ1D5VoNgSfyKnK55GOWQkXKmkMKFI8C/iFraFJ4iWp9s/vABSZXIFiSR4Pzt142v+4CcxoOQoDSi6hLG1lSPblqrLkW/WG1dY= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=CKQtGpEUFVO52OveFiYGcvOUx1QV9gTtT0CHGYkAOCqnroUqklmJQgO4GdmYKuvDr8ObTDtp696xE2sQSV9zPoZO83Ha9szJOp4mHOxGhsueOaUyvnNIeqyMnEyGPbJptl0F9z9XaD/olH+nIRdkmuI5loNGzluRA7+R6ZErVR+79L1N+aN7YgS0W7PDMVwwxigtbPGNozhYI6+GTM9+hM/+f374lwXtTYURMzf6TPxL9T4zz31OzW9zYi0EBmTNB/lXH+fP03rp++K//9+FwG7kpH02OLgpqMgt9z5vzIETtOyhEWDyAc151f8iC0VE80uVI4FYYy3/F0zm554zWA== 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=6+rRcTt+pAYLhL3By1/Nx7gUX9wwNfYn5WzOQbJwAk4=; b=cEFy+OqdWqwZBDsO4VGKKeDvK1ipsXKo2krrlgDs+JMxqJmNvnKJjgj5s/O/p1RaNR0TC/BgHos6GR/KAGzyBVLEq79XGp3ralZXVa7dklzCXM+Ld7A7LNnCCDpO1pLCLDL8hYBA0By1isbeX/1wTDezedRx8YM9QR7bXglzNbdRUjRohBLUXB/agMv8lLnOmyKYtj2bs4hsTqe2waVmxMFzbFe8/hJKSiJspiZhtRP7ziHiljaZ+77w86iqL+o5fkYSYSQZ1QXneDUsYjUrAIGFxi35HhUYLTZ2xqa5zy7LjicYCw4JoaYQVuixfkv+D+Ii/XB6Tq9xlZrwdeJP+Q== 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=6+rRcTt+pAYLhL3By1/Nx7gUX9wwNfYn5WzOQbJwAk4=; b=VUmbwfG8mAOYeGvW4PtJyOoLWVwSwyAn5tdNgc331V92+EOEol7rNJJDcgCBfIqTYQNirxhhXNgjinGEIOcwera91JRCHA8Paxv6a4xA1YTZX0shs4tenADBB2ZhPnKyHWO8QFCnItJFvFHif1syxyPG3AdL8b6jthszR7TmYWs= Received: from DB8PR09CA0021.eurprd09.prod.outlook.com (2603:10a6:10:a0::34) by DU0PR08MB7857.eurprd08.prod.outlook.com (2603:10a6:10:3b3::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Tue, 14 May 2024 14:57:59 +0000 Received: from DB3PEPF0000885F.eurprd02.prod.outlook.com (2603:10a6:10:a0:cafe::d3) by DB8PR09CA0021.outlook.office365.com (2603:10a6:10:a0::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55 via Frontend Transport; Tue, 14 May 2024 14:57:59 +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 DB3PEPF0000885F.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7587.21 via Frontend Transport; Tue, 14 May 2024 14:57:58 +0000 Received: ("Tessian outbound ba75727f6dca:v315"); Tue, 14 May 2024 14:57:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 81a5ee0753d1eab9 X-CR-MTA-TID: 64aa7808 Received: from 3524e87adaae.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B804C150-9963-43C3-A085-163E2296C7F3.1; Tue, 14 May 2024 14:57:51 +0000 Received: from EUR02-AM0-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3524e87adaae.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 14 May 2024 14:57:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bjEB30J1gM07CJutkNA3EL39H3yklAQ9X4UOTYu8sD/umJhWRFa3KDK1G398QeBa4+M/fFkyIhbCRanO/fzvEc853vmJh3UCPmyLuOw37Iyoxym8plUV4aaebSPFotdPKC6WcU2k6rVkN8egn7KrC+S2ts4ohV33cCkD/up7Qee/zWuDCTIRb/yTZwezdQ18V1Y/cm4GDoX0Mjp5WpdTYHdSoLLy/FMAls6tdJGUjHWkb+Qk7selVU5dKW+4D5iHn5T7LuxmmOsQqmb7O7P/VqEVHBgV/RfZEE5lo43MoDf1i9RePnSQUSpVjt4+OImNY/Q2fCdkna/0XFPoDUhouA== 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=6+rRcTt+pAYLhL3By1/Nx7gUX9wwNfYn5WzOQbJwAk4=; b=fXa1Ad2XXQbOmeu+w/O7VEAt6xKqVYIqwqYU0CZcT4+LJTiK+cPb35HZlxN/XfKIy09DTG/qIl+EgZjNetCma2RcNohwLpUMO3aHoOLEZHsI3HLefz7bWnhhTQ+Yij1he89sPvHQg0sv2kZefAwgvcrbSTBrYAm7MOBBSxgyoPV8JXe2mhdw/9IMhLHFDwPB+88B6uG/AnUSoaxIxmoHc2AMY0ba8vy1NbEN1ORFOlHVWStywhhTd9MXjDmb52xnLZpMD+lgHtVcnla41e1lzTcoxaSOl6VVDhEkoPuRENg0BnNOyBb/EX3dDLTgHodE9EdJWpYq1DuntoVU0zFs7A== 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=6+rRcTt+pAYLhL3By1/Nx7gUX9wwNfYn5WzOQbJwAk4=; b=VUmbwfG8mAOYeGvW4PtJyOoLWVwSwyAn5tdNgc331V92+EOEol7rNJJDcgCBfIqTYQNirxhhXNgjinGEIOcwera91JRCHA8Paxv6a4xA1YTZX0shs4tenADBB2ZhPnKyHWO8QFCnItJFvFHif1syxyPG3AdL8b6jthszR7TmYWs= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) by VI1PR08MB5518.eurprd08.prod.outlook.com (2603:10a6:803:13a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Tue, 14 May 2024 14:57:49 +0000 Received: from AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::3b48:ae45:5b79:cc29]) by AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::3b48:ae45:5b79:cc29%5]) with mapi id 15.20.7544.052; Tue, 14 May 2024 14:57:49 +0000 Date: Tue, 14 May 2024 15:57:47 +0100 From: Andrew Carlotti To: gcc-patches@gcc.gnu.org Cc: Richard Sandiford Subject: [PATCH 07/12] aarch64: Define aarch64_get_{asm_|}isa_flags Message-ID: <8dc2673f-2cc3-1f62-ccb0-2fb5cb962ae2@e124511.cambridge.arm.com> References: <0c99ec88-434d-a9de-0e0e-c281cb2dff4d@e124511.cambridge.arm.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0c99ec88-434d-a9de-0e0e-c281cb2dff4d@e124511.cambridge.arm.com> X-ClientProxiedBy: LO4P123CA0504.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1ab::23) To AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6678:EE_|VI1PR08MB5518:EE_|DB3PEPF0000885F:EE_|DU0PR08MB7857:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b57b68b-8b31-4fd2-4384-08dc74263e76 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; X-Microsoft-Antispam-Message-Info-Original: =?us-ascii?Q?3svqI1Vv3Gy8glPutQPBReFoQxm6QjBQjRmEljfPdUfCK9Sq+kf2OIEk0j1K?= =?us-ascii?Q?7oreuaonimDnWRyo9OYp0CbJxfu+Ft0eiOxRakfVd2jMbGQiFLuIdV56AzpU?= =?us-ascii?Q?9FfXatyR970nTO7A8FHGe+ArLGA8t/ymUln+tb6vDIWkrcXBbCL397YM3RsY?= =?us-ascii?Q?HoT2JHnRl4cTFVwOs6bdPSkoDslu1y/OR1bvnX8PxBVR+T4R0bx+mH7nEmKE?= =?us-ascii?Q?AzAxRnCyp/UNtqlM8DUB5TQksoJJF9njGRt6zotC7xf7FVr/RRb+wMVVPema?= =?us-ascii?Q?vTiMjtgfdH6w6nGDP93pQDj0RULJEvscYPiom1TdMp+cRrasFs4UD1/sDJz1?= =?us-ascii?Q?kIM5nm/l+PHZvZJquAg1FCuAe9Ehk0qUeZKdT2/dPeStRmDzqpFq3QE5CDmD?= =?us-ascii?Q?HUW35LZdNYYfGhQpc5X6uC1xtOvfxZjzhzKbNrKah2GAlA6pggOIpKFCab95?= =?us-ascii?Q?hFrOwv68JThpkl+kJjn35EdeQWfLB+lGEFPS/C4T8qJoDfdIC132pe+lIiov?= =?us-ascii?Q?Skg15hsCVw0UExAyyr2uG/U9uw5NPEn/ISJzG7QgzMa1mn7SXEkMOgcn2H7S?= =?us-ascii?Q?VABCxjZAZQMdPcyhh4sue/isv/SIw8IrjyvdujZ95NJfJDiziNUl7ujaoJS9?= =?us-ascii?Q?HrZa6P4wxc4jxc3ijkeB2jtzGZmUfdHmAXmRyz9fdLO/iEZDcUmuWbUQ70i8?= =?us-ascii?Q?363WplOQir4gxrnthBWfec18JVmXnXDWrFUpF0ZdgAakUSy1F3CGuf6jLcND?= =?us-ascii?Q?Z58scN6Rgg93PBCNOfm6J2GjI0vNHTH8l1fc0HfLDHewOH36trADbnD9Ll3H?= =?us-ascii?Q?tL2nQRZ2X2nRwAOcex6wHH/+RFRiWpZJykVZrFw7+nimVLXeIX6ydG8el9uO?= =?us-ascii?Q?QSc8AMtWw3o7OF2EUugpKlfhOpNk9iylzQPVra60oka+Myd9v/zOHRx9htcF?= =?us-ascii?Q?CaUTS96cl+5CVgk3gx4raCA43m9hd7VhyPZBYVL8L5207tJN0kyM576F+L4d?= =?us-ascii?Q?5ycWKsyQ5ZM00vZAU2ZcIMMw+HCXqh/mCMQHa3wMd8uJH3C1LrBIlVoAJQVa?= =?us-ascii?Q?/UxBf8tkZ83JGfo+pWsoLtYsqNYrAUJ0ZCNu1DQa/jfJfO8wO11OpQiFKyLN?= =?us-ascii?Q?5WCmYCqFsLEPJn4RLk/xWXWMqmv8tVp8yrKzsSdq7oEZklekVkI+tD6/EiUs?= =?us-ascii?Q?2IPbWqgIsQAFuZSG5GX3FzgKiqJaKxtl4vhZtq31i14szPLx63cB8R5dpLrO?= =?us-ascii?Q?Wr5XC8lcbLcZtQ64X4BvOjfuDELU565WNF0oiWta+Q=3D=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6678.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5518 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: DB3PEPF0000885F.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: a51b3712-ed21-40b9-057c-08dc742638ce X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|1800799015|36860700004|82310400017|35042699013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?J0hZdXebF8UTX3IfxhvT4Dgfe27QIfElPEzzcQWyFZ3bOm4Awvj9adw44MY2?= =?us-ascii?Q?9t15Hw706XE+ZSu76zkcrz33vs3vLkFFadYW2RUm3TAAb8d5cexBNozEJf/Z?= =?us-ascii?Q?t0K7XWJJEFyLrojLUFYG77+r9SyWz0A+6rXhYrpz+nuC9yV9m8NxR5LyLPYO?= =?us-ascii?Q?4K+jRvxm/1WDTQCApHrsaS38iXAX/NU+jp/XrEBNvfQr8Yzr2P3YKhPGfw2G?= =?us-ascii?Q?NNZj/A6dIVkkRqxCGs88irVtFsu8Yop7ukmLcZy4ETBkV84XjObpQ/PPDfbw?= =?us-ascii?Q?1+CE6B9GnMJYhYVRaXR6Fc+RogLbTRfleshRyq/Z5crFyjXKK4KmBlfridHI?= =?us-ascii?Q?/C86Fpwd4iawtLLT0Gt5zkK5/crVG7xF5aYY5MIOWg1k0ioaIjATLl6Vm+me?= =?us-ascii?Q?jQWu85EpLHfViB8ElZlPgNL1tGjRZuUoZyb1nMPPAs2v9IeUIrdVOW66WQ4V?= =?us-ascii?Q?dd6tyY9WVv6GMKRuufSncYtgtX8ZzKuUbhb+ffDwiEsNFvvqqx6LuyVWeH3p?= =?us-ascii?Q?Kv/LXLdTgnHGecXCbXlI12udpZ7TUzR21qnsdJi1Bn7n1zoWwhYM2tP7pJkV?= =?us-ascii?Q?j2dPIMatDlV4pPO3gp0SWZC4ZrFKIC2iB40ymjSScRm804yM+cxXf2f5zynD?= =?us-ascii?Q?JMsa3yMdKWtciC2+FTBXaoNVRz26hT4mwFMEYACg5zxGQogviXMJG7f2ySYP?= =?us-ascii?Q?GX2UDzwl9tXOM1furQaeJ31/s5/Ne0w25zpE3q/LkQQP4By/ar1YAZPrNWOY?= =?us-ascii?Q?DEdqnpucSOnDE8wrDeL47QiWDEcci3ltcy/RT7IjBWgMAL/8K9smyYXBGFCP?= =?us-ascii?Q?n0SaJuUoU2J8y9z4wGp+S7BQ4ls3WNMaqOJFYcClovSEvkqTSumgEx3RgEWe?= =?us-ascii?Q?oW6GbQe3TCnpcrsGf/kL668SXiPNXjBfDLmeoQa7pZAqiLRzSio0eFKkEbdG?= =?us-ascii?Q?SvfTsinajjvuBDwAHzVlZm/I31j1pSkeG53WJBsioSL3o7zVwK0flKeFAArm?= =?us-ascii?Q?tgcMCKArPFTZgIEg9kg6gsegEO792o9YVN9AfFfPtbUBoGX3g6GmWOIqslyH?= =?us-ascii?Q?n7WzQDgSg3H3grvH2RaJ+P8fdKPocFKE57pWbvOW+0/PcuXTnMrAuMsEVONt?= =?us-ascii?Q?7ph2Ju5/uEcKlRVVxdsHQuDWurQPseIki2lCkIV0UotPJo2yNOq45n14lGOH?= =?us-ascii?Q?mey5s1H9lK1UL+FRr15ehJXsjG5VfF9YI3kt25s7oLMS7Id+P4+3EKu80GpY?= =?us-ascii?Q?nNxxy6Q40LBaHT1ZMtiOrHhyWt6m2/av80qBl2Y70g79Eky1WLgDoLNn+9n3?= =?us-ascii?Q?Wdmi7YlKd/9wrQda3W+99EfnXZwBCjDznVjW7UBreNAfVkRviIFrQewrOLFk?= =?us-ascii?Q?Rmm7cVrik4rk0ATtMBhayuyxVMEy?= 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)(1800799015)(36860700004)(82310400017)(35042699013);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 May 2024 14:57:58.4816 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6b57b68b-8b31-4fd2-4384-08dc74263e76 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: DB3PEPF0000885F.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7857 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,KAM_LOTSOFHASH,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 List-Id: Building an aarch64_feature_flags value from data within a gcc_options or cl_target_option struct will get more complicated in a later commit. Use a macro to avoid doing this manually in more than one location. gcc/ChangeLog: * common/config/aarch64/aarch64-common.cc (aarch64_handle_option): Use new macro. * config/aarch64/aarch64.cc (aarch64_override_options_internal): Ditto. (aarch64_option_print): Ditto. (aarch64_set_current_function): Ditto. (aarch64_can_inline_p): Ditto. (aarch64_declare_function_name): Ditto. (aarch64_start_file): Ditto. * config/aarch64/aarch64.h (aarch64_get_asm_isa_flags): New (aarch64_get_isa_flags): New. (aarch64_asm_isa_flags): Use new macro. (aarch64_isa_flags): Ditto. diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc index 162b622564ab543cadfc24a7341f1fc476733f45..e08a0fc86590b35a595a305599dfb919f83d6906 100644 --- a/gcc/common/config/aarch64/aarch64-common.cc +++ b/gcc/common/config/aarch64/aarch64-common.cc @@ -111,7 +111,7 @@ aarch64_handle_option (struct gcc_options *opts, case OPT_mgeneral_regs_only: opts->x_target_flags |= MASK_GENERAL_REGS_ONLY; - aarch64_set_asm_isa_flags (opts, opts->x_aarch64_asm_isa_flags); + aarch64_set_asm_isa_flags (opts, aarch64_get_asm_isa_flags (opts)); return true; case OPT_mfix_cortex_a53_835769: diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index 773cc12d5a88f774ab78af8a9099312335c19513..49bdc7565cd5ca80fbe2d4abf30aae12841c340f 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -22,15 +22,18 @@ #ifndef GCC_AARCH64_H #define GCC_AARCH64_H +#define aarch64_get_asm_isa_flags(opts) \ + (aarch64_feature_flags ((opts)->x_aarch64_asm_isa_flags)) +#define aarch64_get_isa_flags(opts) \ + (aarch64_feature_flags ((opts)->x_aarch64_isa_flags)) + /* Make these flags read-only so that all uses go via aarch64_set_asm_isa_flags. */ #ifndef GENERATOR_FILE #undef aarch64_asm_isa_flags -#define aarch64_asm_isa_flags \ - ((aarch64_feature_flags) global_options.x_aarch64_asm_isa_flags) +#define aarch64_asm_isa_flags (aarch64_get_asm_isa_flags (&global_options)) #undef aarch64_isa_flags -#define aarch64_isa_flags \ - ((aarch64_feature_flags) global_options.x_aarch64_isa_flags) +#define aarch64_isa_flags (aarch64_get_isa_flags (&global_options)) #endif /* Target CPU builtins. */ diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index b6300fc24c0d674edbb0df8e2d10121f2d39e7d6..eef0905069232bacc59d574cad0f6edbaf062387 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -18292,10 +18292,11 @@ aarch64_override_options_internal (struct gcc_options *opts) && !fixed_regs[R18_REGNUM]) error ("%<-fsanitize=shadow-call-stack%> requires %<-ffixed-x18%>"); - if ((opts->x_aarch64_isa_flags & (AARCH64_FL_SM_ON | AARCH64_FL_ZA_ON)) - && !(opts->x_aarch64_isa_flags & AARCH64_FL_SME)) + aarch64_feature_flags isa_flags = aarch64_get_isa_flags (opts); + if ((isa_flags & (AARCH64_FL_SM_ON | AARCH64_FL_ZA_ON)) + && !(isa_flags & AARCH64_FL_SME)) { - if (opts->x_aarch64_isa_flags & AARCH64_FL_SM_ON) + if (isa_flags & AARCH64_FL_SM_ON) error ("streaming functions require the ISA extension %qs", "sme"); else error ("functions with SME state require the ISA extension %qs", @@ -18304,8 +18305,7 @@ aarch64_override_options_internal (struct gcc_options *opts) " option %<-march%>, or by using the %" " attribute or pragma", "sme"); opts->x_target_flags &= ~MASK_GENERAL_REGS_ONLY; - auto new_flags = (opts->x_aarch64_asm_isa_flags - | feature_deps::SME ().enable); + auto new_flags = isa_flags | feature_deps::SME ().enable; aarch64_set_asm_isa_flags (opts, new_flags); } @@ -18999,9 +18999,9 @@ aarch64_option_print (FILE *file, int indent, struct cl_target_option *ptr) const struct processor *cpu = aarch64_get_tune_cpu (ptr->x_selected_tune); const struct processor *arch = aarch64_get_arch (ptr->x_selected_arch); + aarch64_feature_flags isa_flags = aarch64_get_asm_isa_flags(ptr); std::string extension - = aarch64_get_extension_string_for_isa_flags (ptr->x_aarch64_asm_isa_flags, - arch->flags); + = aarch64_get_extension_string_for_isa_flags (isa_flags, arch->flags); fprintf (file, "%*sselected tune = %s\n", indent, "", cpu->name); fprintf (file, "%*sselected arch = %s%s\n", indent, "", @@ -19061,7 +19061,7 @@ aarch64_set_current_function (tree fndecl) auto new_isa_mode = (fndecl ? aarch64_fndecl_isa_mode (fndecl) : AARCH64_DEFAULT_ISA_MODE); - auto isa_flags = TREE_TARGET_OPTION (new_tree)->x_aarch64_isa_flags; + auto isa_flags = aarch64_get_isa_flags (TREE_TARGET_OPTION (new_tree)); static bool reported_zt0_p; if (!reported_zt0_p @@ -20662,16 +20662,16 @@ aarch64_can_inline_p (tree caller, tree callee) : target_option_default_node); /* Callee's ISA flags should be a subset of the caller's. */ - auto caller_asm_isa = (caller_opts->x_aarch64_asm_isa_flags + auto caller_asm_isa = (aarch64_get_asm_isa_flags (caller_opts) & ~AARCH64_FL_ISA_MODES); - auto callee_asm_isa = (callee_opts->x_aarch64_asm_isa_flags + auto callee_asm_isa = (aarch64_get_asm_isa_flags (callee_opts) & ~AARCH64_FL_ISA_MODES); if (callee_asm_isa & ~caller_asm_isa) return false; - auto caller_isa = (caller_opts->x_aarch64_isa_flags + auto caller_isa = (aarch64_get_isa_flags (caller_opts) & ~AARCH64_FL_ISA_MODES); - auto callee_isa = (callee_opts->x_aarch64_isa_flags + auto callee_isa = (aarch64_get_isa_flags (callee_opts) & ~AARCH64_FL_ISA_MODES); if (callee_isa & ~caller_isa) return false; @@ -20691,8 +20691,8 @@ aarch64_can_inline_p (tree caller, tree callee) PSTATE.SM mode. Otherwise the caller and callee must agree on PSTATE.SM mode, unless we can prove that the callee is naturally streaming-compatible. */ - auto caller_sm = (caller_opts->x_aarch64_isa_flags & AARCH64_FL_SM_STATE); - auto callee_sm = (callee_opts->x_aarch64_isa_flags & AARCH64_FL_SM_STATE); + auto caller_sm = (aarch64_get_isa_flags (caller_opts) & AARCH64_FL_SM_STATE); + auto callee_sm = (aarch64_get_isa_flags (callee_opts) & AARCH64_FL_SM_STATE); if (callee_sm && caller_sm != callee_sm && callee_has_property (AARCH64_IPA_SM_FIXED)) @@ -20705,8 +20705,8 @@ aarch64_can_inline_p (tree caller, tree callee) The only other problematic case for ZA is inlining a function that directly clobbers ZA or ZT0 into a function that has ZA or ZT0 state. */ - auto caller_za = (caller_opts->x_aarch64_isa_flags & AARCH64_FL_ZA_ON); - auto callee_za = (callee_opts->x_aarch64_isa_flags & AARCH64_FL_ZA_ON); + auto caller_za = (aarch64_get_isa_flags (caller_opts) & AARCH64_FL_ZA_ON); + auto callee_za = (aarch64_get_isa_flags (callee_opts) & AARCH64_FL_ZA_ON); if (!caller_za && callee_za) return false; if (!callee_za @@ -24440,7 +24440,7 @@ aarch64_declare_function_name (FILE *stream, const char* name, const struct processor *this_arch = aarch64_get_arch (targ_options->x_selected_arch); - auto isa_flags = targ_options->x_aarch64_asm_isa_flags; + auto isa_flags = aarch64_get_asm_isa_flags (targ_options); std::string extension = aarch64_get_extension_string_for_isa_flags (isa_flags, this_arch->flags); @@ -24570,7 +24570,7 @@ aarch64_start_file (void) const struct processor *default_arch = aarch64_get_arch (default_options->x_selected_arch); - auto default_isa_flags = default_options->x_aarch64_asm_isa_flags; + auto default_isa_flags = aarch64_get_asm_isa_flags (default_options); std::string extension = aarch64_get_extension_string_for_isa_flags (default_isa_flags, default_arch->flags);