Estou tentando compilar algumas instruções 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"
);
}
e recebo este erro:
error: unknown register name ‘%ymm1’ in ‘asm’
Embora eu use sinalizadores -mmmx
e -msse2
conforme indicado nestepostagem stackoverflowIsto não funciona para mim.
O que devo fazer?