diff options
Diffstat (limited to 'sysdeps/i386/i686')
-rw-r--r-- | sysdeps/i386/i686/strcmp.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/i386/i686/strcmp.S b/sysdeps/i386/i686/strcmp.S index b353db7e9d..eeaa393c26 100644 --- a/sysdeps/i386/i686/strcmp.S +++ b/sysdeps/i386/i686/strcmp.S @@ -51,6 +51,11 @@ L(oop): movb (%ecx), %al CHECK_BOUNDS_HIGH (%edx, STR2(%esp), jbe) jmp L(out) +#ifndef __BOUNDED_POINTERS__ +L(neq): movl $1, %eax + movl $-1, %ecx + cmovbl %ecx, %eax +#else L(neq): movl $1, %eax ja L(chk) negl %eax @@ -58,6 +63,7 @@ L(neq): movl $1, %eax the unequal characters. */ L(chk): CHECK_BOUNDS_HIGH (%ecx, STR1(%esp), jb) CHECK_BOUNDS_HIGH (%edx, STR2(%esp), jb) +#endif L(out): LEAVE ret |