[PATCH v2] x86: Put wcs{n}len-sse4.1 in the sse4.1 text section

Sunil Pandey skpgkp2@gmail.com
Thu Jul 14 03:02:04 GMT 2022


On Fri, Jun 24, 2022 at 10:08 AM H.J. Lu via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> On Fri, Jun 24, 2022 at 9:42 AM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> >
> > Previously was missing but the two implementations shouldn't get in
> > the sse2 (generic) text section.
> > ---
> >  sysdeps/x86_64/multiarch/strlen-vec.S     | 6 +++++-
> >  sysdeps/x86_64/multiarch/wcslen-sse4_1.S  | 1 +
> >  sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S | 1 +
> >  3 files changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/sysdeps/x86_64/multiarch/strlen-vec.S b/sysdeps/x86_64/multiarch/strlen-vec.S
> > index 42b6124dfd..874123d604 100644
> > --- a/sysdeps/x86_64/multiarch/strlen-vec.S
> > +++ b/sysdeps/x86_64/multiarch/strlen-vec.S
> > @@ -28,6 +28,10 @@
> >  # define SHIFT_RETURN
> >  #endif
> >
> > +#ifndef SECTION
> > +# define SECTION(p)    p
> > +#endif
> > +
> >  /* Long lived register in strlen(s), strnlen(s, n) are:
> >
> >         %xmm3 - zero
> > @@ -37,7 +41,7 @@
> >  */
> >
> >
> > -.text
> > +       .section SECTION(.text),"ax",@progbits
> >  ENTRY(strlen)
> >
> >  /* Test 64 bytes from %rax for zero. Save result as bitmask in %rdx.  */
> > diff --git a/sysdeps/x86_64/multiarch/wcslen-sse4_1.S b/sysdeps/x86_64/multiarch/wcslen-sse4_1.S
> > index 7e62621afc..e306a77f51 100644
> > --- a/sysdeps/x86_64/multiarch/wcslen-sse4_1.S
> > +++ b/sysdeps/x86_64/multiarch/wcslen-sse4_1.S
> > @@ -1,4 +1,5 @@
> >  #define AS_WCSLEN
> >  #define strlen __wcslen_sse4_1
> > +#define SECTION(p)     p##.sse4.1
> >
> >  #include "strlen-vec.S"
> > diff --git a/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S b/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S
> > index 5fa51fe07c..d2f7dd6e22 100644
> > --- a/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S
> > +++ b/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S
> > @@ -1,5 +1,6 @@
> >  #define AS_WCSLEN
> >  #define AS_STRNLEN
> >  #define strlen __wcsnlen_sse4_1
> > +#define SECTION(p)     p##.sse4.1
> >
> >  #include "strlen-vec.S"
> > --
> > 2.34.1
> >
>
> LGTM.
>
> Thanks.
>
> --
> H.J.

I would like to backport this patch to release branches.
Any comments or objections?

--Sunil


More information about the Libc-alpha mailing list