aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/strcpy.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-10-11 22:31:36 +0000
committerUlrich Drepper <drepper@redhat.com>1999-10-11 22:31:36 +0000
commit217eb19b6f28429aa02792764bfd7b9f51743be2 (patch)
tree8889fa7ed4cc9b561e2fc8372b604cbd55eb2402 /sysdeps/powerpc/strcpy.S
parentdf08cc56eb0a050bd1d7cf569d78d4f9d2a20964 (diff)
downloadglibc-217eb19b6f28429aa02792764bfd7b9f51743be2.tar
glibc-217eb19b6f28429aa02792764bfd7b9f51743be2.tar.gz
glibc-217eb19b6f28429aa02792764bfd7b9f51743be2.tar.bz2
glibc-217eb19b6f28429aa02792764bfd7b9f51743be2.zip
Update.
1999-10-11 Ulrich Drepper <drepper@cygnus.com> * sysdeps/powerpc/Makefile [math] (libm-support): Remove t_sqrt. * sysdeps/powerpc/e_sqrt.c: Moved to... * sysdeps/powerpc/fpu/e_sqrt.c: ...here. * sysdeps/powerpc/e_sqrtf.c: Moved to... * sysdeps/powerpc/fpu/e_sqrtf.c: ...here. * sysdeps/powerpc/submul_1.S: Adjust asm syntax. * sysdeps/powerpc/sub_n.S: Likewise. * sysdeps/powerpc/strlen.S: Likewise. * sysdeps/powerpc/strcpy.S: Likewise. * sysdeps/powerpc/strcmp.S: Likewise. * sysdeps/powerpc/strchr.S: Likewise. * sysdeps/powerpc/stpcpy.S: Likewise. * sysdeps/powerpc/setjmp.S: Likewise. * sysdeps/powerpc/rshift.S: Likewise. * sysdeps/powerpc/ppc-mcount.S: Likewise. * sysdeps/powerpc/mul_1.S: Likewise. * sysdeps/powerpc/memset.S: Likewise. * sysdeps/powerpc/lshift.S: Likewise. * sysdeps/powerpc/dl-start.S: Likewise. * sysdeps/powerpc/bzero.S: Likewise. * sysdeps/powerpc/bsd-setjmp.S: Likewise. * sysdeps/powerpc/bsd-_setjmp.S: Likewise. * sysdeps/powerpc/addmul_1.S: Likewise. * sysdeps/powerpc/add_n.S: Likewise. * sysdeps/powerpc/__longjmp.S: Likewise. * sysdeps/powerpc/elf/start.S: Likewise. 1999-10-11 Cristian Gafton <gafton@redhat.com> * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Declare
Diffstat (limited to 'sysdeps/powerpc/strcpy.S')
-rw-r--r--sysdeps/powerpc/strcpy.S76
1 files changed, 38 insertions, 38 deletions
diff --git a/sysdeps/powerpc/strcpy.S b/sysdeps/powerpc/strcpy.S
index 3c0cce7844..0a1d89c8fc 100644
--- a/sysdeps/powerpc/strcpy.S
+++ b/sysdeps/powerpc/strcpy.S
@@ -1,5 +1,5 @@
/* Optimized strcpy implementation for PowerPC.
- Copyright (C) 1997 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -35,66 +35,66 @@ EALIGN(strcpy,4,0)
r9: ~(word in src | 0x7f7f7f7f)
r10: alternate word from src. */
- or %r0,%r4,%r3
- clrlwi. %r0,%r0,30
- addi %r5,%r3,-4
+ or r0,r4,r3
+ clrlwi. r0,r0,30
+ addi r5,r3,-4
bne L(unaligned)
- lis %r7,0xfeff
- lis %r8,0x7f7f
- lwz %r6,0(%r4)
- addi %r7,%r7,-0x101
- addi %r8,%r8,0x7f7f
+ lis r7,0xfeff
+ lis r8,0x7f7f
+ lwz r6,0(r4)
+ addi r7,r7,-0x101
+ addi r8,r8,0x7f7f
b 2f
-0: lwzu %r10,4(%r4)
- stwu %r6,4(%r5)
- add %r0,%r7,%r10
- nor %r9,%r8,%r10
- and. %r0,%r0,%r9
+0: lwzu r10,4(r4)
+ stwu r6,4(r5)
+ add r0,r7,r10
+ nor r9,r8,r10
+ and. r0,r0,r9
bne- 1f
- lwzu %r6,4(%r4)
- stwu %r10,4(%r5)
-2: add %r0,%r7,%r6
- nor %r9,%r8,%r6
- and. %r0,%r0,%r9
+ lwzu r6,4(r4)
+ stwu r10,4(r5)
+2: add r0,r7,r6
+ nor r9,r8,r6
+ and. r0,r0,r9
beq+ 0b
- mr %r10,%r6
+ mr r10,r6
/* We've hit the end of the string. Do the rest byte-by-byte. */
-1: rlwinm. %r0,%r10,8,24,31
- stb %r0,4(%r5)
+1: rlwinm. r0,r10,8,24,31
+ stb r0,4(r5)
beqlr-
- rlwinm. %r0,%r10,16,24,31
- stb %r0,5(%r5)
+ rlwinm. r0,r10,16,24,31
+ stb r0,5(r5)
beqlr-
- rlwinm. %r0,%r10,24,24,31
- stb %r0,6(%r5)
+ rlwinm. r0,r10,24,24,31
+ stb r0,6(r5)
beqlr-
- stb %r10,7(%r5)
+ stb r10,7(r5)
blr
/* Oh well. In this case, we just do a byte-by-byte copy. */
.align 4
nop
L(unaligned):
- lbz %r6,0(%r4)
- addi %r5,%r3,-1
- cmpwi %r6,0
+ lbz r6,0(r4)
+ addi r5,r3,-1
+ cmpwi r6,0
beq- 2f
-0: lbzu %r10,1(%r4)
- stbu %r6,1(%r5)
- cmpwi %r10,0
+0: lbzu r10,1(r4)
+ stbu r6,1(r5)
+ cmpwi r10,0
beq- 1f
nop /* Let 601 load start of loop. */
- lbzu %r6,1(%r4)
- stbu %r10,1(%r5)
- cmpwi %r6,0
+ lbzu r6,1(r4)
+ stbu r10,1(r5)
+ cmpwi r6,0
bne+ 0b
-2: stb %r6,1(%r5)
+2: stb r6,1(r5)
blr
-1: stb %r10,1(%r5)
+1: stb r10,1(r5)
blr
END(strcpy)