aboutsummaryrefslogtreecommitdiff
path: root/newlib/libc/machine/sh/strcpy.S
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/sh/strcpy.S')
-rw-r--r--newlib/libc/machine/sh/strcpy.S41
1 files changed, 0 insertions, 41 deletions
diff --git a/newlib/libc/machine/sh/strcpy.S b/newlib/libc/machine/sh/strcpy.S
deleted file mode 100644
index 63aa7e7..0000000
--- a/newlib/libc/machine/sh/strcpy.S
+++ /dev/null
@@ -1,41 +0,0 @@
-! Entry: r4: destination
-! r5: source
-! Exit: r0: destination
-! r1-r2,r5: clobbered
-
-#include "asm.h"
-
-ENTRY(strcpy)
- mov r4,r0
- or r5,r0
- tst #3,r0
- SL(bf, L_setup_char_loop, mov r4,r0)
- mov.l @r5+,r1
- mov #0,r2
- cmp/str r2,r1
- SL(bt, Longword_loop_end, sub r5,r0)
- .align 2
-Longword_loop:
- mov.l r1,@(r0,r5)
- mov.l @r5+,r1
- cmp/str r2,r1
- bt Longword_loop_end
- mov.l r1,@(r0,r5)
- mov.l @r5+,r1
- cmp/str r2,r1
- bf Longword_loop
-Longword_loop_end:
- add #-4,r5
- add #3,r0
- .align 2
-L_char_loop:
- mov.b @r5+,r1
-L_char_loop_start:
- tst r1,r1
- SL(bf, L_char_loop, mov.b r1,@(r0,r5))
- rts
- mov r4,r0
-L_setup_char_loop:
- mov.b @r5+,r1
- bra L_char_loop_start
- sub r5,r0