HPC Magazine February 2014 - An Introduction to Performance Programming - part I.

Listing 2: Assembly code of the saxpy function in Listing 1.


..___tag_value_saxpy.1:
        xorl      %eax, %eax
        movslq    %edi, %rdi
        testq     %rdi, %rdi
        jle       ..B1.5
..B1.3:
        movsd     (%rsi,%rax,8), %xmm1 #\label{inst:load}#
        mulsd     %xmm0, %xmm1 #\label{inst:mul}#
        addsd     (%rdx,%rax,8), %xmm1 #\label{inst:add}#
        movsd     %xmm1, (%rdx,%rax,8) #\label{inst:store}#
        incq      %rax #\label{inst:incq}#
        cmpq      %rdi, %rax #\label{inst:cmpq}#
        jl        ..B1.3
..B1.5:
        ret