aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/i686/strcmp.S6
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