Skip to content

Commit

Permalink
MIPS: microMIPS: Optimise 'strlen' core library function.
Browse files Browse the repository at this point in the history
Optimise 'strlen' to use microMIPS instructions and/or optimisations
for binary size reduction. When the microMIPS ISA is not being used,
the library function compiles to the original binary code.

Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com>
  • Loading branch information
Steven J. Hill authored and Ralf Baechle committed May 9, 2013
1 parent 0131f2b commit b1bac37
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions arch/mips/lib/strlen_user.S
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (c) 1996, 1998, 1999, 2004 by Ralf Baechle
* Copyright (c) 1999 Silicon Graphics, Inc.
* Copyright (C) 1996, 1998, 1999, 2004 by Ralf Baechle
* Copyright (C) 1999 Silicon Graphics, Inc.
* Copyright (C) 2011 MIPS Technologies, Inc.
*/
#include <asm/asm.h>
#include <asm/asm-offsets.h>
Expand All @@ -28,9 +29,9 @@ LEAF(__strlen_user_asm)

FEXPORT(__strlen_user_nocheck_asm)
move v0, a0
1: EX(lb, t0, (v0), .Lfault)
1: EX(lbu, v1, (v0), .Lfault)
PTR_ADDIU v0, 1
bnez t0, 1b
bnez v1, 1b
PTR_SUBU v0, a0
jr ra
END(__strlen_user_asm)
Expand Down

0 comments on commit b1bac37

Please sign in to comment.