diff options
Diffstat (limited to 'newlib/libc/machine/sh/strcpy.S')
-rw-r--r-- | newlib/libc/machine/sh/strcpy.S | 41 |
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 |