diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2010-02-23 13:14:37 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2010-02-23 13:18:05 +0100 |
commit | 5abc599d9ea29b8f43dfe67a6409f9cde6a869b4 (patch) | |
tree | c8dce89e3527ef52d8bfa7d28bcca8ccb60b61a4 | |
parent | 8404561b1998d867d6631643780c72ba03e48390 (diff) |
Fix SSSE3 memcpy
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S | 3 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2010-02-21 H.J. Lu <hongjiu.lu@intel.com> + + * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Properly + decrement ECX when jumping to copy_page_by_rep. + 2010-02-19 Carl Fredrik Hammar <hammy.lite@gmail.com> * 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 f85049185c..0547b56d7c 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) |