From patchwork Thu Jul 11 12:16:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Carlotti X-Patchwork-Id: 1959302 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=CEHR8XwS; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=CEHR8XwS; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; 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 [8.43.85.97]) (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 4WKYd71NhLz1xpd for ; Thu, 11 Jul 2024 22:17:15 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6A8C2387103B for ; Thu, 11 Jul 2024 12:17:13 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:260e::600]) by sourceware.org (Postfix) with ESMTPS id A90CD383FDD0 for ; Thu, 11 Jul 2024 12:16:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A90CD383FDD0 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 A90CD383FDD0 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260e::600 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720700206; cv=pass; b=L/y0bx/eem1eYYebh+z5jdPFSsEz61hJZ2xtAb/+gFYtDG9bg62/NIWvoGRuXKNQbdlUg1xVoCtFd1A93IPulrZToUvPVhFhjNMdwHwFhqLz90ruYGNDO8ok2JgeYpcTiFHH6XmqelD+mL+hg5EkNjYCXu1aC3LT2ogCE+a2Qlo= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1720700206; c=relaxed/simple; bh=lqkIfq5RK7tHNJz1iuj1ytHGlX6tjDFI7Spp0r+n3g8=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=GC0YXaG0K0aC3Wq6H/EFbiWclMUbZj8jh1BEYyTDm0vFui39cuh4+sslh4VVOlKG0a/5ZFZ91z6qQqndmf7KUqJfxvOQdKUSiZF/8fxJzIxQDRNsJcrVm8iGnChlyS0XZ+QCHYiAudXeroh1ZiD1wmha0VcpfSBFTz1pPYDYg4w= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=A7ENrriyegrv2fJqdmHCCteUnqkibzZWP7TQzWqxHEEsLgj/muqqruxedBftb3EWNDEEKUnFnY4twi0xqAz8pw+x9487gkFUWpbmybi2c96Mb+5pPr82fV0R4SPrD1ZHdPr3UUCudOCaw30bAaPjmJDOM+9vKHtu93CHSrWfI8XXI+WLzIewhW6pk5sTFFS8rFWOTQRPLuJNi88uzZtgaMVQrk9xWRO/IxjqFMiZ13vF8i9oIWxGKUX9icjTCF5V2nl1SeTvk5zFGOC5jbZbLC4HuCUaEJmxNHfW49bFbrnPcVu8lLsd08mqLx0DnoseVKgVKQPeVsgnDaD3liHksQ== 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=TpzC2rhrrcGZtVdc+SFbQTyTnfuj2yxqHzmplwXE1mY=; b=Qti7Xs3MOc92puyLtItzPOPZfM6s1aU6Zf0YbdQW6rXDm6q8YCY47YQEpW3++iuYzesuOAEnxGTuJovTK9ujv7jfCMNss4b+lB+XuwxhF5+nN/1gJyta7XdMJBL56ZaZ7JDoPhlQMeE3MchpcnizmF3pKibDyppOrI7MVp1FcmJ/Z5qMbD39E6L+NTyaVZTj148cNWiFR4TK9Xfaq3Rzv3kOr7eZTmLzZy26LbF2r0QrNaTjcMgQlIBQ6BwLX7J26IifvJUGgQuufJJ1O8ERloPuWlMsMbxJ9AKNVHxgzG6TtqA2BG0kM++SEiQPTu1buRuykQybXIGXzSVKDp9nuA== 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=TpzC2rhrrcGZtVdc+SFbQTyTnfuj2yxqHzmplwXE1mY=; b=CEHR8XwSRzIFS+G3RkKZmIL8opma+2txTNgSvhWdOHY5iVB9jIr72MKKQ4+O39m0qK+6ARIpscOKmzJSBfFd8hdgPteXgHx+NZjqpoN/6HXemrgTCTJMruTkVFX6YeeQwRkbwy+pqRevMxCJABnCCf5ItSz6MxAT5o69tHsAwV4= Received: from DB3PR08CA0008.eurprd08.prod.outlook.com (2603:10a6:8::21) by GV1PR08MB10504.eurprd08.prod.outlook.com (2603:10a6:150:15f::17) 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:16:37 +0000 Received: from DU6PEPF0000A7E3.eurprd02.prod.outlook.com (2603:10a6:8:0:cafe::a3) by DB3PR08CA0008.outlook.office365.com (2603:10a6:8::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.22 via Frontend Transport; Thu, 11 Jul 2024 12:16:36 +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 DU6PEPF0000A7E3.mail.protection.outlook.com (10.167.8.41) 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:16:36 +0000 Received: ("Tessian outbound 1bd2b4f45798:v359"); Thu, 11 Jul 2024 12:16:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: bbd56e7c7e104226 X-CR-MTA-TID: 64aa7808 Received: from 76d9f8661959.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 101D0078-014C-47E7-A265-2120B0CFC8D2.1; Thu, 11 Jul 2024 12:16:30 +0000 Received: from EUR03-AM7-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 76d9f8661959.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 11 Jul 2024 12:16:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Q23+qhJ6YaTHXEU3/Od+OUdJgv7QOwtzG+pKDbztZoRiMpMMUCrSHyyOGNaxLBh1yYs1qD1ao8fIlgszxjbIsj3TgYIKb8he420YghXkHbA3rKXyGoYAEChQ6EqZEJbiX5Sl3U7jyKABzQEakfX8oWzIH2lcU2UKZVYH5t+sd8+WtmBoXduVcIQpHuomcEIZDuFQtLHcFVQydRPk1jDXzz0gkal8UBJSshCMGeSYTnEPxu8dL5iE4HH+yGGTJxYqBc4n9KxaimhzcdyRDOwwp2kPslzz0TtmA6d7wpsZ3Ze0K4EXlDIHlycAflGThPs0dFRjkc/dQThvJQ7p0pawRg== 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=TpzC2rhrrcGZtVdc+SFbQTyTnfuj2yxqHzmplwXE1mY=; b=UowNWgPQczNLR2+wYcbhbQSMqJfvu95XzncHLZgN2VeJ5BgEx90XD6OWgSUbszvdWDnqv61SeKWSGiOii1Zii/8RpCfvzCcB/Mi0jRSCOnugthPZvDHDiJzhX+4O3vpRR2HekiylcSovzuUKGYFlFzkZ9YKdFvJl7r/4zYSn/CLjpHK7BRXeQhN4Usebb0x9OLNTF+nuK2MlrtivpkWUjhFYJKlJOMEenDmZWJQ/ij148ljC9PNy4sPdSEJjdGgIwAHfnyfwLBeFRjbzIBFaEvT2tU0WzVlvGDSGCHrHY2A1zTqiA7fjsSLchzb+rdI1lqR1SUC+22zl4RGiE8kcng== 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=TpzC2rhrrcGZtVdc+SFbQTyTnfuj2yxqHzmplwXE1mY=; b=CEHR8XwSRzIFS+G3RkKZmIL8opma+2txTNgSvhWdOHY5iVB9jIr72MKKQ4+O39m0qK+6ARIpscOKmzJSBfFd8hdgPteXgHx+NZjqpoN/6HXemrgTCTJMruTkVFX6YeeQwRkbwy+pqRevMxCJABnCCf5ItSz6MxAT5o69tHsAwV4= 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 AS2PR08MB10321.eurprd08.prod.outlook.com (2603:10a6:20b:5e4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Thu, 11 Jul 2024 12:16:27 +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:16:27 +0000 Date: Thu, 11 Jul 2024 13:16:23 +0100 From: Andrew Carlotti To: gcc-patches@gcc.gnu.org Cc: Richard Biener , Richard Sandiford , Jeff Law Subject: [PATCH v2 11/11] aarch64: Extend aarch64_feature_flags to 128 bits Message-ID: References: Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO2P265CA0203.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9e::23) To AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6678:EE_|AS2PR08MB10321:EE_|DU6PEPF0000A7E3:EE_|GV1PR08MB10504:EE_ X-MS-Office365-Filtering-Correlation-Id: 86380c58-128b-420c-3198-08dca1a34f7e 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|376014|366016; X-Microsoft-Antispam-Message-Info-Original: vlmWbmAODNii93PTf5g3fjbpH288IY8oOonnY6QiKbKbSru93MsrVEI8+/Mzt1zqrto0Sm80OuF8ssFN/Ni3W2K4VZPRNgvI2v81QJFo2TQeIR4hwhkP2UvaOMA2tmD9vvkj4b7p7/O9bYQu4pKG8wQ6emsq+PMyh90ynKLIvygLbXZiKTMI0YJXMWhKNLB+QvlYvRZRgQP+0wMjg0uy+hkXT2ZUGMREvaD2JWR9bQKYZ4pVHQaMTyQMk/Ihy+vB7faFUk3PRFlarAY+CAtkpd32IK46Nigx+q3tVPsbQDBq1Mgz98/KWf0EvhfoabHqvEIy1LoXlBoEUzqMYG0ze88+66hSjKn21RmYejZ3hctWhPnqXPiShQpNx3JDgux3/s6WlnQpVX5E5aMtnGgpFL6J3gn9OUaIH5FKgw1xhwrZCSWTMUfPdLNHWQJZ3J+c3dWtD3UrYfscMbdMkMaBU0KLu85wDp9fOupWP3CO3+Bw4y+LxY3/B8W60F92WngJ5J7qecBeyn7OKuqIPb6o2u1jkVoRmk6JIvXQatF30gt5PzQeGa1aw59Ar0wRbcJSyvfmqNC9W5QEi10aLEN7Y8CgDtzrqgsFvIgpdMxLEaGOA8tFDEYJcNq2OwcTPoM6CgH58V9GOZxPSFApnyHqpnP2S/Huoyc7hyH9gbKj/isemZV4LV349LSopJBgaPmFzixH6iY6NMwGzrhRsLD6tMxsKMszs4bsf1NbGYuJ4/oF3FwOkTyc0/t+vIcCwFJW6NiGysgooX2fXpyJQwgSQG2cgJRwzWY7aCT2Y0jmblpCe4vABUsv9yy/ZJplKXx4CBNpdfGNSqHOFGHmXbzSNZgnUSg/G/uxoy224mx7ad8C/Tcs6+0MQuT0QmXSZY3Cg5ic+qJRWxp6etLwWEcYHfHAAbxzhAn9WvQclzJhiqvjNc3Nv/xe2ypV8Fm2Dz/NPOYzVY6m1Zc+v/zDZ0O+W+gAgCw5dJXxH+QcWfrdiBaB7DirANItdCD2HXA3kBHapsJGnxSBzcLhlI20e6skQBeQhPpguSqn1tgZKqLtI9WPci4x2ksBZhQrBczQih3CoJhdbuqpO6cBC1qrXfV2KUwssnCNtU68bgWUZgz+O/qQXRSl2Fsqqu4Y2vu2fRaswViU62PG5HtOtcONfy53K/nZy4fIvKkEKizNlgDZQFGbxdHplaEmBv+6Btni7TSLTJ0r/v09SuD9OnNZ3af7WTtWIaUvevkwaJxeUep3RmZe8jpAucVS/Toq4nRaQ69Q/3vfkWYtgS6WD1p0AIp5773WexlWxZZJNyEDoCX+RK31igUi3QYj90w3ACncxAA/9Z8MQhIXSnkRPh10d51Fxw== 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)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10321 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: DU6PEPF0000A7E3.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 4692d4f5-25bc-44ec-437f-08dca1a34a49 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|35042699022|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: Lbmld8qvFhW8/qbKeG+RKuX5q8lETX96cldxJh/Fhyq1DoKlvYP2izrX4XNb/DlSJOZ5HUyaV5s3M+Uosyk2CdiZR2ev8zTy/OyfwjdZtnVlazO1n3B+oFvnBTF2kNP5o0E+6rM8y92pFPkTRU1U5RyZZzGeUW4LBM4MYPJr7CKxY3uHQLJ0lQsrnL8gA01hvZ/C+4PA3tDUnUYHbVthr5qWzZdMMYPs7HN5W8XK1AkM/bwe3yJQ78ba1D4FsNuURABM2mkI1Y94shTBG/AHa13uNR89gL11lwzv5cYxHDByWBiHN6kbzc/sVp9Ka2iVPAlVNGdCWNLg3W528ya+VU4m+7GBonZGSYJY8cKBkQlNZn+WY+oiE1Wj+6rkMC42UXRt4WvyGGRfOsxgxpfztyRgkUqdjcHU50RkE9LWRuMi2P9yH5KKmT20BL5RUjM2dzV9JokpUkyTdsD2AlTDUUx3FIlJ1i6vL2/jgHVr2CQ3WaN3XB/js+4yt2yVR9ogl91ZdDG0NUcyU/ISZQQXPX4Ylgf+oLtBrH/pn97d7ZsiCniutn1AoN0QCZsKnIkeQH4miz/pIUjcq5SHr6VppwjGnf/SR3piQIW5zuojscqnnRfy+MQsOhksGQqU4Qk7a58VljXEenEN4PsBQ0zn6YzEgJpDPeTRZvqK8uuAWWoGYpWcAL12C3wFTb6o6NrWiD3t6J9f5GJ7JgisM9xyOEMIHoN9IXTvOkN1kLd/qGQAasDsYrdS/LxlziJJW2LUOCFqLMmkmp8eEpK9m2UnlOm6VJV2s3dz29ia7wm6wyrExYA2x6kRdnLgonhdMFfmjyGA8byEnk+jdx9YC8YedcMXQgLUBhZeVyDG+T2JJTzs+Y2H1rHgKEvQBcRFQcr6pJpi64cA1G2Ne8EOefC38rvNiVdIuH64wWYyTkjXcocnKSqBtyakJO0WR/ovS66ew6LkxCbz1VLCu4BQkIDsB6bANTdedMGaiEmkFa5T9F6ZdrFzxsvsmWN2eUZeztzMJlRY8u4ZaY/Bt1/QHcwIZP4i1toUMVzry3Zuls0dEvUZ4KW9ohMdP7kLcDhhCZsqzMjyrZh1Ws2TqU9eUGVlstmDw8Vc9UDw4qQXuSbBsaW66SbudUvyfDe73WZ3nW0vy2o54KCIWmWYgkR4fxBIuHs/qiwcwA0C3UGe7PXp2aLBLqQrwu0LRtRIImIQG0TfFOeXvowTxH8wOOlumM34X7vAw0CYQTdzJzKZVusBmkTpAG5avlpZB2x1SJOWNDeg4MDL7uI1MnynWbn9tB10NL+nbAsWr25qf0buZs7A8tK950ZJl8escyyXOa464YhYk3okJBwEQ9jx/46aGiWMdhK3bjLHihSgOxVAYGka7+w9bGF/A5E0pG+rX+sjI70kQvYzv0++u/cEV/Qysyde+CNQh3cgtFE5VPsTacMGaR0teBdngXSzioK4OeoMocuH 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)(82310400026)(376014)(35042699022)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jul 2024 12:16:36.4866 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 86380c58-128b-420c-3198-08dca1a34f7e 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: DU6PEPF0000A7E3.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10504 X-Spam-Status: No, score=-12.3 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_DNSWL_NONE, 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 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 Replace the existing uint64_t typedef with a bbitmap<2> typedef. Most of the preparatory work was carried out in previous commits, so this patch itself is fairly small. gcc/ChangeLog: * common/config/aarch64/aarch64-common.cc (aarch64_set_asm_isa_flags): Store a second uint64_t value. * config/aarch64/aarch64-opts.h (aarch64_feature_flags): Switch typedef to bbitmap<2>. * config/aarch64/aarch64.cc (aarch64_set_current_function): Extract isa mode from val[0]. * config/aarch64/aarch64.h (aarch64_get_asm_isa_flags): Load a second uint64_t value. (aarch64_get_isa_flags): Ditto. (aarch64_asm_isa_flags): Ditto. (aarch64_isa_flags): Ditto. (HANDLE): Use bbitmap<2>::from_index to initialise flags. (AARCH64_FL_ISA_MODES): Do arithmetic on integer type. (AARCH64_ISA_MODE): Extract value from bbitmap<2> array. * config/aarch64/aarch64.opt (aarch64_asm_isa_flags_1): New variable. (aarch64_isa_flags_1): Ditto. diff --git a/gcc/common/config/aarch64/aarch64-common.cc b/gcc/common/config/aarch64/aarch64-common.cc index bd0770dd0d84005701afed35d4af356380a405e9..64b65b7ff9e4bf7c72bf0c5db6fa976a51fe9f32 100644 --- a/gcc/common/config/aarch64/aarch64-common.cc +++ b/gcc/common/config/aarch64/aarch64-common.cc @@ -67,15 +67,19 @@ static const struct default_options aarch_option_optimization_table[] = }; -/* Set OPTS->x_aarch64_asm_isa_flags_0 to FLAGS and update - OPTS->x_aarch64_isa_flags_0 accordingly. */ +/* Set OPTS->x_aarch64_asm_isa_flags_<0..n> to FLAGS and update + OPTS->x_aarch64_isa_flags_<0..n> accordingly. */ void aarch64_set_asm_isa_flags (gcc_options *opts, aarch64_feature_flags flags) { - opts->x_aarch64_asm_isa_flags_0 = flags; + opts->x_aarch64_asm_isa_flags_0 = flags.val[0]; + opts->x_aarch64_asm_isa_flags_1 = flags.val[1]; + if (opts->x_target_flags & MASK_GENERAL_REGS_ONLY) flags &= ~feature_deps::get_flags_off (AARCH64_FL_FP); - opts->x_aarch64_isa_flags_0 = flags; + + opts->x_aarch64_isa_flags_0 = flags.val[0]; + opts->x_aarch64_isa_flags_1 = flags.val[1]; } /* Implement TARGET_HANDLE_OPTION. diff --git a/gcc/config/aarch64/aarch64-opts.h b/gcc/config/aarch64/aarch64-opts.h index 2c36bfaad19b999238601d44709c280ef987046b..80ec1a05253da62b20eebb5e491f04c6da6851e7 100644 --- a/gcc/config/aarch64/aarch64-opts.h +++ b/gcc/config/aarch64/aarch64-opts.h @@ -23,14 +23,16 @@ #define GCC_AARCH64_OPTS_H #ifndef USED_FOR_TARGET -typedef uint64_t aarch64_isa_mode; +#include "bbitmap.h" -typedef uint64_t aarch64_feature_flags; +typedef uint64_t aarch64_isa_mode; constexpr unsigned int AARCH64_NUM_ISA_MODES = (0 #define DEF_AARCH64_ISA_MODE(IDENT) + 1 #include "aarch64-isa-modes.def" ); + +typedef bbitmap<2> aarch64_feature_flags; #endif /* The various cores that implement AArch64. */ diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index 902de6bd269d7111186d58248d1d2e1614217fa2..8056c33795738b779bc14697803da3eee04fe330 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -23,17 +23,21 @@ #define GCC_AARCH64_H #define aarch64_get_asm_isa_flags(opts) \ - (aarch64_feature_flags ((opts)->x_aarch64_asm_isa_flags_0)) + (aarch64_feature_flags ((opts)->x_aarch64_asm_isa_flags_0, \ + (opts)->x_aarch64_asm_isa_flags_1)) #define aarch64_get_isa_flags(opts) \ - (aarch64_feature_flags ((opts)->x_aarch64_isa_flags_0)) + (aarch64_feature_flags ((opts)->x_aarch64_isa_flags_0, \ + (opts)->x_aarch64_isa_flags_1)) /* Make these flags read-only so that all uses go via aarch64_set_asm_isa_flags. */ #ifdef GENERATOR_FILE #undef aarch64_asm_isa_flags -#define aarch64_asm_isa_flags (aarch64_feature_flags (aarch64_asm_isa_flags_0)) +#define aarch64_asm_isa_flags (aarch64_feature_flags (aarch64_asm_isa_flags_0,\ + aarch64_asm_isa_flags_1)) #undef aarch64_isa_flags -#define aarch64_isa_flags (aarch64_feature_flags (aarch64_isa_flags_0)) +#define aarch64_isa_flags (aarch64_feature_flags (aarch64_isa_flags_0, \ + aarch64_isa_flags_1)) #else #undef aarch64_asm_isa_flags #define aarch64_asm_isa_flags (aarch64_get_asm_isa_flags (&global_options)) @@ -167,8 +171,8 @@ enum class aarch64_feature : unsigned char { /* Define unique flags for each of the above. */ #define HANDLE(IDENT) \ - constexpr auto AARCH64_FL_##IDENT \ - = aarch64_feature_flags (1) << int (aarch64_feature::IDENT); + constexpr auto AARCH64_FL_##IDENT ATTRIBUTE_UNUSED \ + = aarch64_feature_flags::from_index (int (aarch64_feature::IDENT)); #define DEF_AARCH64_ISA_MODE(IDENT) HANDLE (IDENT) #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) HANDLE (IDENT) #define AARCH64_ARCH(A, B, IDENT, D, E) HANDLE (IDENT) @@ -191,7 +195,7 @@ constexpr auto AARCH64_ISA_MODE_SM_STATE ATTRIBUTE_UNUSED /* The mask of all ISA modes. */ constexpr auto AARCH64_FL_ISA_MODES - = (aarch64_feature_flags (1) << AARCH64_NUM_ISA_MODES) - 1; + = aarch64_feature_flags ((1 << AARCH64_NUM_ISA_MODES) - 1); /* The default ISA mode, for functions with no attributes that specify something to the contrary. */ @@ -210,7 +214,7 @@ constexpr auto AARCH64_FL_DEFAULT_ISA_MODE ATTRIBUTE_UNUSED #define AARCH64_HAVE_ISA(X) (bool (aarch64_isa_flags & AARCH64_FL_##X)) -#define AARCH64_ISA_MODE (aarch64_isa_mode) (aarch64_isa_flags & AARCH64_FL_ISA_MODES) +#define AARCH64_ISA_MODE ((aarch64_isa_flags & AARCH64_FL_ISA_MODES).val[0]) /* The current function is a normal non-streaming function. */ #define TARGET_NON_STREAMING AARCH64_HAVE_ISA (SM_OFF) diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 229e438115c268f876c6d77e1fcc4faa2f7d231b..0d9e80d85b207e547d114e215096238eb17cc8bf 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -19121,7 +19121,7 @@ aarch64_set_current_function (tree fndecl) aarch64_pragma_target_parse. */ if (old_tree == new_tree && (!fndecl || aarch64_previous_fndecl) - && (aarch64_isa_mode) (isa_flags & AARCH64_FL_ISA_MODES) == new_isa_mode) + && (isa_flags & AARCH64_FL_ISA_MODES).val[0] == new_isa_mode) { gcc_assert (AARCH64_ISA_MODE == new_isa_mode); return; @@ -19136,11 +19136,11 @@ aarch64_set_current_function (tree fndecl) /* The ISA mode can vary based on function type attributes and function declaration attributes. Make sure that the target options correctly reflect these attributes. */ - if ((aarch64_isa_mode) (isa_flags & AARCH64_FL_ISA_MODES) != new_isa_mode) + if ((isa_flags & AARCH64_FL_ISA_MODES).val[0] != new_isa_mode) { auto base_flags = (aarch64_asm_isa_flags & ~AARCH64_FL_ISA_MODES); aarch64_set_asm_isa_flags (base_flags - | (aarch64_feature_flags) new_isa_mode); + | aarch64_feature_flags (new_isa_mode)); aarch64_override_options_internal (&global_options); new_tree = build_target_option_node (&global_options, diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt index 45aab49de27bdfa0fb3f67ec06c7dcf0ac242fb3..2f90f10352af75f70112d07894ab200f48b143f4 100644 --- a/gcc/config/aarch64/aarch64.opt +++ b/gcc/config/aarch64/aarch64.opt @@ -33,9 +33,15 @@ enum aarch64_arch selected_arch = aarch64_no_arch TargetVariable uint64_t aarch64_asm_isa_flags_0 = 0 +TargetVariable +uint64_t aarch64_asm_isa_flags_1 = 0 + TargetVariable uint64_t aarch64_isa_flags_0 = 0 +TargetVariable +uint64_t aarch64_isa_flags_1 = 0 + TargetVariable unsigned aarch_enable_bti = 2