remarkable-linux/arch/metag/lib/copy_page.S
James Hogan 086e9dc0e2 metag: Optimised library functions
Add optimised library functions for metag.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
2013-03-02 20:09:52 +00:00

21 lines
456 B
ArmAsm

! Copyright 2007,2008 Imagination Technologies Ltd.
#include <asm/page.h>
.text
.global _copy_page
.type _copy_page,function
!! D1Ar1 - to
!! D0Ar2 - from
_copy_page:
MOV D0FrT,#PAGE_SIZE
$Lcopy_page_loop:
GETL D0Re0,D1Re0,[D0Ar2++]
GETL D0Ar6,D1Ar5,[D0Ar2++]
SETL [D1Ar1++],D0Re0,D1Re0
SETL [D1Ar1++],D0Ar6,D1Ar5
SUBS D0FrT,D0FrT,#16
BNZ $Lcopy_page_loop
MOV PC,D1RtP
.size _copy_page,.-_copy_page