From patchwork Wed Oct 12 15:17:13 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 58711 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 452E63851ABA for ; Wed, 12 Oct 2022 15:17:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 452E63851ABA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665587878; bh=Kv+ekzy8p+bfIKYD9xONm/Vb47FfqsUF2iVFOwuTZvc=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=CULMydhNrYO/pvwu3g37+Vx9G5NEg0tY2mzamQ4VGxLARVLC38+hpAQjjBXFIoA3R EP+01UGpSf93SkYI00pavbSk/Yct8+2+c4F9x8bvjuv3d9R/GXB3uYEi/e35MxDu8a 5FF5L6BZJqUItPJUJoLhK6wjAVom8yAc3CLDu/Ac= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150085.outbound.protection.outlook.com [40.107.15.85]) by sourceware.org (Postfix) with ESMTPS id 18BBA3899047 for ; Wed, 12 Oct 2022 15:17:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 18BBA3899047 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=L5HfRURiNb/GK+XkAc9lSarttqzmOOkgk6PSy1bKGLxSWUBByYrAUiHP/OdLa/gpL3r7zJVNyctxghYyE5P3cl656QE8exT5yZqB+TvJbuWRBJTGJ57mVcYj1UmiXPinP1TopoejDI9Ol2PkEsmzExz3MGmSeX39olR88XNbPNK7fPaxSgtZHJ8ryfic+h9SMtnJK6Pw4nZkPJ1rE2sImdDVGhJTsYPXNM+vW7MfcVRmqOelRrhbnjr/CxJqG3iiROPRXjQkh1cL34qSMExD0hr7gFVjjfaPzuu8IaZELRnxgKy/djQ6qvLo7A/Cuy14tlY7yscOJ2aimXyFIjNpXw== 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=Kv+ekzy8p+bfIKYD9xONm/Vb47FfqsUF2iVFOwuTZvc=; b=A6n3LtYqGWelsXrn9Mi9vdxOdYoU0qvFFOuoXXCF89cEB59xCsyn+Hsb8NvQW1IUf5HeUWp1UNoktKlEn6Gx2Fy4BcpqmyEuQ1ERukxvKpcSvyTW7HEFxMPnMI7pUjurE21bi6pMpBsIPfQu37r5J9ffRTLwJZQqUVDumAIcMj/TqFZSYt1RoPpP7cQ8JkrkRIO75EW+ViT8a224RdRQL25wpzJWyUrM+TThYT49HjD+3aqUmKCqSk6jKefPvABHyLzs3qH1rGxXZEg8W8XpA5bDI85YSknDY3slelv349rL1WzpmiQTnFPkKpiGSfV+7+gZHF2yyfegdVDdp7O6pA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.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]) Received: from DB6PR0202CA0033.eurprd02.prod.outlook.com (2603:10a6:4:a5::19) by DU0PR08MB8065.eurprd08.prod.outlook.com (2603:10a6:10:3e8::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Wed, 12 Oct 2022 15:17:21 +0000 Received: from DBAEUR03FT036.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:a5:cafe::58) by DB6PR0202CA0033.outlook.office365.com (2603:10a6:4:a5::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15 via Frontend Transport; Wed, 12 Oct 2022 15:17:21 +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 DBAEUR03FT036.mail.protection.outlook.com (100.127.142.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.10 via Frontend Transport; Wed, 12 Oct 2022 15:17:21 +0000 Received: ("Tessian outbound c2c2da38ad67:v128"); Wed, 12 Oct 2022 15:17:21 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8691b22922a84eaa X-CR-MTA-TID: 64aa7808 Received: from 6846a7d084cc.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 01A60497-49B3-427F-995E-6CC058486B4E.1; Wed, 12 Oct 2022 15:17:14 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6846a7d084cc.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 12 Oct 2022 15:17:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U7cFe4h+wWZAWaSMCaHFwOV6CEnUWuB+wjWthY0I/iXOiZp6q3qmw2lAyHVMMmKubrP60uoTg3ewzr5T80lFMXFePEx7FDG3TqEfgZ3j1XYy/B8+985EgjWrax621kLQfR+Uwu8OVXV/AekuBw9Wu6jxCOrco5Qj4qsZaVJnmIWEHw/Hwl90V9y5D4vJNstrE6yxh69UPYcnyttK6wUMTrWMjF18lhrYNxS2+KB0DRKRW4XuU2D9lsIiSFbariRsHXOn3NtQ13N4ShErDgnsJNlDrY0D/v0rSOBudzRRRDmzr9MsdrcZgyFq8DjPqNqQpKv99Ox9UPMK5xYcD11ZZw== 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=Kv+ekzy8p+bfIKYD9xONm/Vb47FfqsUF2iVFOwuTZvc=; b=Egu6s53IvsCuMRIBkUvtoOu3si/Cs9DH6VPIh9ZYnQDX7Ga5X336Yu7R9jXN11RKGYQuKlEuQP5gd/tNbWTdPLmDO2PFyzB7ePzItePOYnNlrfUluIQbikZ5SBZvbSD6Jem2ug+3qcBp3HCoRd9D6ma+a30ghz2hvM0HAQm159mP9EJqmWEwwqVtJujnWkXFWQxscwv3vIdYvnApyDsBcZPQNfmtqTNgwdTnRjvnyFxFywa2d9AW/sYrp7s/yNkd7k0HLphuWLN4zhPD3EQ0G3DpKEfjrZdzGJTliwhUq2NkFgxSanJr7/+1Ptu78uvHhioY66bW5bdbGcYiUitkmg== 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 Received: from AS4PR08MB7901.eurprd08.prod.outlook.com (2603:10a6:20b:51c::16) by AM7PR08MB5336.eurprd08.prod.outlook.com (2603:10a6:20b:105::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.21; Wed, 12 Oct 2022 15:17:13 +0000 Received: from AS4PR08MB7901.eurprd08.prod.outlook.com ([fe80::3991:ebed:c15b:de1e]) by AS4PR08MB7901.eurprd08.prod.outlook.com ([fe80::3991:ebed:c15b:de1e%5]) with mapi id 15.20.5709.015; Wed, 12 Oct 2022 15:17:13 +0000 To: 'GNU C Library' Subject: [PATCH] aarch64: Cleanup memset ifunc Thread-Topic: [PATCH] aarch64: Cleanup memset ifunc Thread-Index: AQHY3k2FATkFg+sgVkSoO5fmNEuDsQ== Date: Wed, 12 Oct 2022 15:17:13 +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: AS4PR08MB7901:EE_|AM7PR08MB5336:EE_|DBAEUR03FT036:EE_|DU0PR08MB8065:EE_ X-MS-Office365-Filtering-Correlation-Id: 7484c539-1c19-430e-e401-08daac64dbe4 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: pm0sPHlEEmc7ZCbD1H8cuj6QQ7Tk9j+6oaSspLr3/urT62pP3zRR8SsZzibQY8nRGknfSiMWCix050DHZPANJ1Gxwxfrw8nVOzOs2PCi5PCsh4vwr6aQkunSBnU4khbJBsbo7oUsa9bnU2hOuQEQ/2sotZkmbjMoUIUEIsbJPD8KXWL7hYfu/p3iFxKA06SVa+lIqcX79sBAD9j1yoqKZ0j1FiC2/On/XuwYI/PgOWmXi8gg9JzMg3MIHq5OvHQ5JMXwiP1Q0rGLXIkqGIrmAr3fUErRwH8royAvFsPqrHEn/WVexnojhlEw0/229zpS7pu0BkZQEVfyWsTEAMgE5exYG1pnu1LOlZestfwbD1nsK070ewiPoJIhHnDNXgPHkIaX61LwgYH3/lZdbyrdXmxmt+QUFfy9UY4lQQBOIlNEDNGkoisSIdLjTtmYuPSr8+Vq+OjW4wUER1GO3nz0bAwe0wLvWhGbVH17Anq44M+62Dxrw8AiRrhO4NwAGzly3QLIfty4m0vT4SMi0UHrQ0g/R2X75vZIKdRrjaKqwf56ex1FLYYmp9ss8dIykvtOOw40I+N+GXYogra9um4syHG3N/8Wu1PIzTlojQpcbHExNNxrLWwha1nM4yPLE4Ace+3BQjllkApULXYnip+eNFIJ122bGUKNNZKqW9n2D8zyZadwYzLKJXmzlcy9EQl45chz/yKcnlNBiKWDkoJvtsK7xN3tXLdYMTw1SfF0ngUqZR/VzKMaDHQo0BfBIcJsAfo7nEo7HSLQdwknSntvGg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS4PR08MB7901.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(346002)(39850400004)(376002)(366004)(136003)(451199015)(2906002)(26005)(316002)(8936002)(71200400001)(9686003)(52536014)(6916009)(7696005)(8676002)(6506007)(86362001)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(91956017)(41300700001)(38070700005)(55016003)(33656002)(122000001)(186003)(5660300002)(478600001)(38100700002); DIR:OUT; SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5336 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: DBAEUR03FT036.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ec3a7152-75f1-4b82-882a-08daac64d709 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3Gyabd0yV0mDbRzZCZxnk5whObjbzLvdD+5XE/pvPSdyJlUZthySiTE/vBYcJuRcSZ+AYRqST6c50oq5tK0Yn5oU92TdAlNaXpZjO4MGdKkfv7C0XaFY2Dxa/Mm+loq7X0FGnHRBOQ+BHbhAK9nNDgHLTaJk+W7G0nLmhOdZCAuTIQ8OXXGyi/qd/n70+M+aRx2P1jK/zHNuj2PaILwd6AIi4RBS6J2b+iele/M44GKuBiQcK7C9vqA6GAgn+ugxZsqQ/vM/thjVhPky+l4ym9fl8SO1DK7AiV8YO2sYrg49TNQSNCddqU7YAl22ay/0xTWRkrWX10KwUahwzc6G9LPbSawA5EU7XyY7CykCaCLg5MfH7nm/LDNSV1VUrCbXh1Ipqx7BmRUZ/Nm9FeL3jey+7Zq/vwmEYb/ZOac4P1ZFI4hI3qmDZjXpVF0jpojCmg/UkWTlp2cPwFSbR4/yeZQnt0KODatusl8lrmDUpQ4vYUwfQbO9uYHh+i9rgGF+KDiJFi7uRHKo1LLJNxHF6bH76Y+/DRujv+nD1P/hHVbIeubnETLbXe2dOw9iQ0ZRI5YRwuUeP2nYAQrJORlMwJnAjW8Uik9Yscauemndl98EXEo1hQFB1BBmXhgdG43csun/ktmnfMKjqiavsorWm6WBFpHD6xet6wS2hi+ksczpydEVMFGdqqE0Gbaj4eTd6u2Npcr8Ye2GIaNB1OUaQz869JT+7gjqbeUlcDSWatgGbOdIDq+6nyvmE9Dv0hDfUoUJQSY99IslbwBVBz8rCg== 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:(13230022)(4636009)(346002)(376002)(39860400002)(136003)(396003)(451199015)(36840700001)(46966006)(40470700004)(26005)(9686003)(316002)(33656002)(86362001)(2906002)(70206006)(6916009)(70586007)(8676002)(7696005)(40480700001)(41300700001)(6506007)(8936002)(82740400003)(40460700003)(82310400005)(52536014)(36860700001)(5660300002)(47076005)(186003)(81166007)(336012)(356005)(55016003)(478600001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2022 15:17:21.2264 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7484c539-1c19-430e-e401-08daac64dbe4 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: DBAEUR03FT036.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8065 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, RCVD_IN_DNSWL_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 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Wilco Dijkstra via Libc-alpha From: Wilco Dijkstra Reply-To: Wilco Dijkstra Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Cleanup memset ifunc selectors. The A64FX memset relies on a ZVA size of 256, so add an explicit check. Passes regress, OK for commit? diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/multiarch/ifunc-impl-list.c index e7c4dcc0ed5a68ecd8dacc06256d0749b76912cb..ed61cac5448e345b8c93eec21d493af5aabe1d3a 100644 --- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c +++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c @@ -53,7 +53,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, IFUNC_IMPL_ADD (array, i, memset, (zva_size == 64), __memset_emag) IFUNC_IMPL_ADD (array, i, memset, 1, __memset_kunpeng) #if HAVE_AARCH64_SVE_ASM - IFUNC_IMPL_ADD (array, i, memset, sve, __memset_a64fx) + IFUNC_IMPL_ADD (array, i, memset, sve && zva_size == 256, __memset_a64fx) #endif IFUNC_IMPL_ADD (array, i, memset, 1, __memset_generic)) IFUNC_IMPL (i, name, memchr, diff --git a/sysdeps/aarch64/multiarch/memset.c b/sysdeps/aarch64/multiarch/memset.c index 884f08a3acbaeeaf5dafad3fe6e7d535c7a379f4..59bd0e64f894b4ab748fe385cdfb136f2707da94 100644 --- a/sysdeps/aarch64/multiarch/memset.c +++ b/sysdeps/aarch64/multiarch/memset.c @@ -30,23 +30,31 @@ extern __typeof (__redirect_memset) __libc_memset; extern __typeof (__redirect_memset) __memset_emag attribute_hidden; extern __typeof (__redirect_memset) __memset_kunpeng attribute_hidden; -# if HAVE_AARCH64_SVE_ASM extern __typeof (__redirect_memset) __memset_a64fx attribute_hidden; -# endif extern __typeof (__redirect_memset) __memset_generic attribute_hidden; -libc_ifunc (__libc_memset, - IS_KUNPENG920 (midr) - ?__memset_kunpeng - : (IS_EMAG (midr) && zva_size == 64 - ? __memset_emag -# if HAVE_AARCH64_SVE_ASM - : (IS_A64FX (midr) && sve - ? __memset_a64fx - : __memset_generic))); -# else - : __memset_generic)); -# endif +static inline __typeof (__redirect_memset) * +select_memset_ifunc (void) +{ + INIT_ARCH (); + + if (sve && HAVE_AARCH64_SVE_ASM) + { + if (IS_A64FX (midr) && zva_size == 256) + return __memset_a64fx; + return __memset_generic; + } + + if (IS_KUNPENG920 (midr)) + return __memset_kunpeng; + + if (IS_EMAG (midr) && zva_size == 64) + return __memset_emag; + + return __memset_generic; +} + +libc_ifunc (__libc_memset, select_memset_ifunc ()); # undef memset strong_alias (__libc_memset, memset);