diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2010-04-15 07:49:30 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-04-15 07:49:30 -0700 |
commit | 6cc2b8a6dfc93212ce8437a2fb734a9225a4ba1c (patch) | |
tree | 2ac2af610b98cf2792b2170184bf737c34c9854f /sysdeps/i386/i686/multiarch | |
parent | 94a27fabebf851f4722654aa118a7d5f29a9c2ee (diff) | |
download | glibc-6cc2b8a6dfc93212ce8437a2fb734a9225a4ba1c.tar.gz glibc-6cc2b8a6dfc93212ce8437a2fb734a9225a4ba1c.tar.xz glibc-6cc2b8a6dfc93212ce8437a2fb734a9225a4ba1c.zip |
Fix bugs in x86-32 strcmp-sse4.S and strcmp-ssse3.S
Diffstat (limited to 'sysdeps/i386/i686/multiarch')
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcmp-sse4.S | 4 | ||||
-rw-r--r-- | sysdeps/i386/i686/multiarch/strcmp-ssse3.S | 11 |
2 files changed, 8 insertions, 7 deletions
diff --git a/sysdeps/i386/i686/multiarch/strcmp-sse4.S b/sysdeps/i386/i686/multiarch/strcmp-sse4.S index 81d6ec66f7..0de0a113c0 100644 --- a/sysdeps/i386/i686/multiarch/strcmp-sse4.S +++ b/sysdeps/i386/i686/multiarch/strcmp-sse4.S @@ -223,8 +223,8 @@ L(crosspage): inc %edx cmp $15, %edx jle L(crosspage) - add $16, %edi - add $16, %esi + add %edx, %edi + add %edx, %esi jmp L(check_offset) .p2align 4 diff --git a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S index 40994c05b1..a4de2259d2 100644 --- a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S +++ b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S @@ -1484,17 +1484,18 @@ L(gobble_ashr_12): sub $0xffff, %esi jnz L(exit) +#ifdef USE_AS_STRNCMP + cmp $16, %ebp + lea -16(%ebp), %ebp + jbe L(more8byteseq) +#endif + add $16, %ecx movdqa %xmm4, %xmm3 add $16, %edi jg L(nibble_ashr_12) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp - jbe L(more8byteseq) -#endif movdqa (%eax, %ecx), %xmm1 movdqa (%edx, %ecx), %xmm2 movdqa %xmm2, %xmm4 |