diff options
Diffstat (limited to 'newlib/libc/machine/xscale/strchr.c')
-rw-r--r-- | newlib/libc/machine/xscale/strchr.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/newlib/libc/machine/xscale/strchr.c b/newlib/libc/machine/xscale/strchr.c index 027077cfc..3b736c53c 100644 --- a/newlib/libc/machine/xscale/strchr.c +++ b/newlib/libc/machine/xscale/strchr.c @@ -38,25 +38,25 @@ strchr (const char *s, int c) R6 = 0xfefefeff [ == ~(0x80808080 << 1) ] R5 = 0x80808080 */ - asm (PRELOADSTR ("%0") " - mov r5, #0x80 - add r5, r5, #0x8000 - add r5, r5, r5, lsl #16 - mvn r6, r5, lsl #1 - - sub %0, %0, #4 -0: - ldr r1, [%0, #4]! -" PRELOADSTR ("%0") " - add r3, r1, r6 - bic r3, r3, r1 - ands r2, r3, r5 - bne 1f - eor r2, r1, %1 - add r3, r2, r6 - bic r3, r3, r2 - ands r1, r3, r5 - beq 0b + asm (PRELOADSTR ("%0") "\n\ + mov r5, #0x80\n\ + add r5, r5, #0x8000\n\ + add r5, r5, r5, lsl #16\n\ + mvn r6, r5, lsl #1\n\ +\n\ + sub %0, %0, #4\n\ +0:\n\ + ldr r1, [%0, #4]!\n\ +" PRELOADSTR ("%0") "\n\ + add r3, r1, r6\n\ + bic r3, r3, r1\n\ + ands r2, r3, r5\n\ + bne 1f\n\ + eor r2, r1, %1\n\ + add r3, r2, r6\n\ + bic r3, r3, r2\n\ + ands r1, r3, r5\n\ + beq 0b\n\ 1:" : "=&r" (s) : "r" (c2), "0" (s) |