[v1,10/23] x86: Remove strpbrk-sse2.S and use the generic implementation
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
Commit Message
The generic implementation is faster (see strcspn commit).
All string/memory tests pass.
---
.../x86_64/multiarch/{strpbrk-sse2.S => strpbrk-sse2.c} | 9 ++++-----
sysdeps/x86_64/strpbrk.S | 3 ---
2 files changed, 4 insertions(+), 8 deletions(-)
rename sysdeps/x86_64/multiarch/{strpbrk-sse2.S => strpbrk-sse2.c} (84%)
delete mode 100644 sysdeps/x86_64/strpbrk.S
Comments
On Wed, Mar 23, 2022 at 3:00 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> The generic implementation is faster (see strcspn commit).
>
> All string/memory tests pass.
> ---
> .../x86_64/multiarch/{strpbrk-sse2.S => strpbrk-sse2.c} | 9 ++++-----
> sysdeps/x86_64/strpbrk.S | 3 ---
> 2 files changed, 4 insertions(+), 8 deletions(-)
> rename sysdeps/x86_64/multiarch/{strpbrk-sse2.S => strpbrk-sse2.c} (84%)
> delete mode 100644 sysdeps/x86_64/strpbrk.S
>
> diff --git a/sysdeps/x86_64/multiarch/strpbrk-sse2.S b/sysdeps/x86_64/multiarch/strpbrk-sse2.c
> similarity index 84%
> rename from sysdeps/x86_64/multiarch/strpbrk-sse2.S
> rename to sysdeps/x86_64/multiarch/strpbrk-sse2.c
> index d537b6c27b..d03214c4fb 100644
> --- a/sysdeps/x86_64/multiarch/strpbrk-sse2.S
> +++ b/sysdeps/x86_64/multiarch/strpbrk-sse2.c
> @@ -1,4 +1,4 @@
> -/* strpbrk optimized with SSE2.
> +/* strpbrk.
> Copyright (C) 2017-2022 Free Software Foundation, Inc.
> This file is part of the GNU C Library.
>
> @@ -19,11 +19,10 @@
> #if IS_IN (libc)
>
> # include <sysdep.h>
> -# define strcspn __strpbrk_sse2
> +# define STRPBRK __strpbrk_sse2
>
> # undef libc_hidden_builtin_def
> -# define libc_hidden_builtin_def(strpbrk)
> +# define libc_hidden_builtin_def(STRPBRK)
> #endif
>
> -#define USE_AS_STRPBRK
> -#include <sysdeps/x86_64/strcspn.S>
> +#include <string/strpbrk.c>
> diff --git a/sysdeps/x86_64/strpbrk.S b/sysdeps/x86_64/strpbrk.S
> deleted file mode 100644
> index 21888a5b92..0000000000
> --- a/sysdeps/x86_64/strpbrk.S
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -#define strcspn strpbrk
> -#define USE_AS_STRPBRK
> -#include <sysdeps/x86_64/strcspn.S>
> --
> 2.25.1
>
LGTM.
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Thanks.
On Thu, Mar 24, 2022 at 12:00 PM H.J. Lu via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> On Wed, Mar 23, 2022 at 3:00 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> >
> > The generic implementation is faster (see strcspn commit).
> >
> > All string/memory tests pass.
> > ---
> > .../x86_64/multiarch/{strpbrk-sse2.S => strpbrk-sse2.c} | 9 ++++-----
> > sysdeps/x86_64/strpbrk.S | 3 ---
> > 2 files changed, 4 insertions(+), 8 deletions(-)
> > rename sysdeps/x86_64/multiarch/{strpbrk-sse2.S => strpbrk-sse2.c} (84%)
> > delete mode 100644 sysdeps/x86_64/strpbrk.S
> >
> > diff --git a/sysdeps/x86_64/multiarch/strpbrk-sse2.S b/sysdeps/x86_64/multiarch/strpbrk-sse2.c
> > similarity index 84%
> > rename from sysdeps/x86_64/multiarch/strpbrk-sse2.S
> > rename to sysdeps/x86_64/multiarch/strpbrk-sse2.c
> > index d537b6c27b..d03214c4fb 100644
> > --- a/sysdeps/x86_64/multiarch/strpbrk-sse2.S
> > +++ b/sysdeps/x86_64/multiarch/strpbrk-sse2.c
> > @@ -1,4 +1,4 @@
> > -/* strpbrk optimized with SSE2.
> > +/* strpbrk.
> > Copyright (C) 2017-2022 Free Software Foundation, Inc.
> > This file is part of the GNU C Library.
> >
> > @@ -19,11 +19,10 @@
> > #if IS_IN (libc)
> >
> > # include <sysdep.h>
> > -# define strcspn __strpbrk_sse2
> > +# define STRPBRK __strpbrk_sse2
> >
> > # undef libc_hidden_builtin_def
> > -# define libc_hidden_builtin_def(strpbrk)
> > +# define libc_hidden_builtin_def(STRPBRK)
> > #endif
> >
> > -#define USE_AS_STRPBRK
> > -#include <sysdeps/x86_64/strcspn.S>
> > +#include <string/strpbrk.c>
> > diff --git a/sysdeps/x86_64/strpbrk.S b/sysdeps/x86_64/strpbrk.S
> > deleted file mode 100644
> > index 21888a5b92..0000000000
> > --- a/sysdeps/x86_64/strpbrk.S
> > +++ /dev/null
> > @@ -1,3 +0,0 @@
> > -#define strcspn strpbrk
> > -#define USE_AS_STRPBRK
> > -#include <sysdeps/x86_64/strcspn.S>
> > --
> > 2.25.1
> >
>
> LGTM.
>
> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
>
> Thanks.
>
> --
> H.J.
I would like to backport this patch to release branches.
Any comments or objections?
--Sunil
similarity index 84%
rename from sysdeps/x86_64/multiarch/strpbrk-sse2.S
rename to sysdeps/x86_64/multiarch/strpbrk-sse2.c
@@ -1,4 +1,4 @@
-/* strpbrk optimized with SSE2.
+/* strpbrk.
Copyright (C) 2017-2022 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -19,11 +19,10 @@
#if IS_IN (libc)
# include <sysdep.h>
-# define strcspn __strpbrk_sse2
+# define STRPBRK __strpbrk_sse2
# undef libc_hidden_builtin_def
-# define libc_hidden_builtin_def(strpbrk)
+# define libc_hidden_builtin_def(STRPBRK)
#endif
-#define USE_AS_STRPBRK
-#include <sysdeps/x86_64/strcspn.S>
+#include <string/strpbrk.c>
deleted file mode 100644
@@ -1,3 +0,0 @@
-#define strcspn strpbrk
-#define USE_AS_STRPBRK
-#include <sysdeps/x86_64/strcspn.S>