Enable and fix the asm memcpy(). It's far from optimized, but works now and fixes the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27998 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#warning M68K: optimize memcpy
|
#warning M68K: optimize memcpy
|
||||||
#if 0
|
#if 1
|
||||||
#define FUNCTION(x) .global x; .type x,@function; x
|
#define FUNCTION(x) .global x; .type x,@function; x
|
||||||
|
|
||||||
/* that should be enough for now */
|
/* that should be enough for now */
|
||||||
@@ -15,11 +15,11 @@ FUNCTION(memcpy):
|
|||||||
move.l (4,%a7),%a1
|
move.l (4,%a7),%a1
|
||||||
move.l (8,%a7),%a0
|
move.l (8,%a7),%a0
|
||||||
move.l (12,%a7),%d0
|
move.l (12,%a7),%d0
|
||||||
|
_memcpy_loop:
|
||||||
addi.l #-1,%d0
|
addi.l #-1,%d0
|
||||||
blt _memcpy_out
|
blt _memcpy_out
|
||||||
_memcpy_loop:
|
|
||||||
move.b (%a0)+,(%a1)+
|
move.b (%a0)+,(%a1)+
|
||||||
dbf %d0,_memcpy_loop
|
bra _memcpy_loop
|
||||||
_memcpy_out:
|
_memcpy_out:
|
||||||
move.l (4,%a7),%a0
|
move.l (4,%a7),%a0
|
||||||
move.l %a0,%d0
|
move.l %a0,%d0
|
||||||
|
|||||||
Reference in New Issue
Block a user