HPC Magazine octobre 2013 - Programmer pour la performance (1ère partie).

Listing 3 - Dump assembleur de la fonction saxpy du listing 1 modifiée avec mulpd (calcul simultané de deux opérations flottantes).


..___tag_value_saxpy.1:
        xorl      %eax, %eax
        movslq    %edi, %rdi
        testq     %rdi, %rdi
        jle       ..B1.5
..B1.3:
        movupd    (%rsi,%rax,8), %xmm1
        mulpd     %xmm0, %xmm1
        addpd     (%rdx,%rax,8), %xmm1
        movupd    %xmm1, (%rdx,%rax,8)
        incq      %rax
        cmpq      %rdi, %rax
        jl        ..B1.3
..B1.5:
        ret