diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-09-07 00:02:43 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-09-07 00:02:43 +0000 |
commit | 9459f76ae311941e179886ca2f264a83ac94b10a (patch) | |
tree | 5fd05c15493afa3a2dbb61a3f246f5b1835d3515 | |
parent | 917d34a84fe9895cb7acfd7246e366a039de103d (diff) | |
parent | 451e99bae63bc3f06e3b01e8d32a7ec1416b3d2f (diff) | |
download | bionic-9459f76ae311941e179886ca2f264a83ac94b10a.tar.gz |
Merge "Build support for 32-bit armv8-a" into oc-mr1-dev
-rw-r--r-- | libc/arch-arm/generic/bionic/strlen.c | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/libc/arch-arm/generic/bionic/strlen.c b/libc/arch-arm/generic/bionic/strlen.c index f6b920937..dccd56448 100644 --- a/libc/arch-arm/generic/bionic/strlen.c +++ b/libc/arch-arm/generic/bionic/strlen.c @@ -67,53 +67,46 @@ size_t strlen(const char *s) __overloadable "sub %[t], %[v], %[mask], lsr #7\n" "and %[t], %[t], %[mask] \n" "bics %[t], %[t], %[v] \n" - "it eq \n" - "ldreq %[v], [%[s]], #4 \n" -#if !defined(__OPTIMIZE_SIZE__) "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" +#if !defined(__OPTIMIZE_SIZE__) "sub %[t], %[v], %[mask], lsr #7\n" "and %[t], %[t], %[mask] \n" "bics %[t], %[t], %[v] \n" - "it eq \n" - "ldreq %[v], [%[s]], #4 \n" "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" "sub %[t], %[v], %[mask], lsr #7\n" "and %[t], %[t], %[mask] \n" "bics %[t], %[t], %[v] \n" - "it eq \n" - "ldreq %[v], [%[s]], #4 \n" "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" "sub %[t], %[v], %[mask], lsr #7\n" "and %[t], %[t], %[mask] \n" "bics %[t], %[t], %[v] \n" - "it eq \n" - "ldreq %[v], [%[s]], #4 \n" "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" "sub %[t], %[v], %[mask], lsr #7\n" "and %[t], %[t], %[mask] \n" "bics %[t], %[t], %[v] \n" - "it eq \n" - "ldreq %[v], [%[s]], #4 \n" "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" "sub %[t], %[v], %[mask], lsr #7\n" "and %[t], %[t], %[mask] \n" "bics %[t], %[t], %[v] \n" - "it eq \n" - "ldreq %[v], [%[s]], #4 \n" "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" "sub %[t], %[v], %[mask], lsr #7\n" "and %[t], %[t], %[mask] \n" "bics %[t], %[t], %[v] \n" - "it eq \n" - "ldreq %[v], [%[s]], #4 \n" "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" "sub %[t], %[v], %[mask], lsr #7\n" "and %[t], %[t], %[mask] \n" "bics %[t], %[t], %[v] \n" - "it eq \n" - "ldreq %[v], [%[s]], #4 \n" + "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" #endif - "beq 0b \n" + "b 0b \n" "1: \n" "add %[l], %[l], %[s] \n" "tst %[v], #0xFF \n" |