about summary refs log tree commit diff
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