;===================================
; Copy a limb vector, incrementing
;===================================
align 16
mpn_copyi:
label .dst dword at esp+4
label .src dword at esp+8
label .n dword at esp+12
mov eax,esi
mov edx,edi
mov esi,[.src]
mov edi,[.dst]
mov ecx,[.n]
cld
rep movsd
mov esi,eax
mov edi,edx
ret 12
;===================================
; Copy a limb vector, decrementing
;===================================
align 16
mpn_copyd:
label .dst dword at esp+4
label .src dword at esp+8
label .n dword at esp+12
mov eax,esi
mov edx,edi
mov esi,[.src]
mov edi,[.dst]
mov ecx,[.n]
lea esi,[esi+ecx*4-4]
lea edi,[edi+ecx*4-4]
std
rep movsd
cld
mov esi,eax
mov edi,edx
ret 12
; Copy a limb vector, incrementing
;===================================
align 16
mpn_copyi:
label .dst dword at esp+4
label .src dword at esp+8
label .n dword at esp+12
mov eax,esi
mov edx,edi
mov esi,[.src]
mov edi,[.dst]
mov ecx,[.n]
cld
rep movsd
mov esi,eax
mov edi,edx
ret 12
;===================================
; Copy a limb vector, decrementing
;===================================
align 16
mpn_copyd:
label .dst dword at esp+4
label .src dword at esp+8
label .n dword at esp+12
mov eax,esi
mov edx,edi
mov esi,[.src]
mov edi,[.dst]
mov ecx,[.n]
lea esi,[esi+ecx*4-4]
lea edi,[edi+ecx*4-4]
std
rep movsd
cld
mov esi,eax
mov edi,edx
ret 12