This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug string/21572] __strcmp_sse42/__strcmp_avx /__strncmp_avx are unused


https://sourceware.org/bugzilla/show_bug.cgi?id=21572

--- Comment #8 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, hjl/ifunc/master has been created
        at  273bf3030e363f249347c2266ead51bb731f1246 (commit)

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=273bf3030e363f249347c2266ead51bb731f1246

commit 273bf3030e363f249347c2266ead51bb731f1246
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 12 17:08:44 2017 -0700

    x86-64: Implement strcmp family IFUNC selectors in C

    Implement strcmp family IFUNC selectors in C.

    All internal calls within libc.so can use IFUNC on x86-64 since unlike
    x86, x86-64 supports PC-relative addressing to access the GOT entry so
    that it can call via PLT without using an extra register.  For libc.a,
    we can't use IFUNC for functions which are called before IFUNC has been
    initialized.  Use IFUNC internally reduces the icache footprint since
    libc.so and other codes in the process use the same implementations.
    This patch uses IFUNC for strcmp family functions within libc.

        * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
        strcmp-sse2, strcmp-sse4_2, strncmp-sse2, strncmp-sse4_2,
        strcasecmp_l-sse2, strcasecmp_l-sse4_2, strcasecmp_l-avx,
        strncase_l-sse2, strncase_l-sse4_2 and strncase_l-avx.
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Add tests for __strcmp_avx and
        __strncmp_avx.
        * sysdeps/x86_64/multiarch/ifunc-strcasecmp.h: New file.
        * sysdeps/x86_64/multiarch/strcasecmp.c: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l-avx.S: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l-sse4_2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l.c: Likewise.
        * sysdeps/x86_64/multiarch/strcmp-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcmp-sse4_2.S: Likewise.
        * sysdeps/x86_64/multiarch/strcmp.c: Likewise.
        * sysdeps/x86_64/multiarch/strncase.c: Likewise.
        * sysdeps/x86_64/multiarch/strncase_l-avx.S : Likewise.
        * sysdeps/x86_64/multiarch/strncase_l-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strncase_l-sse4_2.S: Likewise.
        * sysdeps/x86_64/multiarch/strncase_l.c: Likewise.
        * sysdeps/x86_64/multiarch/strncmp-sse2.S: Likewise.
        * sysdeps/x86_64/multiarch/strncmp-sse4_2.S: Likewise.
        * sysdeps/x86_64/multiarch/strncmp.c: Likewise.
        * sysdeps/x86_64/multiarch/strcasecmp_l.S: Removed.
        * sysdeps/x86_64/multiarch/strcmp.S: Likewise.
        * sysdeps/x86_64/multiarch/strncase_l.S: Likewise.
        * sysdeps/x86_64/multiarch/strncmp.S: Likewise.
        * sysdeps/x86_64/multiarch/strcmp-sse42.S: Include <sysdep.h>.
        (STRCMP_SSE42): New.  Defined to __strcmp_sse42 if not defined.
        [USE_AS_STRCASECMP_L || USE_AS_STRNCASECMP_L]: Include
        "locale-defines.h".
        (UPDATE_STRNCMP_COUNTER): New.
        (SECTION): Likewise.
        (GLABEL): Likewise.
        (LABEL): Likewise.
        * sysdeps/x86_64/multiarch/strncmp-ssse3.S: Rewrite and enable
        for libc.a

    Don't fix BZ #21572

-----------------------------------------------------------------------

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]