• [^] # Re: Assembleur

    Posté par . En réponse au message Parallelisation d'une boucle (théoriquement) trivialement parallélisable. Évalué à 1.

    Pour information le code généré pour la version avec des "+" .
    Je ne suis pas un grand spécialiste, mais il doit être difficile de faire beaucoup mieux ?
    Le "problème" est bien a chercher dans l'overhead introduit par les threads.


    yvar1Temp[i] = yvar1[i] + yvar2[i] + yvar3[i];

    movsd (%r8),%xmm3
    movhpd 0x8(%rcx,%rbx,1),%xmm1
    movhpd 0x8(%r8),%xmm3
    movapd %xmm1,%xmm0
    addpd %xmm3,%xmm0
    movsd 0x0(%rbp),%xmm3
    movhpd 0x8(%rbp),%xmm3
    addpd %xmm3,%xmm0
    movlpd %xmm0,(%rdx,%rbx,1)
    movhpd %xmm0,0x8(%rdx,%rbx,1)