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" + "bne 1f \n" + "ldr %[v], [%[s]], #4 \n" #if !defined(__OPTIMIZE_SIZE__) - "bne 1f \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" "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"