我正在嘗試編譯一些 avx 指令
{
double* dst = NULL;
const int* ait = a;
int N=0;
const int* aend = a+N;
__asm__ __volatile__ (
"0:\n"
"vmovupd (%1),%%xmm0\n"
"vcvtdq2pd %%xmm0,%%ymm1\n"
"vmovapd %%ymm1,(%0)\n"
"addq $16,%1\n"
"addq $32,%0\n"
"cmpq %2,%1\n"
"jb 0b\n"
: "=r"(dst),"=r"(ait),"=r"(aend)
: "0"(dst),"1"(ait),"2"(aend)
: "%xmm0","%ymm1","memory"
);
}
我收到此錯誤:
error: unknown register name ‘%ymm1’ in ‘asm’
雖然我使用標誌-mmmx
並-msse2
如此所示堆疊溢位帖子它對我不起作用。
我該怎麼辦?