forked from luck/tmp_suning_uos_patched
MIPS: microMIPS: Optimise 'strlen' core library function.
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>
This commit is contained in:
parent
0131f2b2c9
commit
b1bac37345
@ -3,8 +3,9 @@
|
|||||||
* License. See the file "COPYING" in the main directory of this archive
|
* License. See the file "COPYING" in the main directory of this archive
|
||||||
* for more details.
|
* for more details.
|
||||||
*
|
*
|
||||||
* Copyright (c) 1996, 1998, 1999, 2004 by Ralf Baechle
|
* Copyright (C) 1996, 1998, 1999, 2004 by Ralf Baechle
|
||||||
* Copyright (c) 1999 Silicon Graphics, Inc.
|
* Copyright (C) 1999 Silicon Graphics, Inc.
|
||||||
|
* Copyright (C) 2011 MIPS Technologies, Inc.
|
||||||
*/
|
*/
|
||||||
#include <asm/asm.h>
|
#include <asm/asm.h>
|
||||||
#include <asm/asm-offsets.h>
|
#include <asm/asm-offsets.h>
|
||||||
@ -28,9 +29,9 @@ LEAF(__strlen_user_asm)
|
|||||||
|
|
||||||
FEXPORT(__strlen_user_nocheck_asm)
|
FEXPORT(__strlen_user_nocheck_asm)
|
||||||
move v0, a0
|
move v0, a0
|
||||||
1: EX(lb, t0, (v0), .Lfault)
|
1: EX(lbu, v1, (v0), .Lfault)
|
||||||
PTR_ADDIU v0, 1
|
PTR_ADDIU v0, 1
|
||||||
bnez t0, 1b
|
bnez v1, 1b
|
||||||
PTR_SUBU v0, a0
|
PTR_SUBU v0, a0
|
||||||
jr ra
|
jr ra
|
||||||
END(__strlen_user_asm)
|
END(__strlen_user_asm)
|
||||||
|
Loading…
Reference in New Issue
Block a user