C++代码为:
for(int i=0; i<dataLen; i++)
{
*pp3 = (*pp1) * (*pp2);
pp1++;
pp2++;
pp3++;
}
对应的汇编代码为:
for(int i=0; i<dataLen; i++)
000000013FFBE0A7 sub rcx,rbx
000000013FFBE0AA mov eax,0EE6B280h
000000013FFBE0AF sub rdi,rbx
{
*pp3 = (*pp1) * (*pp2);
000000013FFBE0B2 movups xmm1,xmmword ptr [rdi+rbx]
000000013FFBE0B6 movups xmm0,xmmword ptr [rbx]
pp1++;
pp2++;
000000013FFBE0B9 lea rbx,[rbx+10h]
000000013FFBE0BD mulps xmm1,xmm0
000000013FFBE0C0 movups xmmword ptr [rcx+rbx-10h],xmm1
000000013FFBE0C5 dec rax
000000013FFBE0C8 jne testfun+1D2h (013FFBE0B2h)
pp3++;
}
}
这段汇编代码好像优化了,能不能帮忙解释一下,多谢了!