From: Sunil Pandey <skpgkp2@gmail.com>
To: "H.J. Lu" <hjl.tools@gmail.com>,
Libc-stable Mailing List <libc-stable@sourceware.org>
Cc: GNU C Library <libc-alpha@sourceware.org>
Subject: Re: [PATCH] x86_64/multiarch: Sort sysdep_routines and put one entry per line
Date: Thu, 12 May 2022 12:20:58 -0700 [thread overview]
Message-ID: <CAMAf5_fb=FrGesZ9dUgRNsMaVxU7y2RGj0X9_Ka5c50Y4odurQ@mail.gmail.com> (raw)
In-Reply-To: <CAMe9rOrCmXO4nDUsgpcd2yczXLr1fJ-CNLdgox6CktxEJ6bqwA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 10898 bytes --]
On Sun, Feb 6, 2022 at 6:52 AM H.J. Lu via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> On Sat, Feb 5, 2022 at 4:29 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > ---
> > sysdeps/x86_64/multiarch/Makefile | 290 ++++++++++++++++++------------
> > 1 file changed, 176 insertions(+), 114 deletions(-)
> >
> > diff --git a/sysdeps/x86_64/multiarch/Makefile b/sysdeps/x86_64/multiarch/Makefile
> > index 044778585b..4274bfdd0d 100644
> > --- a/sysdeps/x86_64/multiarch/Makefile
> > +++ b/sysdeps/x86_64/multiarch/Makefile
> > @@ -1,89 +1,133 @@
> > ifeq ($(subdir),string)
> >
> > -sysdep_routines += strncat-c stpncpy-c strncpy-c \
> > - strcmp-sse2 strcmp-sse2-unaligned strcmp-ssse3 \
> > - strcmp-sse4_2 strcmp-avx2 \
> > - strncmp-sse2 strncmp-ssse3 strncmp-sse4_2 strncmp-avx2 \
> > - memchr-sse2 rawmemchr-sse2 memchr-avx2 rawmemchr-avx2 \
> > - memrchr-sse2 memrchr-avx2 \
> > - memcmp-sse2 \
> > - memcmpeq-sse2 \
> > - memcmp-avx2-movbe \
> > - memcmpeq-avx2 \
> > - memcmp-sse4 memcpy-ssse3 \
> > - memmove-ssse3 \
> > - memcpy-ssse3-back \
> > - memmove-ssse3-back \
> > - memmove-avx512-no-vzeroupper \
> > - strcasecmp_l-sse2 strcasecmp_l-ssse3 \
> > - strcasecmp_l-sse4_2 strcasecmp_l-avx \
> > - strncase_l-sse2 strncase_l-ssse3 \
> > - strncase_l-sse4_2 strncase_l-avx \
> > - strchr-sse2 strchrnul-sse2 strchr-avx2 strchrnul-avx2 \
> > - strrchr-sse2 strrchr-avx2 \
> > - strlen-sse2 strnlen-sse2 strlen-avx2 strnlen-avx2 \
> > - strcat-avx2 strncat-avx2 \
> > - strcat-ssse3 strncat-ssse3\
> > - strcpy-avx2 strncpy-avx2 \
> > - strcpy-sse2 stpcpy-sse2 \
> > - strcpy-ssse3 strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3 \
> > - strcpy-sse2-unaligned strncpy-sse2-unaligned \
> > - stpcpy-sse2-unaligned stpncpy-sse2-unaligned \
> > - stpcpy-avx2 stpncpy-avx2 \
> > - strcat-sse2 \
> > - strcat-sse2-unaligned strncat-sse2-unaligned \
> > - strchr-sse2-no-bsf memcmp-ssse3 strstr-sse2-unaligned \
> > - strcspn-sse2 strpbrk-sse2 strspn-sse2 \
> > - strcspn-c strpbrk-c strspn-c varshift \
> > - memset-avx512-no-vzeroupper \
> > - memmove-sse2-unaligned-erms \
> > - memmove-avx-unaligned-erms \
> > - memmove-avx512-unaligned-erms \
> > - memset-sse2-unaligned-erms \
> > - memset-avx2-unaligned-erms \
> > - memset-avx512-unaligned-erms \
> > - memchr-avx2-rtm \
> > - memcmp-avx2-movbe-rtm \
> > - memcmpeq-avx2-rtm \
> > - memmove-avx-unaligned-erms-rtm \
> > - memrchr-avx2-rtm \
> > - memset-avx2-unaligned-erms-rtm \
> > - rawmemchr-avx2-rtm \
> > - strchr-avx2-rtm \
> > - strcmp-avx2-rtm \
> > - strchrnul-avx2-rtm \
> > - stpcpy-avx2-rtm \
> > - stpncpy-avx2-rtm \
> > - strcat-avx2-rtm \
> > - strcpy-avx2-rtm \
> > - strlen-avx2-rtm \
> > - strncat-avx2-rtm \
> > - strncmp-avx2-rtm \
> > - strncpy-avx2-rtm \
> > - strnlen-avx2-rtm \
> > - strrchr-avx2-rtm \
> > - memchr-evex \
> > - memcmp-evex-movbe \
> > - memcmpeq-evex \
> > - memmove-evex-unaligned-erms \
> > - memrchr-evex \
> > - memset-evex-unaligned-erms \
> > - rawmemchr-evex \
> > - stpcpy-evex \
> > - stpncpy-evex \
> > - strcat-evex \
> > - strchr-evex \
> > - strchrnul-evex \
> > - strcmp-evex \
> > - strcpy-evex \
> > - strlen-evex \
> > - strncat-evex \
> > - strncmp-evex \
> > - strncpy-evex \
> > - strnlen-evex \
> > - strrchr-evex \
> > - memchr-evex-rtm \
> > - rawmemchr-evex-rtm
> > +sysdep_routines += \
> > + memchr-avx2 \
> > + memchr-avx2-rtm \
> > + memchr-evex \
> > + memchr-evex-rtm \
> > + memchr-sse2 \
> > + memcmp-avx2-movbe \
> > + memcmp-avx2-movbe-rtm \
> > + memcmp-evex-movbe \
> > + memcmp-sse2 \
> > + memcmp-sse4 \
> > + memcmp-ssse3 \
> > + memcmpeq-avx2 \
> > + memcmpeq-avx2-rtm \
> > + memcmpeq-evex \
> > + memcmpeq-sse2 \
> > + memcpy-ssse3 \
> > + memcpy-ssse3-back \
> > + memmove-avx-unaligned-erms \
> > + memmove-avx-unaligned-erms-rtm \
> > + memmove-avx512-no-vzeroupper \
> > + memmove-avx512-unaligned-erms \
> > + memmove-evex-unaligned-erms \
> > + memmove-sse2-unaligned-erms \
> > + memmove-ssse3 \
> > + memmove-ssse3-back \
> > + memrchr-avx2 \
> > + memrchr-avx2-rtm \
> > + memrchr-evex \
> > + memrchr-sse2 \
> > + memset-avx2-unaligned-erms \
> > + memset-avx2-unaligned-erms-rtm \
> > + memset-avx512-no-vzeroupper \
> > + memset-avx512-unaligned-erms \
> > + memset-evex-unaligned-erms \
> > + memset-sse2-unaligned-erms \
> > + rawmemchr-avx2 \
> > + rawmemchr-avx2-rtm \
> > + rawmemchr-evex \
> > + rawmemchr-evex-rtm \
> > + rawmemchr-sse2 \
> > + stpcpy-avx2 \
> > + stpcpy-avx2-rtm \
> > + stpcpy-evex \
> > + stpcpy-sse2 \
> > + stpcpy-sse2-unaligned \
> > + stpcpy-ssse3 \
> > + stpncpy-avx2 \
> > + stpncpy-avx2-rtm \
> > + stpncpy-c \
> > + stpncpy-evex \
> > + stpncpy-sse2-unaligned \
> > + stpncpy-ssse3 \
> > + strcasecmp_l-avx \
> > + strcasecmp_l-sse2 \
> > + strcasecmp_l-sse4_2 \
> > + strcasecmp_l-ssse3 \
> > + strcat-avx2 \
> > + strcat-avx2-rtm \
> > + strcat-evex \
> > + strcat-sse2 \
> > + strcat-sse2-unaligned \
> > + strcat-ssse3 \
> > + strchr-avx2 \
> > + strchr-avx2-rtm \
> > + strchr-evex \
> > + strchr-sse2 \
> > + strchr-sse2-no-bsf \
> > + strchrnul-avx2 \
> > + strchrnul-avx2-rtm \
> > + strchrnul-evex \
> > + strchrnul-sse2 \
> > + strcmp-avx2 \
> > + strcmp-avx2-rtm \
> > + strcmp-evex \
> > + strcmp-sse2 \
> > + strcmp-sse2-unaligned \
> > + strcmp-sse4_2 \
> > + strcmp-ssse3 \
> > + strcpy-avx2 \
> > + strcpy-avx2-rtm \
> > + strcpy-evex \
> > + strcpy-sse2 \
> > + strcpy-sse2-unaligned \
> > + strcpy-ssse3 \
> > + strcspn-c \
> > + strcspn-sse2 \
> > + strlen-avx2 \
> > + strlen-avx2-rtm \
> > + strlen-evex \
> > + strlen-sse2 \
> > + strncase_l-avx \
> > + strncase_l-sse2 \
> > + strncase_l-sse4_2 \
> > + strncase_l-ssse3 \
> > + strncat-avx2 \
> > + strncat-avx2-rtm \
> > + strncat-c \
> > + strncat-evex \
> > + strncat-sse2-unaligned \
> > + strncat-ssse3 \
> > + strncmp-avx2 \
> > + strncmp-avx2-rtm \
> > + strncmp-evex \
> > + strncmp-sse2 \
> > + strncmp-sse4_2 \
> > + strncmp-ssse3 \
> > + strncpy-avx2 \
> > + strncpy-avx2-rtm \
> > + strncpy-c \
> > + strncpy-evex \
> > + strncpy-sse2-unaligned \
> > + strncpy-ssse3 \
> > + strnlen-avx2 \
> > + strnlen-avx2-rtm \
> > + strnlen-evex \
> > + strnlen-sse2 \
> > + strpbrk-c \
> > + strpbrk-sse2 \
> > + strrchr-avx2 \
> > + strrchr-avx2-rtm \
> > + strrchr-evex \
> > + strrchr-sse2 \
> > + strspn-c \
> > + strspn-sse2 \
> > + strstr-sse2-unaligned \
> > + varshift \
> > +# sysdep_routines
> > CFLAGS-varshift.c += -msse4
> > CFLAGS-strcspn-c.c += -msse4
> > CFLAGS-strpbrk-c.c += -msse4
> > @@ -91,37 +135,55 @@ CFLAGS-strspn-c.c += -msse4
> > endif
> >
> > ifeq ($(subdir),wcsmbs)
> > -sysdep_routines += wmemcmp-sse4 wmemcmp-ssse3 wmemcmp-c \
> > - wmemcmp-avx2-movbe \
> > - wmemchr-sse2 wmemchr-avx2 \
> > - wcscmp-sse2 wcscmp-avx2 \
> > - wcsncmp-sse2 wcsncmp-avx2 \
> > - wcscpy-ssse3 wcscpy-c \
> > - wcschr-sse2 wcschr-avx2 \
> > - wcsrchr-sse2 wcsrchr-avx2 \
> > - wcslen-sse2 wcslen-sse4_1 wcslen-avx2 \
> > - wcsnlen-c wcsnlen-sse4_1 wcsnlen-avx2 \
> > - wcschr-avx2-rtm \
> > - wcscmp-avx2-rtm \
> > - wcslen-avx2-rtm \
> > - wcsncmp-avx2-rtm \
> > - wcsnlen-avx2-rtm \
> > - wcsrchr-avx2-rtm \
> > - wmemchr-avx2-rtm \
> > - wmemcmp-avx2-movbe-rtm \
> > - wcschr-evex \
> > - wcscmp-evex \
> > - wcslen-evex \
> > - wcsncmp-evex \
> > - wcsnlen-evex \
> > - wcsrchr-evex \
> > - wmemchr-evex \
> > - wmemcmp-evex-movbe \
> > - wmemchr-evex-rtm
> > +sysdep_routines += \
> > + wcschr-avx2 \
> > + wcschr-avx2-rtm \
> > + wcschr-evex \
> > + wcschr-sse2 \
> > + wcscmp-avx2 \
> > + wcscmp-avx2-rtm \
> > + wcscmp-evex \
> > + wcscmp-sse2 \
> > + wcscpy-c \
> > + wcscpy-ssse3 \
> > + wcslen-avx2 \
> > + wcslen-avx2-rtm \
> > + wcslen-evex \
> > + wcslen-sse2 \
> > + wcslen-sse4_1 \
> > + wcsncmp-avx2 \
> > + wcsncmp-avx2-rtm \
> > + wcsncmp-evex \
> > + wcsncmp-sse2 \
> > + wcsnlen-avx2 \
> > + wcsnlen-avx2-rtm \
> > + wcsnlen-c \
> > + wcsnlen-evex \
> > + wcsnlen-sse4_1 \
> > + wcsrchr-avx2 \
> > + wcsrchr-avx2-rtm \
> > + wcsrchr-evex \
> > + wcsrchr-sse2 \
> > + wmemchr-avx2 \
> > + wmemchr-avx2-rtm \
> > + wmemchr-evex \
> > + wmemchr-evex-rtm \
> > + wmemchr-sse2 \
> > + wmemcmp-avx2-movbe \
> > + wmemcmp-avx2-movbe-rtm \
> > + wmemcmp-c \
> > + wmemcmp-evex-movbe \
> > + wmemcmp-sse4 \
> > + wmemcmp-ssse3 \
> > +# sysdep_routines
> > endif
> >
> > ifeq ($(subdir),debug)
> > -sysdep_routines += memcpy_chk-nonshared mempcpy_chk-nonshared \
> > - memmove_chk-nonshared memset_chk-nonshared \
> > - wmemset_chk-nonshared
> > +sysdep_routines += \
> > + memcpy_chk-nonshared \
> > + memmove_chk-nonshared \
> > + mempcpy_chk-nonshared \
> > + memset_chk-nonshared \
> > + wmemset_chk-nonshared \
> > +# sysdep_routines
> > endif
> > --
> > 2.34.1
> >
>
> I am checking this in.
>
> --
> H.J.
I would like to backport this patch to release branches.
Any comments or objections?
Conflict resolution patch attached.
--Sunil
[-- Attachment #2: 0002-x86_64-multiarch-Sort-sysdep_routines-and-put-one-en.patch --]
[-- Type: application/octet-stream, Size: 2637 bytes --]
From b3c0a23005b3c5b488cd5022e1e1dbf543e1e792 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Sat, 5 Feb 2022 11:52:33 -0800
Subject: [PATCH 02/26] x86_64/multiarch: Sort sysdep_routines and put one
entry per line
(cherry picked from commit c328d0152d4b14cca58407ec68143894c8863004)
---
sysdeps/x86_64/multiarch/Makefile | 78 +++++++++++++++++++------------
1 file changed, 48 insertions(+), 30 deletions(-)
diff --git a/sysdeps/x86_64/multiarch/Makefile b/sysdeps/x86_64/multiarch/Makefile
index 6e363e4fa9..e7b413edad 100644
--- a/sysdeps/x86_64/multiarch/Makefile
+++ b/sysdeps/x86_64/multiarch/Makefile
@@ -136,37 +136,55 @@ CFLAGS-strspn-c.c += -msse4
endif
ifeq ($(subdir),wcsmbs)
-sysdep_routines += wmemcmp-sse4 wmemcmp-ssse3 wmemcmp-c \
- wmemcmp-avx2-movbe \
- wmemchr-sse2 wmemchr-avx2 \
- wcscmp-sse2 wcscmp-avx2 \
- wcsncmp-sse2 wcsncmp-avx2 \
- wcscpy-ssse3 wcscpy-c \
- wcschr-sse2 wcschr-avx2 \
- wcsrchr-sse2 wcsrchr-avx2 \
- wcslen-sse2 wcslen-sse4_1 wcslen-avx2 \
- wcsnlen-c wcsnlen-sse4_1 wcsnlen-avx2 \
- wcschr-avx2-rtm \
- wcscmp-avx2-rtm \
- wcslen-avx2-rtm \
- wcsncmp-avx2-rtm \
- wcsnlen-avx2-rtm \
- wcsrchr-avx2-rtm \
- wmemchr-avx2-rtm \
- wmemcmp-avx2-movbe-rtm \
- wcschr-evex \
- wcscmp-evex \
- wcslen-evex \
- wcsncmp-evex \
- wcsnlen-evex \
- wcsrchr-evex \
- wmemchr-evex \
- wmemcmp-evex-movbe \
- wmemchr-evex-rtm
+sysdep_routines += \
+ wcschr-avx2 \
+ wcschr-avx2-rtm \
+ wcschr-evex \
+ wcschr-sse2 \
+ wcscmp-avx2 \
+ wcscmp-avx2-rtm \
+ wcscmp-evex \
+ wcscmp-sse2 \
+ wcscpy-c \
+ wcscpy-ssse3 \
+ wcslen-avx2 \
+ wcslen-avx2-rtm \
+ wcslen-evex \
+ wcslen-sse2 \
+ wcslen-sse4_1 \
+ wcsncmp-avx2 \
+ wcsncmp-avx2-rtm \
+ wcsncmp-evex \
+ wcsncmp-sse2 \
+ wcsnlen-avx2 \
+ wcsnlen-avx2-rtm \
+ wcsnlen-c \
+ wcsnlen-evex \
+ wcsnlen-sse4_1 \
+ wcsrchr-avx2 \
+ wcsrchr-avx2-rtm \
+ wcsrchr-evex \
+ wcsrchr-sse2 \
+ wmemchr-avx2 \
+ wmemchr-avx2-rtm \
+ wmemchr-evex \
+ wmemchr-evex-rtm \
+ wmemchr-sse2 \
+ wmemcmp-avx2-movbe \
+ wmemcmp-avx2-movbe-rtm \
+ wmemcmp-c \
+ wmemcmp-evex-movbe \
+ wmemcmp-sse4 \
+ wmemcmp-ssse3 \
+# sysdep_routines
endif
ifeq ($(subdir),debug)
-sysdep_routines += memcpy_chk-nonshared mempcpy_chk-nonshared \
- memmove_chk-nonshared memset_chk-nonshared \
- wmemset_chk-nonshared
+sysdep_routines += \
+ memcpy_chk-nonshared \
+ memmove_chk-nonshared \
+ mempcpy_chk-nonshared \
+ memset_chk-nonshared \
+ wmemset_chk-nonshared \
+# sysdep_routines
endif
--
2.35.1
parent reply other threads:[~2022-05-12 19:21 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <CAMe9rOrCmXO4nDUsgpcd2yczXLr1fJ-CNLdgox6CktxEJ6bqwA@mail.gmail.com>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMAf5_fb=FrGesZ9dUgRNsMaVxU7y2RGj0X9_Ka5c50Y4odurQ@mail.gmail.com' \
--to=skpgkp2@gmail.com \
--cc=hjl.tools@gmail.com \
--cc=libc-alpha@sourceware.org \
--cc=libc-stable@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).