/** arch/alpha/lib/memmove.S** Barely optimized memmove routine for Alpha EV5.** This is hand-massaged output from the original memcpy.c. We defer to* memcpy whenever possible; the backwards copy loops are not unrolled.*/.set noat.set noreorder.text.align 4.globl memmove.ent memmovememmove:ldgp $29, 0($27)unopnop.prologue 1addq $16,$18,$4addq $17,$18,$5cmpule $4,$17,$1 /* dest + n <= src */cmpule $5,$16,$2 /* dest >= src + n */bis $1,$2,$1mov $16,$0xor $16,$17,$2bne $1,memcpy !samegpand $2,7,$2 /* Test for src/dest co-alignment. */and $16,7,$1cmpule $16,$17,$3bne $3,$memmove_up /* dest < src */and $4,7,$1bne $2,$misaligned_dnunopbeq $1,$skip_aligned_byte_loop_head_dn$aligned_byte_loop_head_dn:lda $4,-1($4)lda $5,-1($5)unopble $18,$egressldq_u $3,0($5)ldq_u $2,0($4)lda $18,-1($18)extbl $3,$5,$1insbl $1,$4,$1mskbl $2,$4,$2bis $1,$2,$1and $4,7,$6stq_u $1,0($4)bne $6,$aligned_byte_loop_head_dn$skip_aligned_byte_loop_head_dn:lda $18,-8($18)blt $18,$skip_aligned_word_loop_dn$aligned_word_loop_dn:ldq $1,-8($5)noplda $5,-8($5)lda $18,-8($18)stq $1,-8($4)noplda $4,-8($4)bge $18,$aligned_word_loop_dn$skip_aligned_word_loop_dn:lda $18,8($18)bgt $18,$byte_loop_tail_dnunopret $31,($26),1.align 4$misaligned_dn:nopfnopunopbeq $18,$egress$byte_loop_tail_dn:ldq_u $3,-1($5)ldq_u $2,-1($4)lda $5,-1($5)lda $4,-1($4)lda $18,-1($18)extbl $3,$5,$1insbl $1,$4,$1mskbl $2,$4,$2bis $1,$2,$1stq_u $1,0($4)bgt $18,$byte_loop_tail_dnbr $egress$memmove_up:mov $16,$4mov $17,$5bne $2,$misaligned_upbeq $1,$skip_aligned_byte_loop_head_up$aligned_byte_loop_head_up:unopble $18,$egressldq_u $3,0($5)ldq_u $2,0($4)lda $18,-1($18)extbl $3,$5,$1insbl $1,$4,$1mskbl $2,$4,$2bis $1,$2,$1lda $5,1($5)stq_u $1,0($4)lda $4,1($4)and $4,7,$6bne $6,$aligned_byte_loop_head_up$skip_aligned_byte_loop_head_up:lda $18,-8($18)blt $18,$skip_aligned_word_loop_up$aligned_word_loop_up:ldq $1,0($5)noplda $5,8($5)lda $18,-8($18)stq $1,0($4)noplda $4,8($4)bge $18,$aligned_word_loop_up$skip_aligned_word_loop_up:lda $18,8($18)bgt $18,$byte_loop_tail_upunopret $31,($26),1.align 4$misaligned_up:nopfnopunopbeq $18,$egress$byte_loop_tail_up:ldq_u $3,0($5)ldq_u $2,0($4)lda $18,-1($18)extbl $3,$5,$1insbl $1,$4,$1mskbl $2,$4,$2bis $1,$2,$1stq_u $1,0($4)lda $5,1($5)lda $4,1($4)nopbgt $18,$byte_loop_tail_up$egress:ret $31,($26),1nopnopnop.end memmove
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。