summaryrefslogtreecommitdiffstats
path: root/arch/mips64/lib/strlen_user.S
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-12-04 03:58:56 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-12-04 03:58:56 +0000
commit1d67e90f19a7acfd9a05dc59678e7d0c5090bd0d (patch)
tree357efc7b93f8f5102110d20d293f41360ec212fc /arch/mips64/lib/strlen_user.S
parentaea27b2e18d69af87e673972246e66657b4fa274 (diff)
Merge with Linux 2.3.21.
Diffstat (limited to 'arch/mips64/lib/strlen_user.S')
-rw-r--r--arch/mips64/lib/strlen_user.S33
1 files changed, 16 insertions, 17 deletions
diff --git a/arch/mips64/lib/strlen_user.S b/arch/mips64/lib/strlen_user.S
index da37c0c2a..bb4347c02 100644
--- a/arch/mips64/lib/strlen_user.S
+++ b/arch/mips64/lib/strlen_user.S
@@ -1,4 +1,4 @@
-/* $Id$
+/* $Id: strlen_user.S,v 1.2 1999/11/19 20:35:22 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -23,24 +23,23 @@
*
* Return 0 for error
*/
-LEAF(__strlen_user_nocheck_asm)
- LONG_L v0, THREAD_CURDS($28) # pointer ok?
- LONG_SUBU v0, zero, v0
- and v0, a0
- not v0
- beqz v0, fault
-EXPORT(__strlen_user_asm)
- move v0, a0
-1: EX(lb, t0, (v0), fault)
- LONG_ADDIU v0, 1
- bnez t0, 1b
- LONG_SUBU v0, a0
- jr ra
- END(__strlen_user_nocheck_asm)
+LEAF(__strlen_user_asm)
+ ld v0, THREAD_CURDS($28) # pointer ok?
+ and v0, a0
+ bltz v0, fault
+
+EXPORT(__strlen_user_nocheck_asm)
+ move v0, a0
+1: EX(lb, ta0, (v0), fault)
+ daddiu v0, 1
+ bnez ta0, 1b
+ dsubu v0, a0
+ jr ra
+ END(__strlen_user_asm)
.section __ex_table,"a"
PTR 1b, fault
.previous
-fault: move v0, zero
- jr ra
+fault: move v0, zero
+ jr ra