summaryrefslogtreecommitdiffstats
path: root/newlib/libc/machine/h8300/memcpy.S
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2003-11-20 19:59:03 +0000
committerJeff Johnston <jjohnstn@redhat.com>2003-11-20 19:59:03 +0000
commit7343eefbded126b84a25eb3db9666d827376c5ef (patch)
tree1a12a6c7be21ad295dec9aa64ec7221b9e2210c0 /newlib/libc/machine/h8300/memcpy.S
parent94cacaf60b1aacb95fbdde78fe9e62bfd4b63871 (diff)
downloadcygnal-7343eefbded126b84a25eb3db9666d827376c5ef.tar.gz
cygnal-7343eefbded126b84a25eb3db9666d827376c5ef.tar.bz2
cygnal-7343eefbded126b84a25eb3db9666d827376c5ef.zip
2003-11-20 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
* libc/machine/h8300/defines.h : Correct pointer register defines for normal mode. * libc/machine/h8300/memcpy.S : Use add/sub instead of adds/subs for normal mode. * libc/machine/h8300/reg_memcpy.S : Likewise. * libc/machine/h8300/reg_memset.S : Likewise. * libc/machine/h8300/strcmp.S : Likewise.
Diffstat (limited to 'newlib/libc/machine/h8300/memcpy.S')
-rw-r--r--newlib/libc/machine/h8300/memcpy.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/newlib/libc/machine/h8300/memcpy.S b/newlib/libc/machine/h8300/memcpy.S
index 21738e783..305e865df 100644
--- a/newlib/libc/machine/h8300/memcpy.S
+++ b/newlib/libc/machine/h8300/memcpy.S
@@ -23,7 +23,11 @@ _memcpy:
bne byteloop
wordloop:
+#ifdef __NORMAL_MODE__
+ sub #2,A1P
+#else
subs #2,A1P ; point to word
+#endif
mov.w @A1P,A2 ; get word
mov.w A2,@-A0P ; save word
CMPP A0P,A3P ; at the front again ?
@@ -31,7 +35,11 @@ wordloop:
rts
byteloop:
+#ifdef __NORMAL_MODE__
+ sub #1,A1P
+#else
subs #1,A1P ; point to byte
+#endif
mov.b @A1P,A2L ; get byte
mov.b A2L,@-A0P ; save byte
CMPP A0P,A3P ; at the front again ?