From 5abc599d9ea29b8f43dfe67a6409f9cde6a869b4 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 23 Feb 2010 13:14:37 +0100 Subject: [PATCH] Fix SSSE3 memcpy --- ChangeLog | 5 +++++ sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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) -- 2.47.2