summaryrefslogtreecommitdiff
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 */