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/19776] Improve sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S


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

--- Comment #7 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/pr19776/master has been created
        at  886d917c20e937a48d5ce538063cd40168eadd57 (commit)

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

commit 886d917c20e937a48d5ce538063cd40168eadd57
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Mar 7 05:47:26 2016 -0800

    Enable __memcpy_chk_sse2_unaligned

    Check Fast_Unaligned_Load for __memcpy_chk_sse2_unaligned

        [BZ #19776]
        * sysdeps/x86_64/multiarch/memcpy_chk.S (__memcpy_chk): Check
        Fast_Unaligned_Load to enable __memcpy_chk_sse2_unaligned.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b03a8d07233bd436bc3c36c5fe4ce50e719e0100

commit b03a8d07233bd436bc3c36c5fe4ce50e719e0100
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Mar 7 05:44:58 2016 -0800

    Enable __mempcpy_chk_sse2_unaligned

    Check Fast_Unaligned_Load for __mempcpy_chk_sse2_unaligned

        [BZ #19776]
        * sysdeps/x86_64/multiarch/mempcpy_chk.S (__mempcpy_chk): Check
        Fast_Unaligned_Load to enable __mempcpy_chk_sse2_unaligned.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=192ab2971343d8f8132239442ab76c4cc3a29bed

commit 192ab2971343d8f8132239442ab76c4cc3a29bed
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Mar 7 05:42:46 2016 -0800

    Enable __mempcpy_sse2_unaligned

    Check Fast_Unaligned_Load for __mempcpy_sse2_unaligned.

        [BZ #19776]
        * sysdeps/x86_64/multiarch/mempcpy.S (__mempcpy): Check
        Fast_Unaligned_Load to enable __mempcpy_sse2_unaligned.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e8aae678daf592b1d8e17d13d6a6a07d4b04bfa0

commit e8aae678daf592b1d8e17d13d6a6a07d4b04bfa0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Mar 6 17:06:41 2016 -0800

    Add entry points for __mempcpy_sse2_unaligned and _chk functions

    Add entry points for __mempcpy_chk_sse2_unaligned,
    __mempcpy_sse2_unaligned and __memcpy_chk_sse2_unaligned.

        [BZ #19776]
        * sysdeps/x86_64/multiarch/ifunc-impl-list.c
        (__libc_ifunc_impl_list): Test __memcpy_chk_sse2_unaligned,
        __mempcpy_chk_sse2_unaligned and __mempcpy_sse2_unaligned.
        * sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S
        (__mempcpy_chk_sse2_unaligned): New.
        (__mempcpy_sse2_unaligned): Likewise.
        (__memcpy_chk_sse2_unaligned): Likewise.
        (L(start): New label.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=465818e53eb2f5ccd71def83774f21f9053a2951

commit 465818e53eb2f5ccd71def83774f21f9053a2951
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Mar 6 16:52:53 2016 -0800

    Remove L(overlapping) from memcpy-sse2-unaligned.S

    Since memcpy doesn't need to check overlapping source and destination,
    we can remove L(overlapping).

        [BZ #19776]
        * sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S
        (L(overlapping)): Removed.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2b6078cf267ff798a4df7547e7b1a5969b2036af

commit 2b6078cf267ff798a4df7547e7b1a5969b2036af
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Mar 6 13:46:54 2016 -0800

    Don't use RAX as scratch register

    To prepare sharing code with mempcpy, don't use RAX as scratch register
    so that RAX can be set to the return value at entrance.

        [BZ #19776]
        * sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Don't use
        RAX as scratch register.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=cadcb611f7dff79400ddf616135ecb739ab3a67f

commit cadcb611f7dff79400ddf616135ecb739ab3a67f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Mar 6 14:16:32 2016 -0800

    Remove dead code from memcpy-sse2-unaligned.S

    There are

    ENTRY(__memcpy_sse2_unaligned)
       movq  %rsi, %rax
       leaq  (%rdx,%rdx), %rcx
       subq  %rdi, %rax
       subq  %rdx, %rax
       cmpq  %rcx, %rax
       jb L(overlapping)

    When branch is taken,

       cmpq  %rsi, %rdi
       jae   .L3

    will never be taken.  We can remove the dead code.

        [BZ #19776]
        * sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S (.L3) Removed.

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

-- 
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]