• [^] # Re: simd explicite ?

    Posté par (site web personnel) . En réponse au journal Pythran - 0.8.7. Évalué à 3.

    Mais appeler ses libs ne demandent pas d'utiliser des intrasecs SIMD, si ?

    Pour xsimd, non (la lib fournit une abstraction des registres vectoriels).

    Pour sleef, elle fournit de nouvelles fonctions compatibles avec l'usage d'intrinsèques, comme le montre cet exemple tiré de leur doc

    #include <stdio.h>
    #include <x86intrin.h>
    #include <sleef.h>
    int main(int argc, char **argv) {
     double a[] = {2, 10};
     double b[] = {3, 20};
     __m128d va, vb, vc;
     va = _mm_loadu_pd(a);
     vb = _mm_loadu_pd(b);
     vc = Sleef_powd2_u10(va, vb);
     double c[2];
     _mm_storeu_pd(c, vc);
     printf("pow(%g, %g) = %g\n", a[0], b[0], c[0]);
     printf("pow(%g, %g) = %g\n", a[1], b[1], c[1]);
    }