summaryrefslogtreecommitdiff
path: root/firmware/asm/m68k/memcpy.S
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/asm/m68k/memcpy.S')
-rw-r--r--firmware/asm/m68k/memcpy.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/firmware/asm/m68k/memcpy.S b/firmware/asm/m68k/memcpy.S
index 9762e31e02..a88ac3d091 100644
--- a/firmware/asm/m68k/memcpy.S
+++ b/firmware/asm/m68k/memcpy.S
@@ -27,6 +27,8 @@
.global memcpy
.global __memcpy_fwd_entry
.type memcpy,@function
+ .global mempcpy
+ .type mempcpy,@function
/* Copies <length> bytes of data in memory from <source> to <dest>
* This version is optimized for speed
@@ -53,6 +55,14 @@
* long+3) it writes longwords only. Same goes for word aligned destinations
* if FULLSPEED is undefined.
*/
+mempcpy:
+ move.l (4,%sp),%a1 /* Destination */
+ move.l (8,%sp),%a0 /* Source */
+ move.l (12,%sp),%d1 /* Length */
+
+ add.l %d1,(4,%sp) /* retval=Destination + Length */
+ bra.b __memcpy_fwd_entry
+
memcpy:
move.l (4,%sp),%a1 /* Destination */
move.l (8,%sp),%a0 /* Source */