マルチメディア命令(配列対応要素乗算)
3086 ワード
#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命令を使用します.