일부 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
에 표시된 대로스택오버플로우 포스트그것은 나에게 작동하지 않습니다.
어떻게 해야 하나요?