http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53071



--- Comment #1 from Uros Bizjak <ubizjak at gmail dot com> 2012-11-23 07:49:41 
UTC ---

Resulting asm is quite different w/ current mainline:



_Z4testU8__vectorxS_S_:

    vmovdqa    %xmm2, -24(%rsp)

    vpsrlq    $32, %xmm0, %xmm3

    vpmuldq    %xmm1, %xmm0, %xmm2

    vpmuldq    %xmm1, %xmm3, %xmm1

    vpand    .LC0(%rip), %xmm1, %xmm1

    vpsrlq    $32, %xmm2, %xmm2

    vmovd    -24(%rsp), %xmm4

    vpor    %xmm1, %xmm2, %xmm1

    vpaddd    %xmm0, %xmm1, %xmm1

    vpsrad    $31, %xmm0, %xmm0

    vpsrad    %xmm4, %xmm1, %xmm1

    vpsubd    %xmm0, %xmm1, %xmm0

    ret



_Z5test2U8__vectorxS_S_:

    vpxor    %xmm3, %xmm3, %xmm3

    vmovdqa    %xmm2, -24(%rsp)

    vpmuldq    %xmm1, %xmm0, %xmm2

    vpsrlq    $32, %xmm2, %xmm2

    vpmacsdqh    %xmm3, %xmm1, %xmm0, %xmm1

    vpand    .LC0(%rip), %xmm1, %xmm1

    vmovd    -24(%rsp), %xmm4

    vpor    %xmm1, %xmm2, %xmm1

    vpaddd    %xmm0, %xmm1, %xmm1

    vpsrad    $31, %xmm0, %xmm0

    vpsrad    %xmm4, %xmm1, %xmm1

    vpsubd    %xmm0, %xmm1, %xmm0

    ret

Reply via email to