From patchwork Thu Jul 11 12:13:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Carlotti X-Patchwork-Id: 1959301 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=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=Dau+fxCT; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=Dau+fxCT; 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 4WKYd10q4yz1xpd for ; Thu, 11 Jul 2024 22:17:09 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5C7DA3870C11 for ; Thu, 11 Jul 2024 12:17:07 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:260d::600]) by sourceware.org (Postfix) with ESMTPS id 7B022387101A for ; Thu, 11 Jul 2024 12:13:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7B022387101A 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 7B022387101A Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260d::600 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720700036; cv=pass; b=cSFXZPgD0Q7kx0EAF7nkTvtik7CO5GschiTmBQCBbs+Cgnn+3mMBG1fp4ijejblGrPYinLZOL0O79s5ZVsKQX7Hw5msoBdOB3c+HMRbMVo5x9H8K/wTzcrU+O0ty4pTztyVN5E14YIUnOuZCQUpk3C3Evw8eS7Yga1ZxWH4uKws= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720700036; c=relaxed/simple; bh=sJE3RMK9vO73iA8mT9CFbCEDcwyGCXvhk5N49yT/418=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=UADt4cIh2NvDLTOaEC9+NpECMmIkAzNWeZPFCP/aBRtGalLz2ss7em7A8Q7cCrWlfyGuMcw4GSmlqwnwRuW6AuI6HmHqhIjoxV6g2zL+M0mccatOklolZ3cQAhzbxvUDprk7iEisyglzYA+G6mKhDLhR5qrS2bYFiS3PHprNN14= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=gAWYZOIt+jx0aKccGkvgCCUgpwPhqYiVYb1sD+2kLxooZGkQ+ZlgQkT+MEivFRQxgaEfth4XWkDgx9EHO8EIIoNW4yWILIq74KD8l//UpxQO6k08noQ8CGV2BJ3zphJiXkZ6YaczjdaELZeb8vDuNFgr6rS0wSpCgNMO5qAdXni0QpviT7hKOgUtIiTbDyVJSHChzCjeEXGyBZtInSrtdeVbo3vblNgJBa5H4xdXtW33w5YWKVTyeB5xq+qowWtI2srBEDxRnhnp6jgjBvu6gzqE4/i6erzU+oKAsJ3V3SJklo9egMvHmDNdOGAC8CgUPydH+KCGbcHDL5N2CxEs9g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=FCOw2A0pOewsUsAF0NCcJUnVm+LpbVuH2pxn2nlTlck=; b=SIZKx1mUCrVazvP5lK7FV+6aR34vcqwijSULRqxmGuMhLhriWI0Ql+1z2AAObkYCzGyZMp8fC/Z/9zHrcZWAg0++T6Gh/cL+LDNWkApCBjl7CPFbbNGxsWBiZrbi6oUTaJwBhL9l1oYExvOUbPLBKH+1ijK+ogWYcv3RzSHwVBCCVXyW56EjJrPT4wLI9/FX+H4yLF7sp0o/piAjJhbRG+YD75Bl+fbGhufIfg7421X9syo4S9s5IoM0rv6c7aQT4CkZcEQCs/1fp89P8IckEDtrKt0gI++fO8C4HkMUeKp1OVk1eacCo5xGxCPTB2G77gWd/pElIm5rP1ej5uCmsw== 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=FCOw2A0pOewsUsAF0NCcJUnVm+LpbVuH2pxn2nlTlck=; b=Dau+fxCTP50NknP525uDAp3wZh829M4S+YRPvw/+a+GMbgxgoBCmqTrjuU+edSuTXwX49pnrTAE69W1Tbk/i/idAZ6Fo9JogIOLjxoABgGtTrfxJbD/oVszAWhaE/w+duve2jE/xBfEeNDj+7prHPVBw/ECpoEpoYPh1UpSF4nI= Received: from AM9P250CA0014.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::19) by DU0PR08MB7542.eurprd08.prod.outlook.com (2603:10a6:10:321::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.22; Thu, 11 Jul 2024 12:13:49 +0000 Received: from AMS0EPF000001A6.eurprd05.prod.outlook.com (2603:10a6:20b:21c:cafe::a1) by AM9P250CA0014.outlook.office365.com (2603:10a6:20b:21c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.20 via Frontend Transport; Thu, 11 Jul 2024 12:13:49 +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 AMS0EPF000001A6.mail.protection.outlook.com (10.167.16.233) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Thu, 11 Jul 2024 12:13:49 +0000 Received: ("Tessian outbound 7c3e8814239e:v359"); Thu, 11 Jul 2024 12:13:48 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b09a82a78b0778d4 X-CR-MTA-TID: 64aa7808 Received: from d3b4e977f763.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E3776D73-CA4E-4D4B-B8C6-F4BD7BC6045B.1; Thu, 11 Jul 2024 12:13:42 +0000 Received: from EUR02-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d3b4e977f763.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 11 Jul 2024 12:13:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jAU+vC21/bBudLLH+/qF6CySsTdXBDN4MMu/bN1u92/PpzJfY2VWhDGG8TZb2kNycLWEyp95r1Y5zGTpVv1dftp5GCLSsYfcccwH8RG3oj/1Goen81yEbi1MyxARDiyK8rXiaZ40G4V5NoTIjlG+1VI2gPUWUidGOaZCIDwmgexuKoRuyVOvxxDfAp4eQWvTkuMZBKV9sNIpCeXTzd/ztwzKfCS7NFSjUfL8qQkbw9SbsR8zB6B44SpkXYihw9KcS9qUeyKvClenjEMLcgY1TEOD+rIAc0qeHeViCeZMhbYgqMlcVvx60LqRkpmoJmkV2UpGM+qz+S0WgkzvxxmLGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=FCOw2A0pOewsUsAF0NCcJUnVm+LpbVuH2pxn2nlTlck=; b=EBVxJpW95fLBKlLS96/rsOXo3Hsl49p/Qq1Rbd/Fr1RIrZUTo2eK+zKobOnx/FAeVTeikFFFx0IQ8OSuEarXL6LvdnV7PSlC/u21Ew1kOcDTVygQrAzi2m9O66MX/6ZFLWluC3NV04argKz9shTtxlnapPsmzb0VaP5ZH6XLCYRRGAXnAhFF2wXvy6/tJuWProoZhW5snB4O7GgLDziDH+N564VNI/1dZPdJ3ca984rDwSjIcRDnd3/YYR9RTFik49dmxBmcI1uAglN5kPFtSb2l5UBIA+T/tWIbj1SgsM73yCD8kcJBrf/+WLLm7dfcK+gcbQqgjCuo67xrVQAu+g== 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=FCOw2A0pOewsUsAF0NCcJUnVm+LpbVuH2pxn2nlTlck=; b=Dau+fxCTP50NknP525uDAp3wZh829M4S+YRPvw/+a+GMbgxgoBCmqTrjuU+edSuTXwX49pnrTAE69W1Tbk/i/idAZ6Fo9JogIOLjxoABgGtTrfxJbD/oVszAWhaE/w+duve2jE/xBfEeNDj+7prHPVBw/ECpoEpoYPh1UpSF4nI= 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 DB9PR08MB6668.eurprd08.prod.outlook.com (2603:10a6:10:2a9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.22; Thu, 11 Jul 2024 12:13:39 +0000 Received: from AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::3b48:ae45:5b79:cc29]) by AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::3b48:ae45:5b79:cc29%3]) with mapi id 15.20.7762.016; Thu, 11 Jul 2024 12:13:39 +0000 Date: Thu, 11 Jul 2024 13:13:36 +0100 From: Andrew Carlotti To: gcc-patches@gcc.gnu.org Cc: Richard Biener , Richard Sandiford , Jeff Law Subject: [PATCH v2 05/11] aarch64: Define aarch64_get_{asm_|}isa_flags Message-ID: <83b61b47-7c57-0019-203a-ad33edd78754@e124511.cambridge.arm.com> References: Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO3P123CA0011.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:ba::16) To AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6678:EE_|DB9PR08MB6668:EE_|AMS0EPF000001A6:EE_|DU0PR08MB7542:EE_ X-MS-Office365-Filtering-Correlation-Id: ea0b5e37-6ce3-43f5-94ce-08dca1a2ebd0 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info-Original: uCQXmX3H18Q/TiynWAIp8G0B8/+A6bo241aLMfvD1mmR5pRWvz5IrfRMB9fShV1iG6D+UP+8d7qYiaykOSB/Ucbz21fZFxZ8ugqAmOn5s5+8gjRQubHfvxaokmHBKtJpD6KgZY4u0+MyLLUJrHwETbJyC35GhlPxg+UFBoOu0FNI8KS6hGaabstYXYWpqQHFiYbvUYGbW6FVJyNwS6yaaLxbFpIubafzO7iwPTzcnBM/tbsML7JcjQKiEX3WOGLtMY8ZULwY1MB02+18sOdCIxHLJnoSPS8B2YEvkIAddtJQvCvjHRdJzcGLfGxCvo+K4HPUIqV7dXod0ZIQrzeNIX6cE84eLvIjwC8j/Ptzp8rvk565Mt+piVVhDCugdS19dMBdrK/yHNJWIo2kftcKZOCJQIqdKaEd4wISuQ06b6AVFFyAUvQNcH/En/yGVhsrGH4eOuBnkvY1d/66oVn103dK6mJc7iZhWllMiXcGVxMPxegd8HMZX/3jzDO6rSdgt4/wHYHbk8opWVxJyEkBzmI1V+iKcIzc/MuiJGYy/M1ygtFcpovlu7TzUCN1cz8yS/4iN3qdU+/STbTW+bUlxn7xx48NZxhVzsFY+8hpDn/4Z9IKomCHrOJDmtU/4EHICdZb6Lsbdgy46txJ+k2tCXPhcK3dR1rwBAKj0mxjzenmcyoqGN6ISwM1R5yhDZEcYjnmrIZ/MSgeTZ6j2V2Kkf1x/aEkIF97gsuV8VTpShVoL/4CBbNnkDYTf3DULHZqmY78L/Y3n18gBMuL4rPY8oVNFlIzZtYhCsH+1zOx54bHs4Bw1Osqe1fF5Z8CevTOqBA+IYFksKK56j+MHqbBt54Y4ndX5hreA8EAOw/l/nH1z4w7ffrkwNTXG63iW3GYXyZliLHCNckVm0rxwoWBEeYTu2y0a5/OVZZ2Tj8WF4qEhBMWHXmvGwzcf3MR/9p6qlXBiVEcDTBFJbe7B7gtbavpWCrOUu/aWPpLXarkfgLTWB5UJUuniDogez0bGwDMWBJ6kQls2Bzgw8bB1DZP1RMIjoKrJ4GuYFgPuAFTH9inAgCcqoLzgb4ZWlEi2u7pjTs3VWcqzXmnSB6l1CcONfwCj74dnG2THyNz1lEhRIWsrgGwC9JcLdfaS1zae8BHhyt9JpDVzV+z4rw8T++2rxHUGK7lMwreieaeaosytX9aF3WT//h9omYYTLV1111pymMbTI1SZc1AfqXHRhq8bdGdtu43AeWh1CR8R82crXUt+v3snnjmqFKZvhLOCRE16gj9n/V5ZJuFb1tzffU4enlTZvl8hSkcVlH+LMIuAUnMqm4u3JpwKpS5RebjVrcCiu8Oku3ibAcsN4LwZihfpg== 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:(13230040)(1800799024)(366016)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6668 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: AMS0EPF000001A6.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 7b8c5ac6-5f9a-447e-c34c-08dca1a2e617 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700013|82310400026|376014|35042699022; X-Microsoft-Antispam-Message-Info: bfASiBi9TkA6kZQ6YImQDTW/jx9/oDknbsaVGoINVdTuxx2liWFu9gjVwEBcDRey+fj/Pl0I27u1dQUWppmdSYtwAABOVSJiOGicXAGRVzPw7X7QCYcMp2HQt0nZPUSPU9kDYx8ZrCyAjxpjbsdOIZq1JwKJFYkP58ZjG8pJPsoM3LvS3z1su7wv08D06gJZOd15fzRgLZpx3dB+zQZc5YV2cSYn3vvJCXkWByaCOidyUqxK5fnFn+NYyAGQBgBuFU5bolN1JnTMBNeGyffsfZWi0N2P2EkvWJ1a2j68Y+FSVKTdzQ1oy9ILf1crMbseI1P2ydDTBeg69uY3kJ46k3zgKa/3FygcPi/ZyWdDhs4seEvkxnYVJATQpJivsmOLGp3JGZ7YDp0mfOqdS32YzvjHZHtPMJR/Kuw+Hsyxli5tsq+VpLcoEdkovsrgNaBHsQzbGVvPMkdnMW5DNjTkI5PVVKOHQNkMjRT2j3cpXMUkfg4t6kD5bKturr+uNiclCuaMCPzBEuGTBUM7hjs6ISAhvgKPxqhYxCkwQVBEaIM9P6uGaWZPFgTNJy8sTeYaO4hW2pptC26YWbeT06kkbrKDc7Zpuyv5PGfH7cD50XXSajmDM6IheD66XYcQeos3y0OosOHCU86TJuCYi3uGnVB4I6ZQR+o0oiuTdUfBZ1AFKMnm2/rEkj8eQBnb0M2L2J/B+pUZYahwZEiyFDCTLYc5MYmyldul5jRzQfghIyyKOD9NLHuk5anQdhekdX24Uh76fdy5zxrki27Q4Xq813fRELnADx9729wkE9ztmXHl479VvUB8lhFwjelNE1tF08j/jKN2DkMAlCxEVAuoxqMey2KjNWAZMh+2CJ+WE3poV7awZ5l8zvOT7fOH/OAtpXWTuCHvZO9TxRej6Jg1Dm3ukAVCjwu5MQiK4DYH2b6VOCVFl7ZoIzsfklDDzi7DptaeJhXo3ogAw/L9JIXhPxrD5VlULR4IZt1yGOVJpSq+qOBkPEG4DduBgKk30l1rDaCtQH7m2IBlvvzo/LYb82txU6MfsiYvFQ/y+Kz6Hb3TwxK3Da884Kb5bFm0qMXnk/DTPETri/DwujogW3koGl9Wy9bkXX1ZUbrETOXtwVRquFRL59cwbo4mE0NCJvdfxgxDw7SfCdWFJQ7SgIzhZHJ/EGRCdLbdh2NqROxMafEi+2u0+r7E5MWHvNiNKHGrl4BkxxyNTpq6XBwkoj+JnGpo+tKdzZqlszOoSWlvDA4PFjvWKB6yizQq+OAIiSLf3gciOaJa9NCMDdhaf843yHp1ocUohFmONg7q48P56wSugsM9nOai2X3gYwv39apZKu4MZF1GIDlMGsItQ3scwAbcAbuzAmSR6cGGo2CoBPJ2EMXigUzCF6cihMnjzYfareFAEproKCc+ypMeEj+/SSdFfA3a57ZI35MPSBynVE0P5zrqNVzgzYETTIw0I6pn 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:(13230040)(1800799024)(36860700013)(82310400026)(376014)(35042699022); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2024 12:13:49.2232 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ea0b5e37-6ce3-43f5-94ce-08dca1a2ebd0 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: AMS0EPF000001A6.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7542 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, 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 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 951d041d3109b935e90a7cb5d714940414e81761..63c50189a09d5c7c713f57e23a8172f44bf6bec5 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 dfb244307635a7aa1c552acd55a635cd0bdeeb39..193f2486176b6bac372a143e2f52041c5a28ebaf 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 726f769e708d09285a291472bda4babcc3241d00..69f481ecfc848e6c5b61516c2f7b8bff5cd4f8b8 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -18331,10 +18331,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", @@ -18343,8 +18344,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); } @@ -19038,9 +19038,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, "", @@ -19100,7 +19100,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 @@ -20701,16 +20701,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; @@ -20730,8 +20730,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)) @@ -20744,8 +20744,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 @@ -24480,7 +24480,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); @@ -24610,7 +24610,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);