From 086e9dc0e2ca925b1b58caefd04ed2757d14790b Mon Sep 17 00:00:00 2001 From: James Hogan Date: Fri, 5 Oct 2012 17:02:09 +0100 Subject: metag: Optimised library functions Add optimised library functions for metag. Signed-off-by: James Hogan --- arch/metag/lib/copy_page.S | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 arch/metag/lib/copy_page.S (limited to 'arch/metag/lib/copy_page.S') diff --git a/arch/metag/lib/copy_page.S b/arch/metag/lib/copy_page.S new file mode 100644 index 000000000000..91f7d461239c --- /dev/null +++ b/arch/metag/lib/copy_page.S @@ -0,0 +1,20 @@ + ! Copyright 2007,2008 Imagination Technologies Ltd. + +#include + + .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 -- cgit