Estoy intentando compilar algunas instrucciones 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"
);
}
y me sale este error:
error: unknown register name ‘%ymm1’ in ‘asm’
Aunque uso banderas -mmmx
y -msse2
como se indica en estepublicación de desbordamiento de pilano me funciona.
¿Qué tengo que hacer?