From 6cc2b8a6dfc93212ce8437a2fb734a9225a4ba1c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 15 Apr 2010 07:49:30 -0700 Subject: Fix bugs in x86-32 strcmp-sse4.S and strcmp-ssse3.S --- sysdeps/i386/i686/multiarch/strcmp-sse4.S | 4 ++-- sysdeps/i386/i686/multiarch/strcmp-ssse3.S | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'sysdeps/i386/i686') 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 -- cgit 1.4.1