FreeCalypso > hg > freecalypso-tools
annotate target-utils/libc/strlen.S @ 479:f2a040324509
Makefile hierarchy: CFLAGS override-ability actually works now
The original version was broken in that CFLAGS=${CFLAGS} passing was
done without quotes, which breaks as soon as there is a space in the
user-set CFLAGS. Changing it to CFLAGS="${CFLAGS}" makes it work
as originally intended.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 14 Feb 2019 04:59:23 +0000 |
parents | 3670e7768ab6 |
children |
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 |