summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--newlib/libc/machine/arm/arm_asm.h13
-rw-r--r--newlib/libc/machine/arm/strcpy.c8
-rw-r--r--newlib/libc/machine/arm/strlen-stub.c8
3 files changed, 11 insertions, 18 deletions
diff --git a/newlib/libc/machine/arm/arm_asm.h b/newlib/libc/machine/arm/arm_asm.h
index 1bb5edb23..bf18c0a03 100644
--- a/newlib/libc/machine/arm/arm_asm.h
+++ b/newlib/libc/machine/arm/arm_asm.h
@@ -71,12 +71,6 @@
#endif
.endm
-.macro optpld base, offset=#0
-#if defined (_ISA_ARM_7)
- pld [\base, \offset]
-#endif
-.endm
-
#else
asm(".macro RETURN cond=\n\t"
#if defined (_ISA_ARM_4T) || defined (_ISA_THUMB_1)
@@ -86,13 +80,6 @@ asm(".macro RETURN cond=\n\t"
#endif
".endm"
);
-
-asm(".macro optpld base, offset=#0\n\t"
-#if defined (_ISA_ARM_7)
- "pld [\\base, \\offset]\n\t"
-#endif
- ".endm"
- );
#endif
#endif /* ARM_ASM__H */
diff --git a/newlib/libc/machine/arm/strcpy.c b/newlib/libc/machine/arm/strcpy.c
index b2e3f5177..b90d5cf73 100644
--- a/newlib/libc/machine/arm/strcpy.c
+++ b/newlib/libc/machine/arm/strcpy.c
@@ -44,7 +44,9 @@ strcpy (char* dst, const char* src)
asm (
#if !(defined(__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \
(defined (__thumb__) && !defined (__thumb2__)))
- "optpld r1\n\t"
+#ifdef _ISA_ARM_7
+ "pld r1\n\t"
+#endif
"eor r2, r0, r1\n\t"
"mov ip, r0\n\t"
"tst r2, #3\n\t"
@@ -75,7 +77,9 @@ strcpy (char* dst, const char* src)
load stalls. */
".p2align 2\n"
"2:\n\t"
- "optpld r1, #8\n\t"
+#ifdef _ISA_ARM_7
+ "pld r1, #8\n\t"
+#endif
"ldr r4, [r1], #4\n\t"
"sub r2, r3, "magic1(r5)"\n\t"
"bics r2, r2, r3\n\t"
diff --git a/newlib/libc/machine/arm/strlen-stub.c b/newlib/libc/machine/arm/strlen-stub.c
index ea45a3789..69cfa3df0 100644
--- a/newlib/libc/machine/arm/strlen-stub.c
+++ b/newlib/libc/machine/arm/strlen-stub.c
@@ -58,7 +58,9 @@ strlen (const char* str)
"data .req r3\n\t"
"addr .req r1\n\t"
- "optpld r0\n\t"
+#ifdef _ISA_ARM_7
+ "pld r0\n\t"
+#endif
/* Word-align address */
"bic addr, r0, #3\n\t"
/* Get adjustment for start ... */
@@ -113,8 +115,8 @@ strlen (const char* str)
"ldreq data, [addr], #4\n\t"
/* and 4 more bytes */
"addeq len, len, #4\n\t"
- /* If we have PLD, then unroll the loop a bit. */
- "optpld addr, #8\n\t"
+ /* Unroll the loop a bit. */
+ "pld addr, #8\n\t"
/* test (data - 0x01010101) */
"ittt eq\n\t"
"subeq r2, data, ip\n\t"