summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-06-30 19:46:39 +0000
committerUlrich Drepper <drepper@redhat.com>2000-06-30 19:46:39 +0000
commitdbda6079a64a9dbc6dfb24280af01e871e6f7de5 (patch)
treef724421c02c29930f591f840421a475dbb39fd06 /sysdeps
parent80503fa0e23a2231608b8c3223cd5b36087323cd (diff)
downloadglibc-dbda6079a64a9dbc6dfb24280af01e871e6f7de5.tar.gz
glibc-dbda6079a64a9dbc6dfb24280af01e871e6f7de5.tar.xz
glibc-dbda6079a64a9dbc6dfb24280af01e871e6f7de5.zip
Update.
2000-06-30  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/i686/strcmp.S: Little optimization in non-BP case.
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