From patchwork Fri Jan 10 17:23:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alice Carlotti X-Patchwork-Id: 104515 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1C6F9385829B for ; Fri, 10 Jan 2025 17:33:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C6F9385829B Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=mwcPovz7 X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2062c.outbound.protection.outlook.com [IPv6:2a01:111:f403:2614::62c]) by sourceware.org (Postfix) with ESMTPS id D6B723857013 for ; Fri, 10 Jan 2025 17:23:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D6B723857013 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 D6B723857013 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2614::62c ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1736529827; cv=pass; b=UfQXIKOlfPZd5045fqIC+kwBnYwnJhrnUVT3Gs/PaeCDI71jSABif/B7OJJKRd5PovA70DZ3SsVbrdulapqWVNkqJrUeKHbLL+T29HN4LJ1ExcSmGUhzz4cb93IZ9b7LA8W3WT0yKzKl206uTYwa+QivjaTWDy/+RNurFxv9ZrA= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1736529827; c=relaxed/simple; bh=65YXNOcJiuggWCcsMvQBquKyj5VOLp20vUMZ2dMcIVc=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=bdE0X83MRw4mIV26MYBJzsFkevzGUU1r9Wyzv4L4Jmig6tMUkNPVnnJ1A4YqhjgYNXJnk9flhBGxBol5vEcZ0GtMbMdxtzB9oGXj+KXjzbdehht8wguqvE580mhgfgbfwtwlY72KvnPe9q3uZ9PXrpeOtQPY1nxxPzeEtLs7v2Y= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D6B723857013 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o6LVcOaVC8TCXE/hHRfkVCTbqwxFCIO21EYQHW9srOyFXOlH5byxFGD2AjjWvA2ldWuZIHXU/elLALZS5UgQPIh9vBazXtLnNiSjMT1YzfEHfwBj1qnSc/KC/3Ra0MDR4J7OQcP+B4gi7Qr8OZUuGASJdPUxZ8tBXtpG+ZXTu+d2jWN8xV7s5ukUy5xowqblUYw0Bt9wFz7lSP1832Z9/spFsHFcmhTyKDvTOCRYO/W19ke2aKN70ktqW5ViJgV1kByy8pqCUnFTo45D9QfcdHk8zy7bpTimuEMc8Z2Cia3iv5FkXJNMKP7UKm+FV+jpnGNvrhx/3RaL1++Rs5zWyQ== 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=7zyVmyPBm2FvnE9B+iUaegBjFUnN3nRohllIQXt3miQ=; b=qtNnBmC1kmx13KB0KJUGnCk5u4WQy/ARE8m+9Q3/znu+y9tNpdZTj1I8mKgyTiF/JMRdoVtJogxkIcGxuehthwuJovO4mTJ9SJ4O14yMGgkq48SXk09CJ7f5KYgk2BsI8lINiM46thlgE53EKT8hVsnwfv0as6H1x2D8aRwHVFd/UDdOf5Yy2Uz6noxFxaTQkXpuP2RrSyWyU5+FexS5FQB5lSFXy4DMZROXeM6lkxuEFA5g+K/QbEMWsE/xGQX05d3EdHp+DKxqIPv0WD7wsPA9pNZ39DPt0RWxJSaR4CETey0MExxVNJvSs7XZ/yB7i4DxKzy5DzoXOBb1KcKsxQ== 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=7zyVmyPBm2FvnE9B+iUaegBjFUnN3nRohllIQXt3miQ=; b=mwcPovz7WRzlspAIW9FykR0LwLLGYOH5TYIwFq4mPf8NPKonF34HogDDist1rkUVzu48XuBRwrb6SEjKpwsq5eHwEJUBlFA4W49Q7P1/rErhpPRpPAEWxPsqGK+0BysCeS7BTsCgBcoEQgtn2krYJCckq1zAAw44WeIGS3ybH44= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DU0PR08MB8255.eurprd08.prod.outlook.com (2603:10a6:10:411::9) by PA4PR08MB7457.eurprd08.prod.outlook.com (2603:10a6:102:2a4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.14; Fri, 10 Jan 2025 17:23:39 +0000 Received: from DU0PR08MB8255.eurprd08.prod.outlook.com ([fe80::cbc8:c020:6a1b:d27a]) by DU0PR08MB8255.eurprd08.prod.outlook.com ([fe80::cbc8:c020:6a1b:d27a%3]) with mapi id 15.20.8335.011; Fri, 10 Jan 2025 17:23:39 +0000 Date: Fri, 10 Jan 2025 17:23:37 +0000 From: Andrew Carlotti To: gcc-patches@gcc.gnu.org Cc: Richard Sandiford , Kyrylo Tkachov Subject: [PATCH 06/11] aarch64: Inline aarch64_print_hint_for_core_or_arch Message-ID: References: Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P123CA0249.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a7::20) To DU0PR08MB8255.eurprd08.prod.outlook.com (2603:10a6:10:411::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR08MB8255:EE_|PA4PR08MB7457:EE_ X-MS-Office365-Filtering-Correlation-Id: b34fd1ef-9c40-400c-eeca-08dd319b862f x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: fuZSFRClgXgS96w+URQKjY1M5EsMLCldA1TfCiFzEzn3KK2awYXHUGzd13USmvkJblwmLGu6ehsvW5rUk83J/21UIfaajLK26dK694E7kZl35iCfVbSLIoocX9fui32STr5aTxcECpkKG/NIa99tguLVFk+LeW+nSW0W4eXBvgpUT5KqOwWdOHRP2X6gMS1OJUVUrPePKFoMCnKavcb3UDwJWyoKXgCCiKQQlSRcY/NXF26y0D/ffLMou8rRHuJ9KbRM8r2IXxBx76bz7LSCZ5v9RIjugGGV6gQzDPdvKTqI6zAc2Xt3W1FQRLPx/PA7KZJf00Pc1Hrr/XuJy1QUI8arYSNZIsOThSQgJWGbgZPwlsK00lY28t4GW3VT8LaajRMbd+h8zwR6UzsiJWi1tHdbFBK8uEmVCXQTFIay1rF3Ulc7/PgzriNtd+svpIM/9c9jkEymrRj601JBPyjNeP84awoMADxU6cEGJpNrlaQPiOqFLAlneEdl8NJcRt369wl6wwnqHqH0HgWlNKYcSbbzWUk4p5mIBolJaMQtnLxuKttWQxzF6c0GN0E+upRlRc6vyWvcVO32RUDzJiXUj9DWeAMgZRC6hc5jusr6eVHamCjF9rwwOp0tkUheel40hSC+nLbzJlFt7OPO/AXjsga1FyKKC5RNxAhQBXwxFuu4pE4rqpIXDC6zQXVs2KxbRfSjeYlNQCLf2TI+XAjSsJB+OPjeoPYaUM+r9dtHZuhGd22EacbNa0eiiZWEyZJlxTr8OM3pQFfRcDNbwho05tHa+gQJu8OU4/aYA3p6vD72f3GTNgyL+1PwRyDWIjj3K91jMN5H+DMvOAGJ78IpKGT9UzU3DZZW2MuYAcxrml87NRki2BLqeB3h0nA3uuqyTYshJpQSs2gm8rBLe0TX8NW9mZsrofyWZPt2qym/3BysjoINMlqryfhF+lvbaS5UB4Z80RUyOOGqCrWV2gZmEvNOtr/IFcRkL12DHLOS1/GEFl1uvr6eLcQr3rSOpNcI5eXXvoa12Va9T60h6F0zvCqPCZzFuRhDOlPOkchAJEczOD21B5EBSlVW+2/0itKwksEXPVWd124Vkz9JJiz3YPZ2CuhXcwbOKWpbLHl5CHTTjzN2rXB5WHid0Hga3XOt0zN9MUzmiqvkqN6iyaiGipXa/P1ZMXDgk2szT6l4IZbT/cMYZzkFAekvzoxkHBWyUI7BsgAvhWSV7mWzSgtb6puNUPxr1opxwUWZpr7Jv8RTdX1P2r0oZSlaH35jf4QXenhw3CrFPJLzdcNezYCBUzQPTYiUJ+9YFyDH5CPFLCEOYD/FC2MA0AsLegNLD/fy05xsovw4M8ti8wLYYWDmXVwJYo05QsU0vwRFfE4XtquxC4DSc4eaZeuO8RMl2uO0 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR08MB8255.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ofar29ahNhtscaXudj0lozHeiBtt1r4nCpY9IgdfUI8GGxqi1fVyZsdebqMPuz+6B/mv0WLeCBi5t9duhY8du/673wAPC0MRJ5bLCfod1yoIFm0BB83fIwwFlHG9Hx84CmPHOj4jtEpcPaj65hWcxgffzYtyMV2Yx3QBnSaOUjbg3v0y+tgIr7SiEZBdTiM5jDXXr7zpl54jZmQ6q/Nrs8ZB9S3F3MsFpUSaPyQ3RfCfla54UGrDCmlYmdT3VK0xHJo60wZwmBHngUlvvRuyudHHz2KBrUvfxa0PrDRPfdwAU1keZkOPUCFR+b+/o24RZOzQ8EvL+4TQ4A3XE/V/KFRUkCDAKJJd3KY2kYLiN0MtxJxo7aB7TzNdjCFw5SOjcWX+/kDtzSJ0+L4BPBeqDvfn+ycIFgf2FxRgsJY2bJtsOmj5/09FNTAjcaMBWD4HWQNOxxT1stdIwWxVsPYRwyxghdsKCF9qbPBZHA+uLNkV2H+XEpA4L2wsaZkYDJ7641SuEJI8NBzNvvxca1kw8Qo7Mav/duPSXbmJkY37VUMAMer4hSTt1F296LDSOrrXRTXMuXaVV0HPgGuM6JCGJDLGYm6IKsXQKne8ktSmsym42TN0SIZMxvBavnvxbr9QHoxEEuyasmQLQk8KDimVNw+CzPraVHK083ijAAmdLpJ690yvNmIukCT/LLjJdN9HVCJGmzFU7WW+Hy8pmyfb90BxEbbP708xMiQ+ymJRGudnGqQsEvFoi9+nmUzrlcpEe5xxOsWKkT8hxYWZ8vIDrjzL2gV3BEl7zLJT8mVKKfthpuTPXMfJETiqeSeRbl0j3N6+RvSdKRo59AaVYc8i5w2TL8mwaSQwcXbnrYOu1demvbnJGQypHWQpZ8rAyUg1qFbDyD0/pUOfxZt4jkzugWDBTvGMCeLbdmeFaHrxKHoLvSqQ+TshM85CuwqomaC7vRq9sqIxWl7VGZR1SFNyS1sX9h2fthF3nsjRllm+LXik0ZIvIuCAV5LxD3JPIXU8fhdZmU0pBGJCntJYEqywRuyFTkWmNiNg/wIXGdVc1kXCFK4TRcR1IVliKkAmKOnvUCP7+9QUTw9VyYG1Nytr9iyIaH0vOxzgvJ6UxXYHp5D+Kaz1S7u0llvZ4EfUsmIy0IZBEloWdbZ56n4CTBwa/kGRCZzn4aUZgYmFPOgmNSqDojKp6g3vpYGB069zuLNhovLW9FV3ZzFoV9rTmdQLcybrp4c1yZfROcqnPeNQyPv9bCtRvnH381xO9SzqhPI2etwG/ai1pYCX79GQVV7HL68j6KuDgcXXGaeut1f9ZsuLjHYaV36PDLGwDISKBxdIiHqdb+RkSTXb0sdKbQhBUDqS3+qFChiyFTLCNy+bSpc4W0p++jmrII2z1U7OLhPotvkAHjg94MZDzV76kUdzbxrzN7q0sTm7aP+sqZvuHooxxA0BeSzBAE3lQwYzPEUx3qSu+eGld6k9ZHIM0ftHgkDgk1d3ngknRfjbU2D3kw8u4GU+lvOpG5xe61RcqLBiV5RpIO2tBijltLhSxWooaBvqump7VGDy2PaW5ayB2209aC2+qxNzCNXfc8mPfSdarsbrDdeGjBpxYMD2eML02Q== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: b34fd1ef-9c40-400c-eeca-08dd319b862f X-MS-Exchange-CrossTenant-AuthSource: DU0PR08MB8255.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2025 17:23:39.8263 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 45u/j5b/pzRjVzSCA72DJezVRtd8g/N+6cG6WRfR8wHzBADYo1OmDwnHRtfnSStmAVkYUX1AfxE0HDHOkjFkUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7457 X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_NONE, TXREP 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~patchwork=sourceware.org@gcc.gnu.org It seems odd that we add "native" to the list for -march but not for -mcpu. This is probably a bug, but for now we'll preserve the existing behaviour. gcc/ChangeLog: * config/aarch64/aarch64.cc (aarch64_print_hint_for_core_or_arch): Inline into... (aarch64_print_hint_for_core): ...here... (aarch64_print_hint_for_arch): ...and here. diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 9b44d08f3e5fe6b4a7aa8f040e7001e3070b362d..f33034cbb205eb52b5ee5965b8b972cedf6f4927 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -18884,25 +18884,17 @@ aarch64_override_options_internal (struct gcc_options *opts) aarch64_override_options_after_change_1 (opts); } -/* Print a hint with a suggestion for a core or architecture name that - most closely resembles what the user passed in STR. ARCH is true if - the user is asking for an architecture name. ARCH is false if the user - is asking for a core name. */ +/* Print a hint with a suggestion for a core name that most closely resembles + what the user passed in STR. */ -static void -aarch64_print_hint_for_core_or_arch (const char *str, bool arch) +inline static void +aarch64_print_hint_for_core (const char *str) { auto_vec candidates; - const struct processor *entry = arch ? all_architectures : all_cores; + const struct processor *entry = all_cores; for (; entry->name != NULL; entry++) candidates.safe_push (entry->name); -#ifdef HAVE_LOCAL_CPU_DETECT - /* Add also "native" as possible value. */ - if (arch) - candidates.safe_push ("native"); -#endif - char *s; const char *hint = candidates_list_and_hint (str, s, candidates); if (hint) @@ -18914,22 +18906,31 @@ aarch64_print_hint_for_core_or_arch (const char *str, bool arch) XDELETEVEC (s); } -/* Print a hint with a suggestion for a core name that most closely resembles - what the user passed in STR. */ - -inline static void -aarch64_print_hint_for_core (const char *str) -{ - aarch64_print_hint_for_core_or_arch (str, false); -} - /* Print a hint with a suggestion for an architecture name that most closely resembles what the user passed in STR. */ inline static void aarch64_print_hint_for_arch (const char *str) { - aarch64_print_hint_for_core_or_arch (str, true); + auto_vec candidates; + const struct processor *entry = all_architectures; + for (; entry->name != NULL; entry++) + candidates.safe_push (entry->name); + +#ifdef HAVE_LOCAL_CPU_DETECT + /* Add also "native" as possible value. */ + candidates.safe_push ("native"); +#endif + + char *s; + const char *hint = candidates_list_and_hint (str, s, candidates); + if (hint) + inform (input_location, "valid arguments are: %s;" + " did you mean %qs?", s, hint); + else + inform (input_location, "valid arguments are: %s", s); + + XDELETEVEC (s); }