Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/xscale/memcpy.c')
-rw-r--r--newlib/libc/machine/xscale/memcpy.c101
1 files changed, 0 insertions, 101 deletions
diff --git a/newlib/libc/machine/xscale/memcpy.c b/newlib/libc/machine/xscale/memcpy.c
deleted file mode 100644
index 1a3297778..000000000
--- a/newlib/libc/machine/xscale/memcpy.c
+++ /dev/null
@@ -1,101 +0,0 @@
-#if defined __thumb__
-
-#include "../../string/memcpy.c"
-
-#else
-
-#include <string.h>
-#include "xscale.h"
-
-void *
-memcpy (void *dst0, const void *src0, size_t len)
-{
- int dummy;
- asm volatile (
-#ifndef __OPTIMIZE_SIZE__
- "cmp %2, #0x3\n\
- bls 3f\n\
- and lr, %1, #0x3\n\
- and r3, %0, #0x3\n\
- cmp lr, r3\n\
- bne 3f\n\
- cmp lr, #0x0\n\
- beq 2f\n\
- b 1f\n\
-0:\n\
- ldrb r3, [%1], #1\n\
-"
- PRELOADSTR ("%1")
-"\n\
- tst %1, #0x3\n\
- strb r3, [%0], #1\n\
- beq 3f\n\
-1:\n\
- sub %2, %2, #1\n\
- cmn %2, #1\n\
- bne 0b\n\
-2:\n\
- cmp %2, #0xf\n\
- bls 1f\n\
-0:\n\
- ldmia %1!, { r3, r4, r5, lr }\n\
-"
- PRELOADSTR ("%1")
-"\n\
-\n\
- sub %2, %2, #16\n\
- cmp %2, #0xf\n\
- stmia %0!, { r3, r4, r5, lr }\n\
- bhi 0b\n\
-1:\n\
- cmp %2, #0x7\n\
- bls 1f\n\
-0:\n\
- ldmia %1!, { r3, r4 }\n\
-"
- PRELOADSTR ("%1")
-"\n\
-\n\
- sub %2, %2, #8\n\
- cmp %2, #0x7\n\
- stmia %0!, { r3, r4 }\n\
- bhi 0b\n\
-1:\n\
- cmp %2, #0x3\n\
- bls 3f\n\
-0:\n\
- sub %2, %2, #4\n\
- ldr r3, [%1], #4\n\
-"
- PRELOADSTR ("%1")
-"\n\
-\n\
- cmp %2, #0x3\n\
- str r3, [%0], #4\n\
- bhi 0b\n\
-"
-#endif /* !__OPTIMIZE_SIZE__ */
-"\n\
-3:\n\
-"
- PRELOADSTR ("%1")
-"\n\
- sub %2, %2, #1\n\
- cmn %2, #1\n\
- beq 1f\n\
-0:\n\
- sub %2, %2, #1\n\
- ldrb r3, [%1], #1\n\
-"
- PRELOADSTR ("%1")
-"\n\
- cmn %2, #1\n\
- strb r3, [%0], #1\n\
- bne 0b\n\
-1:"
- : "=&r" (dummy), "=&r" (src0), "=&r" (len)
- : "0" (dst0), "1" (src0), "2" (len)
- : "memory", "lr", "r3", "r4", "r5", "cc");
- return dst0;
-}
-#endif