about summary refs log tree commit diff
path: root/sysdeps/i386/i486/strcat.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/i486/strcat.S')
-rw-r--r--sysdeps/i386/i486/strcat.S20
1 files changed, 10 insertions, 10 deletions
diff --git a/sysdeps/i386/i486/strcat.S b/sysdeps/i386/i486/strcat.S
index e3d2181bdb..081a797933 100644
--- a/sysdeps/i386/i486/strcat.S
+++ b/sysdeps/i386/i486/strcat.S
@@ -1,6 +1,6 @@
 /* strcat(dest, src) -- Append SRC on the end of DEST.
 For Intel 80x86, x>=4.
-Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 Contributed by Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>.
 Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
 This file is part of the GNU C Library.
@@ -40,19 +40,19 @@ ENTRY (strcat)
 	jz L8			/* yes => return */
 
 	/* Test the first bytes separately until destination is aligned.  */
-	testb $3, %edx		/* destination pointer aligned? */
+	testl $3, %edx		/* destination pointer aligned? */
 	jz L1			/* yes => begin scan loop */
 	testb $0xff, (%edx)	/* is end of string? */
 	jz L2			/* yes => start appending */
 	incl %edx		/* increment source pointer */
 
-	testb $3, %edx		/* destination pointer aligned? */
+	testl $3, %edx		/* destination pointer aligned? */
 	jz L1			/* yes => begin scan loop */
 	testb $0xff, (%edx)	/* is end of string? */
 	jz L2			/* yes => start appending */
 	incl %edx		/* increment source pointer */
 
-	testb $3, %edx		/* destination pointer aligned? */
+	testl $3, %edx		/* destination pointer aligned? */
 	jz L1			/* yes => begin scan loop */
 	testb $0xff, (%edx)	/* is end of string? */
 	jz L2			/* yes => start appending */
@@ -152,27 +152,27 @@ L3:	testb %al, %al		/* is first byte NUL? */
 L2:	subl %ecx, %edx		/* reduce number of loop variants */
 
 	/* Now we have to align the source pointer.  */
-	testb $3, %ecx		/* pointer correctly aligned? */
+	testl $3, %ecx		/* pointer correctly aligned? */
 	jz L29			/* yes => start copy loop */
 	movb (%ecx), %al	/* get first byte */
 	movb %al, (%ecx,%edx)	/* and store it */
-	andl %al, %al		/* is byte NUL? */
+	andb %al, %al		/* is byte NUL? */
 	jz L8			/* yes => return */
 	incl %ecx		/* increment pointer */
 
-	testb $3, %ecx		/* pointer correctly aligned? */
+	testl $3, %ecx		/* pointer correctly aligned? */
 	jz L29			/* yes => start copy loop */
 	movb (%ecx), %al	/* get first byte */
 	movb %al, (%ecx,%edx)	/* and store it */
-	andl %al, %al		/* is byte NUL? */
+	andb %al, %al		/* is byte NUL? */
 	jz L8			/* yes => return */
 	incl %ecx		/* increment pointer */
 
-	testb $3, %ecx		/* pointer correctly aligned? */
+	testl $3, %ecx		/* pointer correctly aligned? */
 	jz L29			/* yes => start copy loop */
 	movb (%ecx), %al	/* get first byte */
 	movb %al, (%ecx,%edx)	/* and store it */
-	andl %al, %al		/* is byte NUL? */
+	andb %al, %al		/* is byte NUL? */
 	jz L8			/* yes => return */
 	incl %ecx		/* increment pointer */