rewrite client function compiler
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# r3 = dest ptr
|
||||
# r4 = src ptr
|
||||
# r5 = size
|
||||
# Clobbers r0, r3, r4, r5
|
||||
|
||||
.versions PPC
|
||||
|
||||
copy_code:
|
||||
addi r5, r5, 3
|
||||
rlwinm r5, r5, 30, 2, 31 # r5 = number of words to copy
|
||||
mtctr r5
|
||||
subi r3, r3, 4 # r3 -= 4 (so we can use stwu)
|
||||
subi r4, r4, 4 # r4 -= 4 (so we can use lwzu)
|
||||
copy_word_again:
|
||||
lwzu r0, [r4 + 4]
|
||||
stwu [r3 + 4], r0
|
||||
bdnz copy_word_again
|
||||
|
||||
rlwinm r4, r5, 2, 0, 29
|
||||
addi r3, r3, 4
|
||||
sub r3, r3, r4
|
||||
.include FlushCachedCode
|
||||
Reference in New Issue
Block a user