Я пытаюсь скомпилировать некоторые инструкции 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
как указано в этомпост stackoverflowЭто не работает для меня.
Что я должен делать?