From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2061.outbound.protection.outlook.com [40.107.105.61]) by sourceware.org (Postfix) with ESMTPS id D06373858D20 for ; Wed, 10 Apr 2024 12:34:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D06373858D20 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 D06373858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.105.61 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1712752446; cv=pass; b=ndqcL39QhTvupw410Y+w+JDqK6yIp2WW548Rk0l9MnZUSOlIfDilVx5v+swj0yU3x5bj1mf9f6K+YXMGc0wLTA05dWpqMMyWCp3mLLF1YYxOAvc00WSK7uTQpXZLKqE03aPGnB3g4Ww3HCFGx+i/+Hi4cOjgAGPUhYsZNn5JkUA= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1712752446; c=relaxed/simple; bh=JQt6oLxELvKvp31WM8l91CZZonvAUzsRCL8h6AAzEDc=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=nw3tSFhUi/1Sis5ml+epb7gEREklVEtvJntAOUH2LX+/rgiyvjgSX9Gj976IGbiSA0XjIZvB+Ack5QXAkimNayCUaweAJEm9zf+h6SOcQyWITRpGGonfXI3kU3bcOxW0weIgryXgYTrxJb3mJufOBrH3yf57kmBRsIuRrna+AXs= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=BtEg3t3vn+K+yfrhMIR7+6hqEjecPGl1/CKiCWHQgpHrXfGSuMsu2mMbJ4Zx20XFxuKN8ng+vIXEG8TUhE9GmFTURKKd8ayjXRfXOQ0YFe1FpuqzuRQrTiLTpUYtBt4N26dwKTwKRvjXpwSwwDy0TGKdhVQbcIZFlHsLTVtdO4fQKtzq9puFJ+y0gK4JRH4vjU62427dBGaF53yMif5NxL7lQ26CKgml7KdjgN4oqfYeWR8200ivVaRRL+9UA4mSSgG+GdHMkuMD2RG0hODwfi3TF3I9xs9hgot8aCJWgHvUiGVEK3Z3kTpOoTW/XtmDeUleUQr5FhQar+prs3V43w== 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=epVE3CxducelfjKKNaTzuAX+pJqltuoVY3A2TBQ5vNg=; b=Nxtrz/gZ8/cIg5/fw3flgGSU2d5lfokBYs4zPQ366JVztKAHGM0qKJav010nYzvE2oHo+ytc5Nr6bH0F5O76yTr//CJrJzKfdHb3UOjIMhX1DsyDmOxvur3n7EkYcdx17M0cFS3mnqUladzO9tk1jJ2lT+l/gLbceoM780aC0/uVjJXMrY2yD8wYs9HZo0JDYiCMGlxSdhLD2/VrskKLO49qYrF4zFqSFplCVV45PR23/6u7MS3mEnqPahtH2XekXOlIxxpL5XQmBoFWPyOAriDzDNND/0f/u5ZIPWbn+Aen3xuTyJAEeAAZqepphJtFlGDDcx5pIhNfRJQG4GF0IA== 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=epVE3CxducelfjKKNaTzuAX+pJqltuoVY3A2TBQ5vNg=; b=6kpQRGvTPHvvCWr/aG9I/44YY/zfJ8uP334URExsEvB3IJtNcjTDJHMumTTwC4O2rs3NSKmlHbJcLCu7fCUX6mh88DWkIsU+DB1uSJCkAQ0LhapI2RvKDBu9ytBJNfMAM+XssUG7CE8hzgMDBx2WFjvB04mdFO0+f90Fre3vkvw= Received: from DB8PR09CA0008.eurprd09.prod.outlook.com (2603:10a6:10:a0::21) by DBBPR08MB10433.eurprd08.prod.outlook.com (2603:10a6:10:52f::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.45; Wed, 10 Apr 2024 12:33:58 +0000 Received: from DU6PEPF0000B61C.eurprd02.prod.outlook.com (2603:10a6:10:a0:cafe::66) by DB8PR09CA0008.outlook.office365.com (2603:10a6:10:a0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend Transport; Wed, 10 Apr 2024 12:33:58 +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 DU6PEPF0000B61C.mail.protection.outlook.com (10.167.8.135) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 12:33:58 +0000 Received: ("Tessian outbound 9d16f63426bd:v300"); Wed, 10 Apr 2024 12:33:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: dec8d46a8dff239d X-CR-MTA-TID: 64aa7808 Received: from 7f871fa17aa6.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C7E00573-CF2D-4DE9-9F48-42DD90C25B8F.1; Wed, 10 Apr 2024 12:33:47 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7f871fa17aa6.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Apr 2024 12:33:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EIs3FiFZFSLXrpqfogEqncQg8hb/FmPlxkJC+rOHk+Spdrcwy6EgJBTwcbQQOuLndh1vrCCE2EHB+ji6OWlSJkSm/Xt61NnunzmqeZYkq7GMVLwOcL5bisAI+ervoOVObRVwatHXsP0uinqtLVwk9r/pNcEYFB6ILo9agKM7E51bmvAwjqKc3XJgiooP9Ze1WqNlxUpxVyp3FvJYQjfGJK0y6r5/rbEp8CUXFqoZXNKiq2vrGS/nL4ZpzBVnITX9mP+IOapM9vgO/Gtu/eJr/GoYMty73I2OyTrwTzhAlPYKTR+wCQHg65pu5afdDnfZ6x4hbb/kDt7kDVgw/AgDHg== 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=epVE3CxducelfjKKNaTzuAX+pJqltuoVY3A2TBQ5vNg=; b=nUoPLJPLqx5IawfBrnwQMLJ163b0jH8w/K8+BQZtKJN+DWx+aZJy/jj6rh5OCU7RxHstXJAdAX3OdEsOPuRvxfdoi8cflTDxWi8d+A12w+UyOkMvuPXJwJWmDgptnKy17wp4uFoErlpATKb0Z1U6LnPPfSr4zxeAHzA6umnylBV3eIiTCHLmMwH9xANA19YNDT8PpC/VGkGrZCaxefkqyKnE9OcGn94Uj09aqALIKw1l+dTHNGj8MHvyPKu7kilr7MLbGvlo06kFohvpjn+z3waFmwERAygYbjj6kigLNZ2t4g5VL96eQKJPyTfkFGwsT+f1w1zXS+vBl3jzXGkvMw== 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=epVE3CxducelfjKKNaTzuAX+pJqltuoVY3A2TBQ5vNg=; b=6kpQRGvTPHvvCWr/aG9I/44YY/zfJ8uP334URExsEvB3IJtNcjTDJHMumTTwC4O2rs3NSKmlHbJcLCu7fCUX6mh88DWkIsU+DB1uSJCkAQ0LhapI2RvKDBu9ytBJNfMAM+XssUG7CE8hzgMDBx2WFjvB04mdFO0+f90Fre3vkvw= Received: from AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) by GV1PR08MB7986.eurprd08.prod.outlook.com (2603:10a6:150:9e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr 2024 12:33:44 +0000 Received: from AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::791b:686b:e7b9:be90]) by AS8PR08MB6678.eurprd08.prod.outlook.com ([fe80::791b:686b:e7b9:be90%5]) with mapi id 15.20.7409.042; Wed, 10 Apr 2024 12:33:44 +0000 Date: Wed, 10 Apr 2024 13:33:39 +0100 From: Andrew Carlotti To: gcc-patches@gcc.gnu.org, Richard Earnshaw , richard.sandiford@arm.com Subject: Re: [PATCH 2/5] aarch64: Don't use FEAT_MAX as array length Message-ID: <498985e9-236d-e7d9-63cf-68cdd911b8aa@e124511.cambridge.arm.com> References: <33371799-7353-cd99-3f78-9abe31ad24ec@e124511.cambridge.arm.com> <4c366314-a9b8-e1ff-9d6c-dc4f11eca41c@e124511.cambridge.arm.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: AS4P191CA0012.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:5d5::11) To AS8PR08MB6678.eurprd08.prod.outlook.com (2603:10a6:20b:398::8) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB6678:EE_|GV1PR08MB7986:EE_|DU6PEPF0000B61C:EE_|DBBPR08MB10433:EE_ 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: ZTq/yIoVousanmWBT9pbkcmoVnA38GQCbmG7zoArDCejH3RaL7IBeg36UQ149jqkIXaUsdAxFcOn8xqrVLAbNSH1ZlsPjPE9YPEjO9CflUPIfm4UpcJb4JzXTHcycjGK5WN/7i1aTEO+2+Tr2T0KQsHH6ry2LfILgKPKdbzJQWtothwMMAUE+DMFw3ZmiKgxPdH+H1a5L0CBSvOPlOz0fCf4j5TWqua28dWyK24pZs2mtRYbLeBwaNM6YPTtwoFyRuydfWeHE7cEmR62uBmVEcqEha7j29OwO3U7O+hWHo+BZenTrpXQ6u/MjX/GiUps54RRdpCJc6yBqv8zhuRwPbS7qZRkeggiMwYcHNwTY9BDSGYsu/Ee/sU+sfxkRL/UipULXq+IVuCD8/XXT6C9/xQZ8D0Vo/k/QwH6XkhtQFSAHZOftu2kc4/hr6j5OVyx0cFPDA9usiJ8idwERknynVF6yDSS18zLxX+uh5bluOvhr4W1CIaxJmenhm6Hn/GJS10Lu4CK27Ne4kgLMiLgyJzF2nbz5DbCl1hkqvoB9DtzvX+8cdhAgki8a9udUNbvkQXE1ycG9wIg1jJxiyf4pl8Q8q1ySWhevLo89PrfexRtrx+mTNcfqpofMDG9R1Pt31irXnGo4bLaMN14/2PDP/mEp3zJcF2LFejQ6vLrOS0= 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:1102; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7986 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU6PEPF0000B61C.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7966e3e5-4304-48f8-699f-08dc595a7eaa X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sSEEkHJCikRWnwbxi0CxxyS1lobK20LEF4IgyHdMc/6YlgqkIyYVy8RdPiyJdrWAUIb+01aG5SrSW9y4H4oA4wvh2kyAdv/hpuzFQUTuvtgUZXPPFr7TagbyvJ0HKB6lzmC3SmKI4M/UayCB/54GhTfcBUKcIU+jqjozSC9I0inQrH5eWEWVx97CUWHPZzLRGeJzcMX1usJdq54kR4oYvgtrwAD0IfTjddMtykBVlqoRG8WZcFskI2WuNH22I6hJUPK1j0nU02VbcqlcDHBxJisxrMDei4LUcZVwnOOrmlLC7fECwVP3jS4SWneMIAuekxFxOD9BmwoMvhiMz43De8+YxtSLzJdVirva67dONHXkby4jwDmOmm/UgtBoEJAmF0OkUfdxFJIWMSPz9K77i7vyU6ixcTtpJEDYXAz+Yw38nM0bws8BgRXXs/c6AVJXflPiI7LJAwRmJdSBIFALRxIRCnMtYXuuKP7G6hqUt0TykSSNUcxGOBtzONSarPmhTaTZlOlzViI4dyZqU929I61UYvTGgUu7mxH5khPoUriV7/sf3qf9WDIY8Z1RKtz8iMDxRVLGwJFtblSCHsAloF64kCmxTakFfxrSlvUnRbXY57dZKJ8NMEznJqOOKYFTjZlGjptdsgHP+WHIMmCaEGB5F+nGHYmZBwVkUqTb4tw0U0DesKI3t5Mro7XqJVfEE9bCl9fe3GFVkGczonkVpeN/ObcXgmeM32f2xsOuRWhN7cQbgnvV6f6boVoL2Oj9 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)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 12:33:58.6637 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7966e3e5-4304-48f8-699f-08dc595a7eaa 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: DU6PEPF0000B61C.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10433 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,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: On Tue, Apr 09, 2024 at 04:33:10PM +0100, Richard Sandiford wrote: > Andrew Carlotti writes: > > There was an assumption in some places that the aarch64_fmv_feature_data > > array contained FEAT_MAX elements. While this assumption held up till > > now, it is safer and more flexible to use the array size directly. > > > > gcc/ChangeLog: > > > > * config/aarch64/aarch64.cc (compare_feature_masks): > > Use ARRAY_SIZE to determine iteration bounds. > > (aarch64_mangle_decl_assembler_name): Ditto. > > > > > > diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc > > index 1ea84c8bd7386e399f6ffa3a5e36408cf8831fc6..5de842fcc212c78beba1fa99639e79562d718579 100644 > > --- a/gcc/config/aarch64/aarch64.cc > > +++ b/gcc/config/aarch64/aarch64.cc > > @@ -19899,7 +19899,8 @@ compare_feature_masks (aarch64_fmv_feature_mask mask1, > > auto diff_mask = mask1 ^ mask2; > > if (diff_mask == 0ULL) > > return 0; > > - for (int i = FEAT_MAX - 1; i > 0; i--) > > + static const int num_features = ARRAY_SIZE (aarch64_fmv_feature_data); > > There doesn't seem any need for this to be static (or const). Same for > the second hunk. Agreed - I'll fix that, and the other instance I added in a previous patch. I originally copied this pattern from my driver-aarch64.c:252, which was added by Kyrill back in 2015. > > + for (int i = num_features - 1; i > 0; i--) > > Pre-existing, but is > 0 rather than >= 0 deliberate? Shouldn't we look > at index 0 as well? That was probably left over from when "default" was handled as part of the list. I think a different instance of this mistake was mentioned in a previous review. I'll fix this mistake and add a test. > LGTM otherwise. > > Thanks, > Richard > > > { > > auto bit_mask = aarch64_fmv_feature_data[i].feature_mask; > > if (diff_mask & bit_mask) > > @@ -19982,7 +19983,8 @@ aarch64_mangle_decl_assembler_name (tree decl, tree id) > > > > name += "._"; > > > > - for (int i = 0; i < FEAT_MAX; i++) > > + static const int num_features = ARRAY_SIZE (aarch64_fmv_feature_data); > > + for (int i = 0; i < num_features; i++) > > { > > if (feature_mask & aarch64_fmv_feature_data[i].feature_mask) > > {