temp2+=temp1*temp1*hpdf->b[j]->var->vec[i]; 说明:temp1,temp2,hpdf->b[j]->var->vec[i]; 都为double类型,这个条语序在我的程序中被调用的频率极高,我想要用内嵌汇编来替换这段代码不知道是否能提高运行效率
下面是编译器自动生成的汇编代码:
000d1 dd 45 c4 fld QWORD PTR _temp1$[ebp]
000d4 dc 4d c4 fmul QWORD PTR _temp1$[ebp]
000d7 8b 45 e0 mov eax, DWORD PTR _hpdf$[ebp]
000da 8b 48 0c mov ecx, DWORD PTR [eax+12]
000dd 8b 55 ec mov edx, DWORD PTR _j$[ebp]
000e0 8b 04 91 mov eax, DWORD PTR [ecx+edx*4]
000e3 8b 48 0c mov ecx, DWORD PTR [eax+12]
000e6 8b 51 04 mov edx, DWORD PTR [ecx+4]
000e9 8b 45 f8 mov eax, DWORD PTR _i$[ebp]
000ec dc 0c c2 fmul QWORD PTR [edx+eax*8]
000ef dc 45 b4 fadd QWORD PTR _temp2$[ebp]
000f2 dd 5d b4 fstp QWORD PTR _temp2$[ebp]
感觉优化不了多少求大神指导啊!!! |