From: H.J. Lu Date: Tue, 23 Feb 2010 12:14:37 +0000 (+0100) Subject: Fix SSSE3 memcpy X-Git-Tag: fedora/glibc-2.11.90-14~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5abc599d9ea29b8f43dfe67a6409f9cde6a869b4;p=thirdparty%2Fglibc.git Fix SSSE3 memcpy --- diff --git a/ChangeLog b/ChangeLog index d5b67e804f6..a4bb213f5e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-02-21 H.J. Lu + + * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Properly + decrement ECX when jumping to copy_page_by_rep. + 2010-02-19 Carl Fredrik Hammar * hurd/hurdioctl.c (tiocsctty): Call `do_tiocsctty' instead of diff --git a/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S b/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S index f85049185c4..0547b56d7c9 100644 --- a/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S +++ b/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S @@ -1249,11 +1249,12 @@ L(large_page): movdqu %xmm0, (%esi) movntdq %xmm1, (%edx) lea 16(%edx), %edx + lea -16(%ecx), %ecx cmp %al, %dl je L(copy_page_by_rep) L(large_page_loop_init): POP (%esi) - lea -0x90(%ecx), %ecx + lea -0x80(%ecx), %ecx POP (%edi) L(large_page_loop): prefetchnta 0x1c0(%eax)