From 9c38deec96ebe1b052a0c1bef137b90967755f18 Mon Sep 17 00:00:00 2001 From: Noah Goldstein Date: Tue, 5 Jul 2022 17:06:41 -0700 Subject: x86: Remove generic strncat, strncpy, and stpncpy implementations These functions all have optimized versions: __strncat_sse2_unaligned, __strncpy_sse2_unaligned, and stpncpy_sse2_unaligned which are faster than their respective generic implementations. Since the sse2 versions can run on baseline x86_64, we should use these as the baseline implementation and can remove the generic implementations. Geometric mean of N=20 runs of the entire benchmark suite on: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (Tigerlake) __strncat_sse2_unaligned / __strncat_generic: .944 __strncpy_sse2_unaligned / __strncpy_generic: .726 __stpncpy_sse2_unaligned / __stpncpy_generic: .650 Tested build with and without multiarch and full check with multiarch. --- sysdeps/x86_64/multiarch/strncpy-generic.c | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 sysdeps/x86_64/multiarch/strncpy-generic.c (limited to 'sysdeps/x86_64/multiarch/strncpy-generic.c') diff --git a/sysdeps/x86_64/multiarch/strncpy-generic.c b/sysdeps/x86_64/multiarch/strncpy-generic.c deleted file mode 100644 index 9916153dd5..0000000000 --- a/sysdeps/x86_64/multiarch/strncpy-generic.c +++ /dev/null @@ -1,24 +0,0 @@ -/* strncpy. - Copyright (C) 2022 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - - -#define STRNCPY __strncpy_generic -#undef libc_hidden_builtin_def -#define libc_hidden_builtin_def(strncpy) - -#include -- cgit 1.4.1