Module Name: src
Committed By: matt
Date: Wed Aug 19 06:56:13 UTC 2009
Modified Files:
src/common/lib/libc/arch/mips/string [matt-nb5-mips64]: bcopy.S
Log Message:
Make this emit exactly the same code as before under O32.
To generate a diff of this commit:
cvs rdiff -u -r1.2.40.1 -r1.2.40.2 \
src/common/lib/libc/arch/mips/string/bcopy.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/common/lib/libc/arch/mips/string/bcopy.S
diff -u src/common/lib/libc/arch/mips/string/bcopy.S:1.2.40.1 src/common/lib/libc/arch/mips/string/bcopy.S:1.2.40.2
--- src/common/lib/libc/arch/mips/string/bcopy.S:1.2.40.1 Sun Aug 16 03:02:47 2009
+++ src/common/lib/libc/arch/mips/string/bcopy.S Wed Aug 19 06:56:13 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: bcopy.S,v 1.2.40.1 2009/08/16 03:02:47 matt Exp $ */
+/* $NetBSD: bcopy.S,v 1.2.40.2 2009/08/19 06:56:13 matt Exp $ */
/*
* Mach Operating System
@@ -44,7 +44,7 @@
#if defined(LIBC_SCCS) && !defined(lint)
/* RCSID("from: @(#)mips_bcopy.s 2.2 CMU 18/06/93") */
- RCSID("$NetBSD: bcopy.S,v 1.2.40.1 2009/08/16 03:02:47 matt Exp $")
+ RCSID("$NetBSD: bcopy.S,v 1.2.40.2 2009/08/19 06:56:13 matt Exp $")
#endif /* LIBC_SCCS and not lint */
/*
@@ -176,10 +176,10 @@
REG_S v1,(1*SZREG)(DSTREG)
REG_S t0,(2*SZREG)(DSTREG)
REG_S t1,(3*SZREG)(DSTREG)
- REG_L t3,(-4*SZREG)(SRCREG)
- REG_L v1,(-3*SZREG)(SRCREG)
- REG_L t0,(-2*SZREG)(SRCREG)
REG_L t1,(-1*SZREG)(SRCREG)
+ REG_L t0,(-2*SZREG)(SRCREG)
+ REG_L v1,(-3*SZREG)(SRCREG)
+ REG_L t3,(-4*SZREG)(SRCREG)
PTR_ADDU DSTREG,SZREG*8
REG_S t1,(-1*SZREG)(DSTREG)
REG_S t0,(-2*SZREG)(DSTREG)
@@ -192,7 +192,7 @@
*/
2: # wordcopy
andi t2,SIZEREG,(SZREG-1) # get byte count / SZREG
- xor t2,SIZEREG,t2 # t2 = words to copy * SZREG
+ PTR_SUBU t2,SIZEREG,t2 # t2 = words to copy * SZREG
beq t2,zero,3f
PTR_ADDU t0,SRCREG,t2 # stop at t0
PTR_SUBU SIZEREG,SIZEREG,t2
@@ -270,10 +270,10 @@
REG_S v1,(-3*SZREG)(DSTREG)
REG_S t0,(-2*SZREG)(DSTREG)
REG_S t1,(-1*SZREG)(DSTREG)
- REG_L t3,(0*SZREG)(SRCREG)
- REG_L v1,(1*SZREG)(SRCREG)
- REG_L t0,(2*SZREG)(SRCREG)
REG_L t1,(3*SZREG)(SRCREG)
+ REG_L t0,(2*SZREG)(SRCREG)
+ REG_L v1,(1*SZREG)(SRCREG)
+ REG_L t3,(0*SZREG)(SRCREG)
PTR_SUBU DSTREG,8*SZREG
REG_S t1,(3*SZREG)(DSTREG)
REG_S t0,(2*SZREG)(DSTREG)
@@ -286,7 +286,7 @@
*/
2: # wordcopy
andi t2,SIZEREG,SZREG-1 # get byte count / 4
- xor t2,SIZEREG,t2 # t2 = number of words to copy
+ PTR_SUBU t2,SIZEREG,t2 # t2 = number of words to copy
beq t2,zero,3f
PTR_SUBU t0,SRCREG,t2 # stop at t0
PTR_SUBU SIZEREG,SIZEREG,t2