From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2077.outbound.protection.outlook.com [40.107.20.77]) by sourceware.org (Postfix) with ESMTPS id C730C3858C3A for ; Wed, 6 Sep 2023 10:58:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C730C3858C3A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=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=1k5pHohu2zIQwflz70U89Z+NkC86nDEh7jT6g+/bIN0=; b=lkSzSAI9Inn5llBoRqCCHZ+FJpb9frtdNb5W9hP3AJ6RZVyoliEGO+hF3C1jRC9rbAxEcOFeUVl6N9/Liko4P2eJ2w4yrQ7uirIaS9789okxmZjZANkSJ6HigwH9QjokqQ4Fh4E3el1KkMxvjPT1pHw03eEGsTiX3J5btZbauds= Received: from DU6P191CA0026.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:53f::17) by AS8PR08MB5973.eurprd08.prod.outlook.com (2603:10a6:20b:23f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Wed, 6 Sep 2023 10:58:38 +0000 Received: from DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:53f:cafe::23) by DU6P191CA0026.outlook.office365.com (2603:10a6:10:53f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34 via Frontend Transport; Wed, 6 Sep 2023 10:58: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 DBAEUR03FT007.mail.protection.outlook.com (100.127.142.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.26 via Frontend Transport; Wed, 6 Sep 2023 10:58:38 +0000 Received: ("Tessian outbound c99fbc01d472:v175"); Wed, 06 Sep 2023 10:58:38 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: cbab4b59db4f7943 X-CR-MTA-TID: 64aa7808 Received: from 165681643b89.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 24FCD770-AB40-4257-8126-B1AE5F5BBF90.1; Wed, 06 Sep 2023 10:58:31 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 165681643b89.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 06 Sep 2023 10:58:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BV4ByT1kl8wgpc/U3WaYMMFKUpqOhiTcq4pltkXpLK+ZfuEIy2Km2RsAs3AwfdZUNM+Z0ZfFfFYLQfhmFnK0o+l25AwWyI60d/qPLK8zgLZKF0RheZKe7fnaeMLLFNwzPIR8bDdUvnGwxfSz1rANtUKnKmQFYZIET8HFyLuBPhZlT/2iXu2S8Uu/iYzep3HNCsklo8QSrX8GHz87mgllZgrEy1V7lzAS7QDhIuXZ9KY+UCa74e2AaeaFlhdBsC2038t3cnbw0tOXYDULGDFfpCeUA56zSA6G6cfOV/d5EoHkDn2BDsnE6hpUn4umDG1eMo52oN6QhU4mWs1uwvY8EQ== 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=1k5pHohu2zIQwflz70U89Z+NkC86nDEh7jT6g+/bIN0=; b=mNcaDzdmnh0skUXJUBjtrVQ0cZxvu0chLhT0JUQKvFZDLiY4KCD3Y3Hwq7w7iwWxkidviCW0T+Bv6k2rCo0j+Ea2QEzKvbdFcJW4kvMmFOXbTiJx0hHseglElhpEe3FgC6RmXJmyEoFTipqYXteat9fyDMbDkKpBZP+0X89VNxkWv3/Fan/10/4ygNM6sc+Pgc4ew4CJQldRFpQY/Eh1Und8QAimXNTrdqeS3SQKzPmp1M2GMcSW0ldcMpccnlQvMxUIBoufEJ65l9ngzW7CxnBszZiut5g0w/Vwtxkx9HpLM4Ww5DgczzZG8/+hDbTQtg9SJej3RaE+XxXKtwEQIA== 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=1k5pHohu2zIQwflz70U89Z+NkC86nDEh7jT6g+/bIN0=; b=lkSzSAI9Inn5llBoRqCCHZ+FJpb9frtdNb5W9hP3AJ6RZVyoliEGO+hF3C1jRC9rbAxEcOFeUVl6N9/Liko4P2eJ2w4yrQ7uirIaS9789okxmZjZANkSJ6HigwH9QjokqQ4Fh4E3el1KkMxvjPT1pHw03eEGsTiX3J5btZbauds= Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by PAWPR08MB9054.eurprd08.prod.outlook.com (2603:10a6:102:342::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Wed, 6 Sep 2023 10:58:26 +0000 Received: from PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::ff3d:6e95:9971:a7e]) by PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::ff3d:6e95:9971:a7e%5]) with mapi id 15.20.6745.034; Wed, 6 Sep 2023 10:58:26 +0000 From: Wilco Dijkstra To: "tirtajames45@gmail.com" CC: 'GNU C Library' Subject: [PATCH] Avoid double bounds check at the start of the loop Thread-Topic: [PATCH] Avoid double bounds check at the start of the loop Thread-Index: AQHZ4Kik2EYpesB0TEmv9NlfPEeL7A== Date: Wed, 6 Sep 2023 10:58:26 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAWPR08MB8982:EE_|PAWPR08MB9054:EE_|DBAEUR03FT007:EE_|AS8PR08MB5973:EE_ X-MS-Office365-Filtering-Correlation-Id: 628c586f-0337-4741-4902-08dbaec8396d 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: y69Q1covXcie2P+qLhot7qyDKFGJxMGTjzqVqg/1SYF0wu96q5E/6ILPLITr29W+MaFnx6M6CLiG7fG8egcZCHBiuHeX/9dVRuf4zozkDNRwaCvFGpg8EwUvXAFbnnzzcNsUL7WNZN9QpuHdWJVXXbh6OSW0xaEh4DxUBXp/2HueUSx18SscCJ5ZQMm6/fy1KLyDMnJbQ5jWzlvysChI7os70uVlHkCggVTfuyLdG6saRcm1OLDDXUYKp0AwhRy8faY94bTiNKm2UbRAsFdogOo78winY8A9quwI+bMyk0/5yktD6K409kj0kQA7yVBOUWAwM3mHm07SrokIqe4J0wiQeeiTxYKxOnR+yrTdAh67DaQcOfnoHqMbCqDEBoIvbJxZEjKaBmeZnbimhRQUj+AxOaWMYk4nXKdHEq/PTUAfKLe6uKZlURfQ5U9RAC7qUgrqLw2BydiIbCPFAYlX7Z4P2SZCQz+OJX6YZOkMIF4jgJezSKyOWhtIBYOKTWqZuHENczULPX6a4/mmdYRpCxZexa67DJzdRsceKFsH3Xh81lrlYsVcs0ALfUflnwhAVRwBXL0hEKii6GpqH9NphxNh6DgboGKQPAr4eC2xTqiBe9y0GZBmFMw4rQ0qg9Ge X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAWPR08MB8982.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(346002)(39860400002)(376002)(136003)(1800799009)(186009)(451199024)(122000001)(38070700005)(71200400001)(9686003)(7696005)(6506007)(86362001)(33656002)(55016003)(38100700002)(4744005)(2906002)(26005)(478600001)(91956017)(52536014)(76116006)(41300700001)(8936002)(8676002)(4326008)(5660300002)(6916009)(316002)(66946007)(66556008)(66476007)(66446008)(64756008);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9054 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: DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 0dd2c8b8-7660-44ff-02b1-08dbaec83237 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bEoJpbuelmINy6rF8FOhvsIYYfe0JAxZ/gqrBHAJgbOFTiR5qKVj1CgrSdE9VI0ka2VeWa6MjlbVdzkns6SL3qKD2hgM096Tpa94rkWVaDS+bv+wm39yJDRGw0V8ZvQ/G2bYmC3rePEEluOQwQMXHKeL/R6FeOjND7mtWryohQq19Hkr/4e7V9rcR2Gdz+ecMuF5GbELWyvVpuHogMSnjwpQEp2OFv6cI27/mB/TOV13OFdbR07K6d0Ok3ATQY8fPPkWDAhoQDD0o6x/ygrEZz5j+viv6jLMeIU56gmmQlLzSOWQLrOooUhQO3E9Qia4yP/xpchm9WDKt1QfiEvggfpL+j2HyLOHQBr6g4290pNZ/YXuCCcH8h5rnTnB4r+OxUefPQhE9cWd36svtr3GdgtHPPhDSoSmNnnJErX/kdUBsN65oNwhmyePBUtLzLBC11cne/1kz8A81yKXdFVjAxT/2YTvEz7V1M8b4KW19SOjmOzXGfk2uQNpp7kdIFW7GRUCKATmytuHC+S3H3vq0zI5pBt1DNSrqZlFfwlaHzmHxRtLlgWjiB6OYaSGeG/yGSwzFiCL21FqugPYNrOjsKlZpoMrYZuJP4SHjkoR4D8U532bkcP4SWaXc0sR4NZEk3ZZI97JU9meu10lfGE3AXxSmwXhOz7zWW+vCDD4ZGI1v7/Y58vUsLeP10/rwGplJ1Bkt7XfD6JLW4co1Bn0zYGBbwaHH0h9mPBGS9a8BfvStwyWBa1xUoAeP0Ds9F3A 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)(39860400002)(346002)(396003)(186009)(1800799009)(82310400011)(451199024)(46966006)(36840700001)(40470700004)(40480700001)(55016003)(2906002)(40460700003)(47076005)(36860700001)(4744005)(82740400003)(81166007)(6506007)(7696005)(316002)(70206006)(70586007)(478600001)(26005)(5660300002)(52536014)(336012)(41300700001)(9686003)(6862004)(8676002)(8936002)(4326008)(33656002)(86362001)(356005);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2023 10:58:38.2900 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 628c586f-0337-4741-4902-08dbaec8396d 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: DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5973 X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi James,=0A= =0A= So the change you're proposing is correct, but did you benchmark it?=0A= The code is written like it is for a good reason: the checks at the start o= f=0A= the loop avoid one taken branch per loop iteration. So eventhough there=0A= is an unnecessary branch in the very first iteration, performance actually= =0A= improves significantly by doing it this way.=0A= =0A= Cheers,=0A= Wilco=