aboutsummaryrefslogtreecommitdiff
path: root/ports/sysdeps/arm/strlen.S
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2013-03-15 09:31:56 -0700
committerRoland McGrath <roland@hack.frob.com>2013-03-15 09:31:56 -0700
commita7ac752299cb61f3140ab76c6f0a4ed46f52df55 (patch)
tree52798d8cb03569a69f00b7950dfdbf226415ca09 /ports/sysdeps/arm/strlen.S
parentef26eece6331a1f6d959818e37c438cc7ce68e53 (diff)
downloadglibc-a7ac752299cb61f3140ab76c6f0a4ed46f52df55.zip
glibc-a7ac752299cb61f3140ab76c6f0a4ed46f52df55.tar.gz
glibc-a7ac752299cb61f3140ab76c6f0a4ed46f52df55.tar.bz2
ARM: sfi_breg assembler macro
Diffstat (limited to 'ports/sysdeps/arm/strlen.S')
-rw-r--r--ports/sysdeps/arm/strlen.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/ports/sysdeps/arm/strlen.S b/ports/sysdeps/arm/strlen.S
index fef62cf..7d358a7 100644
--- a/ports/sysdeps/arm/strlen.S
+++ b/ports/sysdeps/arm/strlen.S
@@ -30,7 +30,8 @@
ENTRY(strlen)
bic r1, r0, $3 @ addr of word containing first byte
- ldr r2, [r1], $4 @ get the first word
+ sfi_breg r1, \
+ ldr r2, [\B], $4 @ get the first word
ands r3, r0, $3 @ how many bytes are duff?
rsb r0, r3, $0 @ get - that number into counter.
beq Laligned @ skip into main check routine if no
@@ -54,7 +55,8 @@ Laligned: @ here, we have a word in r2. Does it
tstne r2, $0x00ff0000 @
tstne r2, $0xff000000 @
addne r0, r0, $4 @ if not, the string is 4 bytes longer
- ldrne r2, [r1], $4 @ and we continue to the next word
+ sfi_breg r1, \
+ ldrne r2, [\B], $4 @ and we continue to the next word
bne Laligned @
Llastword: @ drop through to here once we find a
#ifdef __ARMEB__