#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
float a[8]={1,2,3,4,5,6,7,8};
float b[8]={1,2,3,4,5,6,7,8};
float c[8]; //两个数组相乘的结果
__asm
{
mov ebx,0;
mov ecx,2; //循环两次
lp:
movups xmm0,[a+ebx]; //一次存入xmm中16个字节即4个数
movups xmm1,[b+ebx];
mulps xmm0,xmm1;
movups [c+ebx],xmm0;
add ebx,16;
dec ecx;
jnz lp;
}
for (int i=0;i<8;i++)
cout<<c[i]<<" ";
system("pause");
return 0;
}
直接跳过mmx指令,使用sse指令。
转载于:https://www.cnblogs.com/tiandsp/archive/2013/03/14/2959376.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)