From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2079.outbound.protection.outlook.com [40.107.7.79]) by sourceware.org (Postfix) with ESMTPS id 079B33858D32 for ; Tue, 5 Dec 2023 19:34:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 079B33858D32 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 079B33858D32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.7.79 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1701804887; cv=pass; b=Zb5ThW8ekuQ4Rj2S9pqO7b12LoBShwNMzETwKuQE/JaEuzx4RCUiaN5777LBBrn7Ad0BNrRffMyVooIkppZnVGLnfudjcYm8VFFvFjNbpeHZTMJbPaJSic67qU5ERwShzpYu35Rjgyg5iAmRUb3aXd5kqeAfBepWexMbcrNye0w= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1701804887; c=relaxed/simple; bh=mPsmMJ9VAVZn1RUBzVwYfFYdoazOns3bpCHf+qzeXN4=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=JKXJKpNUz3EktE1ZWwchTbHKf+fSTFgL06arFkZh3whIxMzaYFyHUj4xlr0rv+0hIbELzYaT+pr7D3LSYRcd5queed9nNLFKglii6aaFRUJb/IgPspHmWLBuNuRSoTgflWj2BEf3x7DIE+q+liWJjmM7uVbHhKEvMfpS+1ksDls= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=TYo3seXXZrwyqyit0L9tnLrp4tKPfTtMzry5oIFIm7Jjb46+m9Dchqr200V8XvGfuAZFI9U2dVntsHXB5/wjKxQqWCdpyXb7eOowRobNJWYwzeTwGBaZyuCY3iol66dqjn7RftjsD1BJWDgJWIlHLBwhjKerjfwsBcytuO0mXOabW0kI+DIhVbOkuzQ4VTG6el02jbszR6DTMA4w8F0pmeb9V0QImpk4Yh7ojijkUdm1kolo7U11FDK1pGEBzlV3bF1EHDmJujOWUsrxmZCUet05qXkzSbvQsMZ1bLM/9mlnUgGtdJNvCE6yeh3MuRB+LbGj3zTX1QGGYk9MK7NNiw== 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=AyyBeEb0M3G6lQdHTuC+Obwxq3t2sUdG4YlRSewbfH0=; b=kfTCmTz2tC51HPmkfvDSDITYnb8xdyUPlYq1ECbaMDLPGuw4tmobLpLzgbdBUKTJ4hv4rYrNfdZbjBLtSGkG5bQ7RxL47aARgH1R7FfmCGzlU6IB/UQ7N9Ei3qyUHt5NwlYopCVoJxC5QQXUBaOXBVDavCgB5WXzv2dbwlq646/BJIeborCJGic6Zi9xm/LG28LGvqxi/xuvrndUubSGX0PAzXJGqPBqMdHcL9fcWo7vXSQBw4QKLzQvFedu0DhzuS7C1mgxyIo+vA/yPvWapqonBeU5J+8PJoBURBfOacb/4qW0i6je/8kI0HxGB6uQF92dUHFQTRu2SAerpqHzEA== 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] 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=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AyyBeEb0M3G6lQdHTuC+Obwxq3t2sUdG4YlRSewbfH0=; b=XClCcOU2ylXBLoynxBVo/0Qyci/1D8AzOxG+zaYrK1uEkoKLmJj1pMMNAxAYqEob/OwjKVIrkWQWIdwk/XjGaL+5opyOCFPx2fOmcRPIPJYogmW8T5c7Qe8xmpePCF2O703zQJe7VKLfBUuFnqhKIonlJltzpuuFG7nRd1ytqTQ= Received: from AS9P251CA0007.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:50f::9) by DBAPR08MB5656.eurprd08.prod.outlook.com (2603:10a6:10:1a2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Tue, 5 Dec 2023 19:34:38 +0000 Received: from AM2PEPF0001C709.eurprd05.prod.outlook.com (2603:10a6:20b:50f:cafe::35) by AS9P251CA0007.outlook.office365.com (2603:10a6:20b:50f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34 via Frontend Transport; Tue, 5 Dec 2023 19:34:38 +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 AM2PEPF0001C709.mail.protection.outlook.com (10.167.16.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.20 via Frontend Transport; Tue, 5 Dec 2023 19:34:38 +0000 Received: ("Tessian outbound e243565b0037:v228"); Tue, 05 Dec 2023 19:34:38 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 08988a300e96dfcc X-CR-MTA-TID: 64aa7808 Received: from 3a7a9afad675.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 581117F9-D783-4FDC-85A5-0BFB2E2A3CE9.1; Tue, 05 Dec 2023 19:34:26 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3a7a9afad675.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 05 Dec 2023 19:34:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GrAH/VMoCQJNfgYsbynNYssrVizGM9jB5+MPxcoVa4HWe+0xIdFkmchYMxBFXyw0Qem+bCr5K3ug5XXvE/xc2M8teebntl845gBHA3gPlL82E4jX5P4hTp1NIY/1Rm/QxWXl3g0cWI3pBUyVDx9uguqsCX3VCdx/kw10foI8QhoZLDRPZbSyJ0Er4mOF7rss5spxgcL+X4JCcpIjdwkjpVrKsqUqEAHpyCbpEG2a2YppfZLUyCgZyREKs3qg5oW8DToc70RjrRcu+b87DhZTVaOPKPipumpQ+U7uO84frgWfWQk4IAU5EFVIU40XbklUrsmtaqnEzLE6LqQ7RoSe9w== 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=AyyBeEb0M3G6lQdHTuC+Obwxq3t2sUdG4YlRSewbfH0=; b=ejw6CxhXTxqWaDYS+JG3a5JxkS9GN0kSZEqjmp2TOh/poCKRWmJTI+u/DDtsaHsiQs4pTwY7T6zPvtIi85murUhyYOLIgT6rhp5DrlovK/GoENWIm1lNtQSpBHpZzuAs4QLFMxxuNALPmYckxAiusJTKwd9UbmLIaoltLMY3XfXsAErzOSsX5aJOTqnzJhSPK6ISw/qpcb5P1vv12wevTN/ySzLBiaGMiSxolIECAgpRPl6/o2hjC9Qbl729ow0Ga/pcZAsT2wVH+LCgKUM8ZNADIihyjD11RF+Q5uXtEbSeogzaW+zAbHbN+uiL1aURcFn7iS6n29zWXnxVGJO5ug== 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=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AyyBeEb0M3G6lQdHTuC+Obwxq3t2sUdG4YlRSewbfH0=; b=XClCcOU2ylXBLoynxBVo/0Qyci/1D8AzOxG+zaYrK1uEkoKLmJj1pMMNAxAYqEob/OwjKVIrkWQWIdwk/XjGaL+5opyOCFPx2fOmcRPIPJYogmW8T5c7Qe8xmpePCF2O703zQJe7VKLfBUuFnqhKIonlJltzpuuFG7nRd1ytqTQ= 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 PAVPR08MB9652.eurprd08.prod.outlook.com (2603:10a6:102:31c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Tue, 5 Dec 2023 19:34:24 +0000 Received: from AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::af15:c9d7:cd8c:6da2]) by AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::af15:c9d7:cd8c:6da2%7]) with mapi id 15.20.7046.034; Tue, 5 Dec 2023 19:34:24 +0000 Date: Tue, 5 Dec 2023 19:34:21 +0000 From: Andrew Carlotti To: gcc-patches@gcc.gnu.org Cc: Richard Sandiford , Richard Earnshaw Subject: aarch64: Fix +nopredres, +nols64 and +nomops Message-ID: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-ClientProxiedBy: LO4P123CA0045.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:152::14) To AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6678:EE_|PAVPR08MB9652:EE_|AM2PEPF0001C709:EE_|DBAPR08MB5656:EE_ X-MS-Office365-Filtering-Correlation-Id: ea5217d7-ea2e-41cc-2055-08dbf5c9382d 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: dCdRGIToeXAM4XGreL1FebH9kk+2A/3k9g4+leqAukCTc4Mzgkx8T8uizZ9hLyU/AYsUAI0wGKFcmNKBwz0c99vqqqayO3DM2b8Dx2mnuLGZikZFcjZFvEticcf8G7yi7ZurKOWx3Jjpts8SquFy8tWOjv8VSl0i3026ub7QqXv79VdQcYLv237UmUHezzT8G+NbErSEuB+njAklh6WBh/KoHAfJlj4l6NJH/iWZjOWG/HzDJ9OVi/r/THn33hRETiDU5nRtIrO1OZExSfw+O9HbXkWQPqkpLx9Z58RwNXDwO8kSnXTUlNGSV5LA+x4YM9xoZlt0L7MsS1HLtnyD9f3dp+NP8E6Bv2cAZpVJ/V9GpZ94gUGvrgT9e2jmA6E+bKoQ6Caq6r1sLx1+ybGfvkoI/JCJvaIbg3NkV1PU0BaL0eSXDfSGjlQHMQrf9PW+SA8E5ISOjHJgCdjNXHwEfWa+Huj3568NASDbj6/KbSPWneWpIWaTUXg3/2z0dhvkFP3nPoAkxEMZbSNSBhRN0EIbFutGVEtztPFIRiQd7sg= 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)(376002)(346002)(396003)(39860400002)(136003)(366004)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(41300700001)(5660300002)(2906002)(44832011)(31696002)(86362001)(31686004)(6506007)(6666004)(83380400001)(6486002)(478600001)(26005)(6512007)(84970400001)(66946007)(38100700002)(4326008)(8936002)(66556008)(66476007)(8676002)(316002)(54906003)(6916009);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9652 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: AM2PEPF0001C709.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 9974469b-ae0e-46f7-e230-08dbf5c92fe9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Fe/CYQcY1lznsLsBsAoCj2ouzRtvLSnO5kTfuM57FxwTpD+R9cB5QrvFU9pCd7QlChn4/LJmNoth89NX1EFwTeqlLrUriR95WQbOBCu8CYZ7HxR8uq3O96ioA4zVIVGU7MvvfKRgoNhs0wjPskwX3bRWhG2dqPuza6L411+2pVWbaxDol1KeguknUHrzefnSrGJ6PhRIBaH7ZRKyKgTlu/15g/7hp1ZArv8DPX2/GCg9J193Xd3qpvjcGwm0vcQ09HM9K9+wqcHR6rldun9563blfwSpmm1ICu4Hw5w6tcxcV9b05j0xh1VnmGjCbikA9LYTVvh1Fn68PQsk+rgOmoJAyN6uiCfzdDml8XN3NrsKjeXbYWBgGUb4rBzg/9II41LfQq1lCzpnvetGzCv2W0zN30/Qg6oSh0n3du3HoGJ6mPjx85jNW0OA17cOH/a0Smw0VitfDvdkIJ2FX+3ua8lDTaHRolSr6s5bXpOX+pXCLWZuFiA7gK56V7JObJjqSuNKYhFyHiOYbAXMQP9s9plgdf6LMN0JKGKnuZYUzzIW74ar4MQzIGArKM+PlyuBxCKED/p6QzkZ8VhB1aUONyn4RnWME8lAW+0TGZUWvlKXT6m8VBV/dmsZVakVIcTrKlDJVut4nQcvlpvcvg5c1VM7IC0pxLz/hSQ+3j/FOmI6f3qEonPxh4rtUFoqV7ruUambeDP1oM6+b+xMCT/RjWxlLI2xTrGaPh6Hv3j0lE0= 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)(376002)(39850400004)(396003)(346002)(230922051799003)(64100799003)(1800799012)(82310400011)(451199024)(186009)(36840700001)(46966006)(40470700004)(54906003)(6916009)(70206006)(70586007)(8676002)(4326008)(8936002)(316002)(478600001)(6486002)(40460700003)(6666004)(5660300002)(41300700001)(2906002)(44832011)(86362001)(31696002)(356005)(6512007)(40480700001)(84970400001)(83380400001)(81166007)(336012)(26005)(31686004)(6506007)(82740400003)(47076005)(36860700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2023 19:34:38.2145 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ea5217d7-ea2e-41cc-2055-08dbf5c9382d 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: AM2PEPF0001C709.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5656 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_LOTSOFHASH,KAM_SHORT,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 List-Id: For native cpu feature detection, certain features have no entry in /proc/cpuinfo, so have to be assumed to be present whenever the detected cpu is supposed to support that feature. However, the logic for this was mistakenly implemented by excluding these features from part of aarch64_get_extension_string_for_isa_flags. This function is also used elsewhere when canonicalising explicit feature sets, which may require removing features that are normally implied by the specified architecture version. This change reenables generation of +nopredres, +nols64 and +nomops during canonicalisation, by relocating the misplaced native cpu detection logic. gcc/ChangeLog: * common/config/aarch64/aarch64-common.cc (aarch64_get_extension_string_for_isa_flags): Remove filtering of features without native detection. * config/aarch64/driver-aarch64.cc (host_detect_local_cpu): Explicitly add expected features that lack cpuinfo detection. gcc/testsuite/ChangeLog: * gcc.target/aarch64/options_set_29.c: New test. diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc index ee2ea7eae105d19ec906ef8d25d3a237fbeac4b4..37e60d6083e290b18b1f4c6274123b0a58de5476 100644 --- a/gcc/common/config/aarch64/aarch64-common.cc +++ b/gcc/common/config/aarch64/aarch64-common.cc @@ -357,8 +357,7 @@ aarch64_get_extension_string_for_isa_flags } for (auto &opt : all_extensions) - if (opt.native_detect_p - && (opt.flag_canonical != AARCH64_FL_CRYPTO) + if ((opt.flag_canonical != AARCH64_FL_CRYPTO) && (opt.flag_canonical & current_flags & ~isa_flags)) { current_flags &= ~opt.flags_off; diff --git a/gcc/config/aarch64/driver-aarch64.cc b/gcc/config/aarch64/driver-aarch64.cc index 8e318892b10aa2288421fad418844744a2f5a3b4..470c19b650f1ae953918eaeddbf0f768c12a99d9 100644 --- a/gcc/config/aarch64/driver-aarch64.cc +++ b/gcc/config/aarch64/driver-aarch64.cc @@ -262,6 +262,7 @@ host_detect_local_cpu (int argc, const char **argv) unsigned int n_variants = 0; bool processed_exts = false; aarch64_feature_flags extension_flags = 0; + aarch64_feature_flags unchecked_extension_flags = 0; aarch64_feature_flags default_flags = 0; std::string buf; size_t sep_pos = -1; @@ -348,7 +349,10 @@ host_detect_local_cpu (int argc, const char **argv) /* If the feature contains no HWCAPS string then ignore it for the auto detection. */ if (val.empty ()) - continue; + { + unchecked_extension_flags |= aarch64_extensions[i].flag; + continue; + } bool enabled = true; @@ -447,6 +451,13 @@ host_detect_local_cpu (int argc, const char **argv) if (tune) return res; + if (!processed_exts) + goto not_found; + + /* Add any features that should be be present, but can't be verified using + the /proc/cpuinfo "Features" list. */ + extension_flags |= unchecked_extension_flags & default_flags; + { std::string extension = aarch64_get_extension_string_for_isa_flags (extension_flags, diff --git a/gcc/testsuite/gcc.target/aarch64/options_set_29.c b/gcc/testsuite/gcc.target/aarch64/options_set_29.c new file mode 100644 index 0000000000000000000000000000000000000000..01bb73c02e232bdfeca5f16dad3fa2a6484843d5 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/options_set_29.c @@ -0,0 +1,11 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=armv9.3-a+nopredres+nols64+nomops" } */ + +int main () +{ + return 0; +} + +/* { dg-final { scan-assembler-times {\.arch armv9\.3\-a\+crc\+nopredres\+nols64\+nomops\n} 1 } } */ + +/* Checking if enabling default features drops the superfluous bits. */