From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2065.outbound.protection.outlook.com [40.107.21.65]) by sourceware.org (Postfix) with ESMTPS id 16CC0383D823 for ; Mon, 30 May 2022 12:09:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 16CC0383D823 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=d+bH+TUINzGr0giAjgC6nDKZHX1tKv6z868miQu1dO16CHa3K5udsfpKq1/QnlBgrWVll04ambEbgDFSFonw1Y5eeKf/zerAYEg/kFa88jWki/W1EHlR6UU7rVEVwrq+kwysFpD5onoog2VHD+h/qEB9Ax7mkJ3mvxRXntCZPDJ1fWtdqSO5sepKsx7YWH272nE622BcCPwtPdw16fHVDSZSbhbWowXKXb45GdMUW6Q0VHp2aQg17UDIxkO/ebaKnx8CfwNvtczw/HtL/BgiVyVIE7G9lh9L8uSiv89w/NwAgdMRs1rkoZ5PDlHIROntIM0X1YVaNkAUODH6GAZyxg== 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=5TpHBxJRpfXbdPA3d03B45oewddXhTW7RI/SZ7Xm8mo=; b=eYboevyi8y1IEsezX6iXo8SBPCsTH/Mq07m71cizTqDSvjbrEkvmSb3kBdll1iEjk8rwRSVaVLj+PC7FqQnt27EaPI4ZmGX2hSrCq/i/p6YDHt2Mp4xF/vTpdzMmQibNmChPEf8vbIUYJV+pMGcHT6DNWrA/VSRYCoCxk4NIlXQqaWu5opOCwxOfV+kaJdb8OVl2YBS86iXtxWlJ+OxqiGfiFOA8x6XOTU4YGwohzY/xNBt9i7vEGI6gfc8Fv0KqZCX4qBQsP0y+l6Yyzkc6PMk0rF4KUswf03XGjquqi2TDYRMm9JbVeyfwHCHQgUDwxZOZIZvsOxiOQ9x0iCIA5A== 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 DB6PR0202CA0039.eurprd02.prod.outlook.com (2603:10a6:4:a5::25) by VE1PR08MB4687.eurprd08.prod.outlook.com (2603:10a6:802:a5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.17; Mon, 30 May 2022 12:09:25 +0000 Received: from DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:a5:cafe::f8) by DB6PR0202CA0039.outlook.office365.com (2603:10a6:4:a5::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.19 via Frontend Transport; Mon, 30 May 2022 12:09:25 +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 DBAEUR03FT018.mail.protection.outlook.com (100.127.142.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13 via Frontend Transport; Mon, 30 May 2022 12:09:25 +0000 Received: ("Tessian outbound ff2e13d26e0f:v120"); Mon, 30 May 2022 12:09:25 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d5d355a032c9507f X-CR-MTA-TID: 64aa7808 Received: from 850269e981e6.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 067CD4F8-C48D-4A61-A6CB-2032C916A3C9.1; Mon, 30 May 2022 12:09:14 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 850269e981e6.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 30 May 2022 12:09:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ASk/YuTr0pPP7ytw7ld3inZjigGPOwNavGCMDIGerRLQ4wp+veLw1JaEq7tCw+aoxjaAKJiowYZ+dVBk17eXlIxNmpHkK3s6yWH2MitZOtgtkNP4UT13xef7GYdpvErNmeAj/MU7KPf/x1qQItx7ClCI8cHLi969biM8jf6DW0EwaL1GZOfmeclpsFh/lX8Arn58IH+hiz9Y3nDY9TKBmivA/9BVz+rjV9mVtn6rcnMh2DqYqwFTFZ/Y6ay5AOgIYFQfn0F82r3y/CrVPeTLeu3FcJWYb2GFVmAammmTwldZovnTT5YoDO1h/3piIK6tEmAxZxTr9QWTTF4rLFkxOw== 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=5TpHBxJRpfXbdPA3d03B45oewddXhTW7RI/SZ7Xm8mo=; b=DVw4YkvIE90jtVUoCNv+Yu4DEyNAvlm7gESkGVFYAgaWuwLXATMysoHRAJ4JMWKFul/WjjgHuQY6YcIwM3n5BCDLC9CbaFYV2/8Qz1jSMmghtG1sQ9fIGcDIu5qGuTw8SyhNjrRVfpMby/XDVkU3kMDrXvBcmvjJ8DWBnX6mZBiVDWCW6Kv90cXHmBSe5vbwbzKQL/Y2piwJPc7wCxc2qBOZCHAGrYmAPfcy6yKVnHBmgxGhKWvOX6DfR12oEXtxtl2dCWmk2h2Z2tWNfv7pcNWC+MeoFNxY0zY2WWu0kNaSSByPPcLWHIVyCRUukF1c0edh9r0AvilihXH6rT+VpA== 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 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) by AM5PR0801MB2065.eurprd08.prod.outlook.com (2603:10a6:203:4a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.13; Mon, 30 May 2022 12:09:13 +0000 Received: from DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::9ccc:fe7c:19e5:bfa6]) by DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::9ccc:fe7c:19e5:bfa6%5]) with mapi id 15.20.5293.019; Mon, 30 May 2022 12:09:12 +0000 Date: Mon, 30 May 2022 13:08:52 +0100 From: Szabolcs Nagy To: Wilco Dijkstra Cc: 'GNU C Library' Subject: Re: [PATCH] AArch64: Add SVE memcpy Message-ID: References: Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: SA9PR10CA0023.namprd10.prod.outlook.com (2603:10b6:806:a7::28) To DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: edeceba3-abb9-4569-e1d2-08da42353d25 X-MS-TrafficTypeDiagnostic: AM5PR0801MB2065:EE_|DBAEUR03FT018:EE_|VE1PR08MB4687:EE_ X-Microsoft-Antispam-PRVS: 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: hwf5ipM8WCFhHGWzberyiXefwczb6tgMyPS5kJNUVrh+WA9+1tSeLVZF/V0BhEiK41XGoXuCpwK6tqLBmjhSr8wG4hU4npA8KXLamhiAepvwz051bltb1oFLaqjWQ/NXW1KQ8r3Ws5kTd2PEqfzZI+sbQKv4ZDelPt4H9gEjhnoB+TnFdlH4cp745f1pqBKOT3qQRVQDmq0kiIvN1TOIE9I4bPAPB/kJLk0qPEOCl2CnBCWwfkbrh7N41wJdQxhGDrEhtRoozyQUq8A1o7dmxT+Ah+WxSvpcAAKumsGEhQH2iAzithJnyH+AMYNU4cr+jl66cyk6GR2Eo1P5agstR8N0soHxeFF0XLhMzkRUEOKRxfOOIrNKhbIdBrhlCd8ZV9f13btIgCXYVridjPxeQ2/2zAwCeeV3sqY7uI7GoLuuthnGFibTWrHIgWoJHY0DbgRE3kqJ+AOvemOcbldFkzN7QYfc3gbXhR/XzeYTeVpYWvbN/ISPZUhWQbjppMteNKWbdQ9LpUiH0aRRF7C8zBw3oz90xbJLEaaQi6LBQ19xUXi2wYiVs+mdECJj+wFNBbc7rHCmZ9JMOgg3QOvhJxZPufq14J6nyXurP4Ln49yVpd0dCIKA9N9F3IdKewVj7CvDOZCTJ2DWGF+1KSPWYw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7179.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(316002)(6862004)(66476007)(37006003)(6636002)(8936002)(38100700002)(66946007)(36756003)(4326008)(8676002)(6666004)(6506007)(26005)(6512007)(2906002)(508600001)(5660300002)(186003)(2616005)(66556008)(86362001)(83380400001)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2065 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: DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 87548040-17a0-4929-8123-08da42353507 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1+hDeN+s4ejWaiwGTsVqt8HGfxxVpmamtz4gIQru1zQAWcl1PKnKJey7ZC/z1F9Ud3Q1opTClvOUFecyXiGdeIpayufW92GVdTS+EMeccv57rE3Vm49DxTiVexLQn8qnDTlHsxyP0d/CGCO9slm/tTMJ2YZLA7upCqNBUEYakoZmRdn/Bb64WSOW2i5Xen8VyuvZx16b++DwowEKxIQz0VyytQaglnOJF+jUCdW7z5PkNKN5Tm5O26mlx7COr2VZ1ksMmaxgTOK4JP8k0p2W3qyipEXQsWw+GsNA8Wr8UF776GNEH+sMtfPsxQ0+1pi41Gr7N/Yek/0/9F2s2Czox+qp/bcBGqcVbw1pL3UZSGkRjqTlH2seG3i2ZHPZf52DJeOePTVpFme1mRupr1B2RoUJ0YbCrnssNigfQBz6c08ZxGQoSgEO2wMIPlVsoZOec4NfURV2RqmNTbyfvf/bscjhz7NSe6kwUHrcJnZkqilzcUh9iEx8bEvFPz+FYhZRRqbvbDkGo20J3nAD6aMfahceeAlSCwpjwv6AOcJuA1bEkIDzIftgcfMNcqTNfjFWOtRY/8L4Gb/iwcDERYmGpZHuJJbyYlx70a2qFxIJ72PFfAUQHVZsOrbChytzQKOZ/6SCrBBF5UdHuZC7Bwq+VimOr+xI/pNB3I7zbR2+xiR+YvivUBeAMVPzVdg93g/s 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:(13230001)(4636009)(36840700001)(40470700004)(46966006)(8936002)(36860700001)(6512007)(37006003)(6486002)(2616005)(6636002)(26005)(508600001)(83380400001)(4326008)(70586007)(8676002)(6862004)(70206006)(5660300002)(316002)(356005)(186003)(336012)(47076005)(40460700003)(86362001)(81166007)(6666004)(2906002)(36756003)(6506007)(82310400005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 May 2022 12:09:25.2939 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: edeceba3-abb9-4569-e1d2-08da42353d25 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: DBAEUR03FT018.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4687 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, 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-List-Received-Date: Mon, 30 May 2022 12:09:32 -0000 The 05/25/2022 17:04, Wilco Dijkstra wrote: > diff --git a/sysdeps/aarch64/multiarch/ifunc-impl-list.c b/sysdeps/aarch64/multiarch/ifunc-impl-list.c > index 483fbbdb523c9a5b697a9b7f63153d2cefb482ac..e12c1a9fad3c2b1061f3f9d10accfe61ccc5ea50 100644 > --- a/sysdeps/aarch64/multiarch/ifunc-impl-list.c > +++ b/sysdeps/aarch64/multiarch/ifunc-impl-list.c > @@ -45,6 +45,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, > IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_simd) > #if HAVE_AARCH64_SVE_ASM > IFUNC_IMPL_ADD (array, i, memcpy, sve, __memcpy_a64fx) > + IFUNC_IMPL_ADD (array, i, memcpy, sve, __memcpy_sve) > #endif > IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_generic)) > IFUNC_IMPL (i, name, memmove, > @@ -54,6 +55,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, > IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_simd) > #if HAVE_AARCH64_SVE_ASM > IFUNC_IMPL_ADD (array, i, memmove, sve, __memmove_a64fx) > + IFUNC_IMPL_ADD (array, i, memmove, sve, __memmove_sve) > #endif > IFUNC_IMPL_ADD (array, i, memmove, 1, __memmove_generic)) > IFUNC_IMPL (i, name, memset, i'd expect MAX_IFUNC to be updated whenever we add a new memcpy. > diff --git a/sysdeps/aarch64/multiarch/memcpy.c b/sysdeps/aarch64/multiarch/memcpy.c > index a476dd548fd04fddcd0b39cc3263866769bb309a..6172fddcb83baf91e78f621cae7cf4dd9aff822a 100644 > --- a/sysdeps/aarch64/multiarch/memcpy.c > +++ b/sysdeps/aarch64/multiarch/memcpy.c > @@ -35,6 +35,7 @@ extern __typeof (__redirect_memcpy) __memcpy_thunderx2 attribute_hidden; > extern __typeof (__redirect_memcpy) __memcpy_falkor attribute_hidden; > # if HAVE_AARCH64_SVE_ASM > extern __typeof (__redirect_memcpy) __memcpy_a64fx attribute_hidden; > +extern __typeof (__redirect_memcpy) __memcpy_sve attribute_hidden; > # endif > > libc_ifunc (__libc_memcpy, > @@ -45,15 +46,12 @@ libc_ifunc (__libc_memcpy, > : (IS_THUNDERX2 (midr) || IS_THUNDERX2PA (midr) > ? __memcpy_thunderx2 > : (IS_NEOVERSE_N1 (midr) || IS_NEOVERSE_N2 (midr) > - || IS_NEOVERSE_V1 (midr) > ? __memcpy_simd > -# if HAVE_AARCH64_SVE_ASM > - : (IS_A64FX (midr) && sve > - ? __memcpy_a64fx > - : __memcpy_generic)))))); > -# else > - : __memcpy_generic))))); > -# endif > + : (sve && HAVE_AARCH64_SVE_ASM > + ? (IS_A64FX (midr) > + ? __memcpy_a64fx > + : __memcpy_sve) > + : __memcpy_generic)))))); i think if you remove the ifdef here, then the declaration should be outside ifdef too. same for memmove.