Module Name: src
Committed By: matt
Date: Sat Jan 29 02:21:20 UTC 2011
Modified Files:
src/lib/libc/arch/powerpc/string: bzero.S
Log Message:
Don't use r0 to restore LR, use r7 instead.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/powerpc/string/bzero.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/arch/powerpc/string/bzero.S
diff -u src/lib/libc/arch/powerpc/string/bzero.S:1.10 src/lib/libc/arch/powerpc/string/bzero.S:1.11
--- src/lib/libc/arch/powerpc/string/bzero.S:1.10 Wed Jan 19 02:47:01 2011
+++ src/lib/libc/arch/powerpc/string/bzero.S Sat Jan 29 02:21:20 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: bzero.S,v 1.10 2011/01/19 02:47:01 matt Exp $ */
+/* $NetBSD: bzero.S,v 1.11 2011/01/29 02:21:20 matt Exp $ */
/*-
* Copyright (C) 2001 Martin J. Laubach <[email protected]>
@@ -32,7 +32,7 @@
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: bzero.S,v 1.10 2011/01/19 02:47:01 matt Exp $")
+__RCSID("$NetBSD: bzero.S,v 1.11 2011/01/29 02:21:20 matt Exp $")
#endif /* LIBC_SCCS && !lint */
#ifdef _KERNEL
@@ -60,10 +60,10 @@
END(bzero)
ENTRY(memset)
- cmplwi cr1, %r5, 0
+ cmplwi %cr1, %r5, 0
mr. %r0, %r4
mr %r8, %r3
- beqlr- cr1 /* Nothing to do */
+ beqlr- %cr1 /* Nothing to do */
rlwimi %r0, %r4, 8, 16, 23 /* word extend fill value */
rlwimi %r0, %r0, 16, 0, 15
@@ -167,8 +167,8 @@
lwz %r30, R30_SAVE(%r1)
#endif
addi %r1, %r1, STKFRAME_SZ
- lwz %r0, 4(%r1)
- mtlr %r0
+ lwz %r7, 4(%r1)
+ mtlr %r7
cntlzw %r6, %r9 /* compute shift value */
li %r5, 31
@@ -213,10 +213,10 @@
#endif /* _KERNEL */
/* Back in memory filling business */
- cmplwi cr1, r_len, 0 /* Nothing to do? */
+ cmplwi %cr1, r_len, 0 /* Nothing to do? */
add %r5, %r9, %r9
cmplw r_len, %r5 /* <= 2*CL bytes to move? */
- beqlr- cr1 /* then do nothing */
+ beqlr- %cr1 /* then do nothing */
blt+ simple_fill /* a trivial fill routine */
@@ -277,9 +277,9 @@
bdnz 1b
cblocks_done: /* still CL aligned, but less than CL bytes left */
- cmplwi cr1, r_len, 0
+ cmplwi %cr1, r_len, 0
cmplwi r_len, 8
- beq- cr1, sf_return
+ beq- %cr1, sf_return
blt- sf_bytewise /* <8 remaining? */
b sf_aligned_w
@@ -292,12 +292,12 @@
simple_fill:
#if USE_STSWX
- cmplwi cr1, r_len, 12 /* < 12 bytes to move? */
+ cmplwi %cr1, r_len, 12 /* < 12 bytes to move? */
#else
- cmplwi cr1, r_len, 8 /* < 8 bytes to move? */
+ cmplwi %cr1, r_len, 8 /* < 8 bytes to move? */
#endif
andi. %r5, r_dst, 0x03 /* bytes to fill to align4 */
- blt cr1, sf_bytewise /* trivial byte mover */
+ blt %cr1, sf_bytewise /* trivial byte mover */
li %r6, 4
subf %r5, %r5, %r6