mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
get rid of custom memcpy funcs
not used for anything important, just a maintenance burden
This commit is contained in:
parent
ba11a48115
commit
fdcfd32374
9 changed files with 7 additions and 198 deletions
|
@ -6,44 +6,6 @@
|
|||
* See COPYING file in the top-level directory.
|
||||
*/
|
||||
|
||||
.global memcpy16 @ unsigned short *dest, unsigned short *src, int count
|
||||
|
||||
memcpy16:
|
||||
eor r3, r0, r1
|
||||
tst r3, #2
|
||||
bne mcp16_cant_align
|
||||
|
||||
tst r0, #2
|
||||
ldrneh r3, [r1], #2
|
||||
subne r2, r2, #1
|
||||
strneh r3, [r0], #2
|
||||
|
||||
subs r2, r2, #4
|
||||
bmi mcp16_fin
|
||||
|
||||
mcp16_loop:
|
||||
ldmia r1!, {r3,r12}
|
||||
subs r2, r2, #4
|
||||
stmia r0!, {r3,r12}
|
||||
bpl mcp16_loop
|
||||
|
||||
mcp16_fin:
|
||||
tst r2, #2
|
||||
ldrne r3, [r1], #4
|
||||
strne r3, [r0], #4
|
||||
ands r2, r2, #1
|
||||
bxeq lr
|
||||
|
||||
mcp16_cant_align:
|
||||
ldrh r3, [r1], #2
|
||||
subs r2, r2, #1
|
||||
strh r3, [r0], #2
|
||||
bne mcp16_cant_align
|
||||
|
||||
bx lr
|
||||
|
||||
|
||||
|
||||
@ 0x12345678 -> 0x34127856
|
||||
@ r4=temp, lr=0x00ff00ff
|
||||
.macro bswap reg
|
||||
|
@ -52,7 +14,6 @@ mcp16_cant_align:
|
|||
orr \reg, \reg, r4, lsl #8
|
||||
.endm
|
||||
|
||||
|
||||
@ dest must be halfword aligned, src can be unaligned
|
||||
.global memcpy16bswap @ unsigned short *dest, void *src, int count
|
||||
|
||||
|
@ -121,37 +82,6 @@ mcp16bs_cant_align2:
|
|||
bx lr
|
||||
|
||||
|
||||
|
||||
.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
|
||||
|
||||
|
||||
|
||||
.global memset32 @ int *dest, int c, int count
|
||||
|
||||
memset32:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue