いくつかの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
このスタックオーバーフローの投稿それは私には機能しません。
どうすればいいですか?