123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- #include <asm/export.h>
- .text
- .align 4
- .global copy_page
- .ent copy_page
- copy_page:
- .prologue 0
-
- wh64 ($16)
- ldl $31,0($17)
- ldl $31,64($17)
- lda $1,1*64($16)
- wh64 ($1)
- ldl $31,128($17)
- ldl $31,192($17)
- lda $1,2*64($16)
- wh64 ($1)
- ldl $31,256($17)
- lda $18,118
- lda $1,3*64($16)
- wh64 ($1)
- nop
- lda $1,4*64($16)
- lda $2,5*64($16)
- wh64 ($1)
- wh64 ($2)
- lda $1,6*64($16)
- lda $2,7*64($16)
- wh64 ($1)
- wh64 ($2)
- lda $1,8*64($16)
- lda $2,9*64($16)
- wh64 ($1)
- wh64 ($2)
- lda $19,10*64($16)
- nop
-
- 1: ldq $0,0($17)
- ldq $1,8($17)
- unop
- unop
- unop
- unop
- ldq $2,16($17)
- ldq $3,24($17)
- ldq $4,32($17)
- ldq $5,40($17)
- unop
- unop
- unop
- unop
- ldq $6,48($17)
- ldq $7,56($17)
- ldl $31,320($17)
- unop
- unop
- unop
-
- unop
- unop
- unop
- unop
- wh64 ($19)
- unop
- unop
- unop
- stq $0,0($16)
- subq $18,1,$18
- stq $1,8($16)
- unop
- unop
- stq $2,16($16)
- addq $17,64,$17
- stq $3,24($16)
- stq $4,32($16)
- stq $5,40($16)
- addq $19,64,$19
- unop
- stq $6,48($16)
- stq $7,56($16)
- addq $16,64,$16
- bne $18, 1b
-
- lda $18,10
- ldl $31,320($17)
- ldl $31,384($17)
- ldl $31,448($17)
- ldl $31,512($17)
- ldl $31,576($17)
- nop
- nop
-
- 2: ldq $0,0($17)
- ldq $1,8($17)
- ldq $2,16($17)
- ldq $3,24($17)
- ldq $4,32($17)
- ldq $5,40($17)
- ldq $6,48($17)
- ldq $7,56($17)
- stq $0,0($16)
- subq $18,1,$18
- stq $1,8($16)
- addq $17,64,$17
- stq $2,16($16)
- stq $3,24($16)
- stq $4,32($16)
- stq $5,40($16)
- stq $6,48($16)
- stq $7,56($16)
- addq $16,64,$16
- bne $18, 2b
- ret
- nop
- unop
- nop
- .end copy_page
- EXPORT_SYMBOL(copy_page)
|