fsmVecSub proc uses esi edi lpVDest:dword,lpVA:dword,lpVB:dword
mov esi,lpVA
mov edi,lpVB
mov eax,lpVDest
movups xmm0,[esi]
movups xmm1,[edi]
subps xmm0,xmm1
movups [eax],xmm0
ret
fsmVecSub endp
fsmVecAdd proc uses esi edi lpVDest:dword,lpVA:dword,lpVB:dword
mov esi,lpVA
mov edi,lpVB
mov eax,lpVDest
movups xmm0,[esi]
movups xmm1,[edi]
addps xmm0,xmm1
movups [eax],xmm0
ret
fsmVecAdd endp
fsmVecMul proc uses esi edi lpVDest:dword,lpVA:dword,lpVB:dword
mov esi,lpVA
mov edi,lpVB
mov eax,lpVDest
movups xmm0,[esi]
movups xmm1,[edi]
mulps xmm0,xmm1
movups [eax],xmm0
ret
fsmVecMul endp
Im sorry for wasting your time, but can anyone do timing for this function for me. It seems I messed up my timer code and it always yield -1 result. I want to know how many microseconds it achieved on 100 milions loops. It should be about half seconds.