From patchwork Fri Aug 9 09:29:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Coplan X-Patchwork-Id: 1970877 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=i7Wte/S0; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=i7Wte/S0; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; 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 [IPv6:2620:52:3:1:0:246e:9693:128c]) (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 4WgJYK6K4xz1ydk for ; Fri, 9 Aug 2024 19:30:29 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BC12C3858429 for ; Fri, 9 Aug 2024 09:30:27 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on20600.outbound.protection.outlook.com [IPv6:2a01:111:f403:2607::600]) by sourceware.org (Postfix) with ESMTPS id 921D8385B532; Fri, 9 Aug 2024 09:29:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 921D8385B532 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 921D8385B532 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2607::600 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1723195777; cv=pass; b=JFZQu5QmlA02p2+4C1HiMmMDz7kK8yp3ZL2m25nJURsAzUS//aZThBdyjQ4gh9qDKD9lslQyMA8pUa1ZPAjXJIJHwJQA9oT9v6mc92J1wfOBPw1T4uR79rv7N/b3TAa7FgjULgcDq+NDQScjTUcv8LVKRbIdDTj1OH04ow19Fjo= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1723195777; c=relaxed/simple; bh=A2hcvuGa8q32huq0GemP9BUZUsjsQ/ZVxGF0ZDUVyn0=; h=DKIM-Signature:DKIM-Signature:Date:From:To:Subject:Message-ID: MIME-Version; b=Q+cJEqqAu3gTg0M7zIJdUZDdmZ5AaBhaI1DLaEPvAdlp+RIYjOOLaRb3QR/YG/5ADK8kWBnmOtbARbxxrGiqxgNKAI+N6KgoT+zW2sfec/YmqeppQH20ijhCWRcBaHTFu0Die2NtoKQhJwtnEhQi7aNC3N5Xws+ayX6pQmahRwQ= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=QOgu5ER9TropRHdJZtyDkM/mVTlLkAkAxgKnBuEW7X3TbhEpURwh3GWTdk6fT0Chb6pKPuJHoKYRlwwquLJgw+MCxnxxAvvfjP1dMP8ON/YPvQQSyCWSxhOkyFnyP17ipZbH+97If7V75UGG2TPnYfUr5upRjqHgcKNkBnuuHyeLVX0F7e8DSq6Os4B598B9TOCgiKbvtoALJ9oovt+fW/4Ewoa0CtWWzJ0jxICUIUU84S2VBBrn78lpL4/np7hwScE4mVELORyfEVjF2ckPw3DbgsJw7H/kY8WNg9+Q7281WMrzICPvcC0+bjBGF4oXpHizLxlfCdVYe0ga+ijRdQ== 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=xOZGFNJx6GFYRUcPncGCDYhUA9LEDh4vQHgjQuRacTY=; b=IyKwEhIWiU/HUluxc3wHLJPHQ6CAzKgHLfBXQKjmMhU6Pzfe+7qz5nWfh0heVCkeLzSvH0F2jNrimQ/b5uKoLjVWqbk5cKs6uPviIAPmksTL+O2ZIu7z1UlOCP+PCYEO2kaXEb0dsoyLrvdTsMuAiHmhzgPgy95wjXA6+RNVHchlSMygernPsQ/pnYFIvSxy2ahBGbTDkDHuuV7PCDrRCCtzWcRU837irqNDFaKiKb3XhAoqCEhLOeZ+qSSuem6C4A0izvf3LzvZ+8oVRNUZ/rtVAg+7DBar7uJ/0C1DzW5fpvLv6oBK3MIhEPfHmJBEOMWJxs7V78jiw57gp7fsRA== 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=xOZGFNJx6GFYRUcPncGCDYhUA9LEDh4vQHgjQuRacTY=; b=i7Wte/S0zW9pIL5e3XmnUb6ZJsuBhbIpsElGjhkCn9xud+PiAB3vCOQylDvMkXMDd+yhQNq+Mu3Hf/Ep/rmUV2aNf/n5TmJpuRlkKgvBXiI2VNWIANdJssF/WdK02nEtVw+5FUzkrrTYqIu+HhfHE+9o4hdxx7LoOJrsydi1CGk= Received: from AM8P251CA0007.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:21b::12) by AS8PR08MB6325.eurprd08.prod.outlook.com (2603:10a6:20b:332::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.8; Fri, 9 Aug 2024 09:29:31 +0000 Received: from AMS0EPF000001A6.eurprd05.prod.outlook.com (2603:10a6:20b:21b:cafe::cd) by AM8P251CA0007.outlook.office365.com (2603:10a6:20b:21b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.14 via Frontend Transport; Fri, 9 Aug 2024 09:29:31 +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 AMS0EPF000001A6.mail.protection.outlook.com (10.167.16.233) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7849.8 via Frontend Transport; Fri, 9 Aug 2024 09:29:31 +0000 Received: ("Tessian outbound e85d9e0fdb55:v365"); Fri, 09 Aug 2024 09:29:31 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: cae7043f959d189d X-CR-MTA-TID: 64aa7808 Received: from Lcbd3550ffc6f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A240B45A-3D0C-4752-9208-0EF889EA091F.1; Fri, 09 Aug 2024 09:29:24 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lcbd3550ffc6f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 09 Aug 2024 09:29:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vqyBqwTo/sTahvTuwgDJ0SjhSoGEyqGHxcew1K7Sauc37PQZyfAg2qpmO8Yx23biXOC4gQrr7sw5zxfBz9gDqEV5cTUZTLla8sX6gs6uY/AaNzW9bzMqNkin0hGg/p7MFflVaTjLo3vlI67NqGBRtW8DCR2AtUORPof+bholu2LrQl8S5w712UtoGAp0GIs7DJyng/sx7zcuqKkjuTb4vavgIHmwk9/r/BrLtVKxgEd8gkMb47CYd5x4yelaqoGWH7h0r51jmZO2Zr7HZQrN9lYSieZ2y3cQUK1nj9ScuVM0YHHKdP6B8f+Mf8Moqd4PjZtBuHG35wlAPlYvR78jBQ== 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=xOZGFNJx6GFYRUcPncGCDYhUA9LEDh4vQHgjQuRacTY=; b=sckH0J+9ZXpeSLg3sJvzRY7DU9zDJVCXNikkU5UWH1IAr44CsTVgxysFahKjDKawPGf1NHieXTMjINsFwqHPZKCdOO5qQfqdjhsIRbRbmy1WTBPNYtETeG1+5Txwkm/cu0wiNl1vKAvb0WVQ8j222loGLuOG0urHpHs7Sson1Q0IQXffKZQAO6b8WGmTBSbBTUDsHrNUixizTEBYtXkmQ59rmJtba8dC6N9Xu9lcFON3aqoOJyqEnTfkSavoPkj7hoSQl9t247mrrsne/thxE6fB6eYuXfJ+KaKT01drUzgHipnONx2+qo9kiwln7SKqQmOuwc6muBbOib+LIK44fQ== 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=xOZGFNJx6GFYRUcPncGCDYhUA9LEDh4vQHgjQuRacTY=; b=i7Wte/S0zW9pIL5e3XmnUb6ZJsuBhbIpsElGjhkCn9xud+PiAB3vCOQylDvMkXMDd+yhQNq+Mu3Hf/Ep/rmUV2aNf/n5TmJpuRlkKgvBXiI2VNWIANdJssF/WdK02nEtVw+5FUzkrrTYqIu+HhfHE+9o4hdxx7LoOJrsydi1CGk= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PAWPR08MB8958.eurprd08.prod.outlook.com (2603:10a6:102:33e::15) by AS2PR08MB9811.eurprd08.prod.outlook.com (2603:10a6:20b:604::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.8; Fri, 9 Aug 2024 09:29:21 +0000 Received: from PAWPR08MB8958.eurprd08.prod.outlook.com ([fe80::9f32:dc2a:5bec:aeac]) by PAWPR08MB8958.eurprd08.prod.outlook.com ([fe80::9f32:dc2a:5bec:aeac%4]) with mapi id 15.20.7875.007; Fri, 9 Aug 2024 09:29:21 +0000 Date: Fri, 9 Aug 2024 10:29:19 +0100 From: Alex Coplan To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org Cc: Jonathan Wakely Subject: [PATCH 5/5] libstdc++: Restore unrolling in std::find using pragma [PR116140] Message-ID: Content-Disposition: inline X-ClientProxiedBy: LO2P265CA0342.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:d::18) To PAWPR08MB8958.eurprd08.prod.outlook.com (2603:10a6:102:33e::15) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAWPR08MB8958:EE_|AS2PR08MB9811:EE_|AMS0EPF000001A6:EE_|AS8PR08MB6325:EE_ X-MS-Office365-Filtering-Correlation-Id: b6b41b61-c7c7-455d-9999-08dcb855c62a x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info-Original: h2oGP/qn5jJtDxT1vSf1DxJ0af8zlzPK/q8HZtVQektJGnYD9Q88AD616ljuKgtSHZz9rQoWI1GkWUIykvARDjSyKi80qEr/y7Ufli3soDk+xt78cLC4BKFiOk4qBibyw91g5xBdXvk6y4zLmkaMELX8cLECB/J15nP3bVWMYwidAJNCV7f6LqixyaU0VTjTKV4wjMT436l9j+JP0Kb19RSgGw8SJo7VyfgH+ho4bItJZ3M0EvJ9Y+v/1M8GF/fAGaSNn9J1c259oQYuiVyDJi3qnQliK+5zaRKuNRAVpWU+w4lCtXMe9er7bsb5bDVg25TUC4xQXoDmIv2rri1Qg5dw/1YJQLJsgtVLJA3RtsSFOBg7nXu0dODtaKxdLXg1LtspdXMqiTSMzoUlZgb1p0ECLuMVNTY/9QveIPaPpT5x8XxfYY4/ebl0HSaJiwEvtUkjE9L3vUEQdcv81u9A9ijMnK1DeahoC3ZdZTx351FU7LJQVwUOyGTLojWVimI6y7tkh71Z5iyhrRNTauLH90BlwsGAeART3QDcbyoXvB81VAweEsLh8VGeOMwSey4u4idSKz/qjOqatcLSSiROGSlAv01pQwfKT5+46g/xA/TVxxZFeoXtEqu5FjLN1lZtLfytQFfTUmf6+yvTYAmobBEYYvgNUCctRVGbWVPSRLsVRtElXbeQwsJ2tai7M0Zd7VGhK67GvcnV6NCPW//DQLj52QV3wrTL6Zey23osKFRLsvTUazr+dcRHZ6DHmalhyxNU28Aut3TyTb+tFa5Fj/3am0wcTlTI7fvXS5e9w1AllHt6Dd8NqVOPl+O0BCX/WvtfLNG3gPQq/MQ6oLqF4voCeXHCBUwaj5XJNFYLiNQTPrnVucMYxd5qlhi1sn1FkEqIgV8JQ1y0rIgWGdUgh+AI3YjUKR0S0DUHzDUcH8QdzwtnVL5R1qUhFlTbjJLtNkhx90pybVPSO/gAmDAa7RO7rrfoJH9/Mu9gGyfjZwGCenUAS/aV0rR9p0OVrRMOYdEGbqxEKZh3URznWxU9y/3qY+cjbQHcLLKOqFTlDGZIpe3WGNRY75/ctYNqe28qw6+xNxKq/0UXfUmGRYoC6alf4AKhS6o6KY4DDYl9Je0Ng3VPZZm1U39mjFmr5Dp+twtdx2YkhaJK/XrvGblJ/DmTVKLERBKRTXnT+SVALaO/DEfLmSXGtDDDsk5/eCC3balCTj9OgF1Bexn8/zOvLYunQlYwC8BMod+JYi+wNk19xhPZHqg7v5jaxTpCWikrvhixjLHrp/hE1b8sDAZhXK+PreVxXRPbpjNqaDkc8u7A/5HV1do/D57nuNDUK7EtKM3MvkT/fvxhfC9crRYeUA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAWPR08MB8958.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9811 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-SkipListedInternetSender: ip=[2603:10a6:102:33e::15]; domain=PAWPR08MB8958.eurprd08.prod.outlook.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF000001A6.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 66f7ab69-bc3e-4c00-0e7b-08dcb855c034 X-Microsoft-Antispam: BCL:0; ARA:13230040|35042699022|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?JLc0PzlGTuDN5/EYhFA6fF3UD/w9mQy?= =?utf-8?q?6DQACdmhB6YMeg3yDHyJuvWtkNQ2FFdl2vuBjC3oEqGExyLY8FwYeafCHR4IScrLk?= =?utf-8?q?en6jAf3xisSRSjguNVh1Lnjy2N0p/tMqjMxg17vKH73kSseLzE9rBCHVOxTguW6aY?= =?utf-8?q?VdcbMJN1UnEVeNFGu4Yc1ujtzrC15gCyWTyNecOJ3qZsPcFSR8WOabTl61OKJ/+fJ?= =?utf-8?q?TZ0g3m5gzDmEaQu0JWuRTbzcUk4cu68MHGNgA+je85wjp8XnbfPZMi02MAc+NN11q?= =?utf-8?q?bJ22qkz+3m3REWjQMhvxCaUZB+szQr0STI71daWCZmPnBQ3LIcK3yuU0rp93tPUyn?= =?utf-8?q?If20jhddDAkUJ/7F5wsXWfq19XmUZq1+VZoKHdKv7Sq6Eadt2bGHvVAysSRLZpFvU?= =?utf-8?q?L3F8KSzXxY/l2k5A90q31FoC32HAsZ9ZS89jWagmsRa70s1e+9e6CcPv7oJ0udMu2?= =?utf-8?q?QUIOIHFvn8HauCVRZYLAAA+qaKFeAEdiRU4lgkgX4Gji7ahHrrmp6jscqXs5t0PI5?= =?utf-8?q?JKPTVGd7XE3ozdYxxTw7MD6MPBDSLsHmI5Sr9oYBDokMTRP7MMRUHHErfRU0PZDX4?= =?utf-8?q?EyR0dTtPFGvg9pcHE0VV/cpbPcrI4yzblwEOWjDLIxoyrD6AUIAn31LmPLMu//Nwe?= =?utf-8?q?PRQvZeLWjlD+cF2/Y5824UCZdasJ9L9BnMvrTwVYcc1tUKiR6Wtm63KNliGBvyP3P?= =?utf-8?q?POCpcOsBEAuFNg2p3glolhypzwHPGP5CUTahEZetHdYlcMc8CFz1jPeATYKSRZ+yj?= =?utf-8?q?7w4yaeQy9stMdE2MxtCun1tWlDk2ctk4hyTwYW3l7sr1cZuvKvqOZTNqWaEn0X/Du?= =?utf-8?q?qwZ4qCrn782mvdNPmaNAlypbtP7AsCXXgzyAl0UKyLelUsXKOYYNtIVi1kov8ABeF?= =?utf-8?q?iQFLJJntFZsj+qjzwJxgu0cm7L2trFQIfP4ECIbpylOdQkXPETusk78bmGRnGjTb3?= =?utf-8?q?nqCQXhiticXzaKTsqOQoXUgQF70ASivCI/GHwWPj4bSCZQrCg9iS9x3s30DPK7Fbr?= =?utf-8?q?lz+32GYVbxkEET6oCc+Jy+96NC36H+h176YJS/VtwMIAsx4Cf1wIarO6RXYvJfQM8?= =?utf-8?q?DDdVlsH5eJXVyaxoQWB8c9x6iW+lE86/JNFHGDqEsIifdF1uCO/lz6rSNgfCPNBlD?= =?utf-8?q?/bnmgwF5JYWO6IwEieQ8Y0SnHs+XR9OJHJy6BSFlQtzwdu91UZM8FfF+EqGCzGtaK?= =?utf-8?q?AcTGSNLpjjLdHLxTajZVBaT7BtilfP1z6spNVFDNMtbhnlgexfFbduaSJR3jpQKw8?= =?utf-8?q?C8Vj+w8ow1iYe7lj9Nwrk5yhWeRtvoql4zteCQf5U2YI8qQfUKQyRxQPjWpvTDV7v?= =?utf-8?q?/OTgyE+RQvUxg4ARjNkJCgpep8mhPgf11/qk2s/aCI17VqdZOs9V9THnSBqe9Me8W?= =?utf-8?q?NJY/P3fI/sc?= 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)(35042699022)(36860700013)(1800799024)(82310400026)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2024 09:29:31.5398 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b6b41b61-c7c7-455d-9999-08dcb855c62a 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: AMS0EPF000001A6.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6325 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, 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 Together with the preparatory compiler patches, this patch restores unrolling in std::__find_if, but this time relying on the compiler to do it by using: #pragma GCC unroll 4 which should restore the majority of the regression relative to the hand-unrolled version while still being vectorizable with WIP alignment peeling enhancements. On Neoverse V1 with LTO, this reduces the regression in xalancbmk (from SPEC CPU 2017) from 5.8% to 1.7% (restoring ~71% of the lost performance). Bootstrapped/regtested on aarch64-linux-gnu, OK for trunk? Thanks, Alex libstdc++-v3/ChangeLog: PR libstdc++/116140 * include/bits/stl_algobase.h (std::__find_if): Add #pragma to request GCC to unroll the loop. --- libstdc++-v3/include/bits/stl_algobase.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h index 27f6c377ad6..f13662fc448 100644 --- a/libstdc++-v3/include/bits/stl_algobase.h +++ b/libstdc++-v3/include/bits/stl_algobase.h @@ -2104,6 +2104,7 @@ _GLIBCXX_END_NAMESPACE_ALGO inline _Iterator __find_if(_Iterator __first, _Iterator __last, _Predicate __pred) { +#pragma GCC unroll 4 while (__first != __last && !__pred(__first)) ++__first; return __first;