Wie kompiliert man eine AVX-Assembly in einer virtuellen Ubuntu-Maschine?

Wie kompiliert man eine AVX-Assembly in einer virtuellen Ubuntu-Maschine?

Ich versuche, einige AVX-Anweisungen zu kompilieren

{
        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"
        );
    }

und ich erhalte diese Fehlermeldung:

error: unknown register name ‘%ymm1’ in ‘asm’

Obwohl ich Flaggen verwende -mmmxund -msse2wie in diesem angegebenStackoverflow-Beitrages funktioniert bei mir nicht.

Was soll ich machen?

verwandte Informationen