annotate target-utils/libc/strlen.S @ 442:ba4171b2f980

target-utils/Makefile: calversion added
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 26 Dec 2018 07:04:32 +0000
parents 3670e7768ab6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
95
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 .text
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 .code 32
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 .globl strlen
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 strlen:
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 mov r1, r0
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 1: ldrb r2, [r0], #1
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 cmn r2, #0
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 bne 1b
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 sbc r0, r0, r1
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 bx lr