-
-.global memcpy32 @ int *dest, int *src, int count
-
-memcpy32:
- stmfd sp!, {r4,lr}
-
- subs r2, r2, #4
- bmi mcp32_fin
-
-mcp32_loop:
- ldmia r1!, {r3,r4,r12,lr}
- subs r2, r2, #4
- stmia r0!, {r3,r4,r12,lr}
- bpl mcp32_loop
-
-mcp32_fin:
- tst r2, #3
- ldmeqfd sp!, {r4,pc}
- tst r2, #1
- ldrne r3, [r1], #4
- strne r3, [r0], #4
-
-mcp32_no_unal1:
- tst r2, #2
- ldmneia r1!, {r3,r12}
- ldmfd sp!, {r4,lr}
- stmneia r0!, {r3,r12}
- bx lr
-
-
-