• [^] # Re: sse

    Posté par (site web personnel) . En réponse au journal GCC et le mmx/sse{1,2,3)/3dnow. Évalué à 2.

    Effectivement, si je lui met la ligne
    gcc -S testsimd.c -O6 -mfpmath=sse -mtune=athlon-4 -march=athlon-4 -o t.asm

    et là il me sort du mmx, propre

    [montaigne@localhost simd]$ cat t.asm | grep %xmm

    movss .LC0, %xmm0
    xorps %xmm2, %xmm2
    cvtsi2ss %ecx, %xmm2
    addss %xmm0, %xmm2
    movss %xmm2, -92(%ebp)
    movss -12(%ebp), %xmm4
    movss %xmm4, -72(%ebp)
    movss -12(%ebp), %xmm5
    movss %xmm5, -92(%ebp)
    movss %xmm5, -56(%ebp)
    movss %xmm4, -92(%ebp)
    movss %xmm2, -92(%ebp)
    movss %xmm2, -88(%ebp)
    movss -88(%ebp), %xmm2
    movss -92(%ebp), %xmm3
    movss -72(%ebp), %xmm1
    movss -56(%ebp), %xmm0
    addss -16(%ebp), %xmm1
    addss -20(%ebp), %xmm0
    addss %xmm2, %xmm3
    movss %xmm3, -92(%ebp)
    movss %xmm0, -92(%ebp)
    movss %xmm1, -92(%ebp)

    mais effectivement, dès que tu remplaces les float par des long, a plus mmx...

    Pourtant, ça se case aussi facilement ça, non ?

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker