aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-09-07 00:02:43 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-09-07 00:02:43 +0000
commit9459f76ae311941e179886ca2f264a83ac94b10a (patch)
tree5fd05c15493afa3a2dbb61a3f246f5b1835d3515
parent917d34a84fe9895cb7acfd7246e366a039de103d (diff)
parent451e99bae63bc3f06e3b01e8d32a7ec1416b3d2f (diff)
downloadbionic-9459f76ae311941e179886ca2f264a83ac94b10a.tar.gz
Merge "Build support for 32-bit armv8-a" into oc-mr1-dev
-rw-r--r--libc/arch-arm/generic/bionic/strlen.c29
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"