mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-11 03:40:06 +00:00
2004-06-11 Roland McGrath <roland@redhat.com>
* sysdeps/arm/strlen.S [__ARMEB__]: Compute correctly for big-endian. From Krzysztof Halasa <khc@pm.waw.pl>.
This commit is contained in:
parent
64d5339733
commit
482f870081
@ -53,12 +53,21 @@ Laligned: @ here, we have a word in r2. Does it
|
||||
ldrne r2, [r1], $4 @ and we continue to the next word
|
||||
bne Laligned @
|
||||
Llastword: @ drop through to here once we find a
|
||||
#ifdef __ARMEB__
|
||||
tst r2, $0xff000000 @ word that has a zero byte in it
|
||||
addne r0, r0, $1 @
|
||||
tstne r2, $0x00ff0000 @ and add up to 3 bytes on to it
|
||||
addne r0, r0, $1 @
|
||||
tstne r2, $0x0000ff00 @ (if first three all non-zero, 4th
|
||||
addne r0, r0, $1 @ must be zero)
|
||||
#else
|
||||
tst r2, $0x000000ff @ word that has a zero byte in it
|
||||
addne r0, r0, $1 @
|
||||
tstne r2, $0x0000ff00 @ and add up to 3 bytes on to it
|
||||
addne r0, r0, $1 @
|
||||
tstne r2, $0x00ff0000 @ (if first three all non-zero, 4th
|
||||
addne r0, r0, $1 @ must be zero)
|
||||
#endif
|
||||
RETINSTR(mov,pc,lr)
|
||||
END(strlen)
|
||||
libc_hidden_builtin_def (strlen)
|
||||
|
Loading…
Reference in New Issue
Block a user