about summary refs log tree commit diff
path: root/sysdeps/powerpc/strlen.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/strlen.S
parentdf08cc56eb0a050bd1d7cf569d78d4f9d2a20964 (diff)
downloadglibc-217eb19b6f28429aa02792764bfd7b9f51743be2.tar.gz
glibc-217eb19b6f28429aa02792764bfd7b9f51743be2.tar.xz
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/strlen.S')
-rw-r--r--sysdeps/powerpc/strlen.S80
1 files changed, 40 insertions, 40 deletions
diff --git a/sysdeps/powerpc/strlen.S b/sysdeps/powerpc/strlen.S
index dc6660b8fc..b847ee4df3 100644
--- a/sysdeps/powerpc/strlen.S
+++ b/sysdeps/powerpc/strlen.S
@@ -1,5 +1,5 @@
 /* Optimized strlen 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
@@ -77,68 +77,68 @@ ENTRY(strlen)
    start at a word boundary. r8 holds the 'current' word.
    r9-12 are temporaries. r0 is used as a temporary and for discarded
    results.  */
-	clrrwi %r4,%r3,2
-	lis   %r7,0x7f7f
-	rlwinm %r5,%r3,3,27,28
-	lwz   %r8,0(%r4)
-	li    %r9,-1
-	addi  %r7,%r7,0x7f7f
+	clrrwi r4,r3,2
+	lis   r7,0x7f7f
+	rlwinm r5,r3,3,27,28
+	lwz   r8,0(r4)
+	li    r9,-1
+	addi  r7,r7,0x7f7f
 /* That's the setup done, now do the first pair of words.
    We make an exception and use method (2) on the first two words, to reduce
    overhead.  */
-	srw   %r9,%r9,%r5
-	and   %r0,%r7,%r8
-	or    %r10,%r7,%r8
-	add   %r0,%r0,%r7
-	nor   %r0,%r10,%r0
-	and.  %r8,%r0,%r9
-	mtcrf 0x01,%r3
+	srw   r9,r9,r5
+	and   r0,r7,r8
+	or    r10,r7,r8
+	add   r0,r0,r7
+	nor   r0,r10,r0
+	and.  r8,r0,r9
+	mtcrf 0x01,r3
 	bne   L(done0)
-	lis   %r6,0xfeff
-	addi  %r6,%r6,-0x101
+	lis   r6,0xfeff
+	addi  r6,r6,-0x101
 /* Are we now aligned to a doubleword boundary?  */
 	bt    29,L(loop)
 
 /* Handle second word of pair.  */
-	lwzu  %r8,4(%r4)
-	and   %r0,%r7,%r8
-	or    %r10,%r7,%r8
-	add   %r0,%r0,%r7
-	nor.  %r8,%r10,%r0
+	lwzu  r8,4(r4)
+	and   r0,r7,r8
+	or    r10,r7,r8
+	add   r0,r0,r7
+	nor.  r8,r10,r0
 	bne   L(done0)
 
 /* The loop.  */
 
 L(loop):
-	lwz   %r8,4(%r4)
-	lwzu  %r9,8(%r4)
-	add   %r0,%r6,%r8
-	nor   %r10,%r7,%r8
-	and.  %r0,%r0,%r10
-	add   %r11,%r6,%r9
-	nor   %r12,%r7,%r9
+	lwz   r8,4(r4)
+	lwzu  r9,8(r4)
+	add   r0,r6,r8
+	nor   r10,r7,r8
+	and.  r0,r0,r10
+	add   r11,r6,r9
+	nor   r12,r7,r9
 	bne   L(done1)
-	and.  %r0,%r11,%r12
+	and.  r0,r11,r12
 	beq   L(loop)
 
-	and   %r0,%r7,%r9
-	add   %r0,%r0,%r7
-	andc  %r8,%r12,%r0
+	and   r0,r7,r9
+	add   r0,r0,r7
+	andc  r8,r12,r0
 	b     L(done0)
 
 L(done1):
-	and   %r0,%r7,%r8
-	subi  %r4,%r4,4
-	add   %r0,%r0,%r7
-	andc  %r8,%r10,%r0
+	and   r0,r7,r8
+	subi  r4,r4,4
+	add   r0,r0,r7
+	andc  r8,r10,r0
 
 /* When we get to here, r4 points to the first word in the string that
    contains a zero byte, and the most significant set bit in r8 is in that
    byte.  */
 L(done0):
-	cntlzw %r11,%r8
-	subf  %r0,%r3,%r4
-	srwi  %r11,%r11,3
-	add   %r3,%r0,%r11
+	cntlzw r11,r8
+	subf  r0,r3,r4
+	srwi  r11,r11,3
+	add   r3,r0,r11
 	blr
 END(strlen)