[Bug target/39678] std::transform is incorrect with std::multiples and bind2nd for complex<float>

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Apr 7 15:57:00 GMT 2009



------- Comment #13 from rguenth at gcc dot gnu dot org  2009-04-07 15:57 -------
The intel compiler generates

..___tag_value__ZSt7bind2ndISt10multipliesISt7complexIfEES2_ESt9binder2ndIT_ERKS5_RKT0_.69:
#165.5
        movq      (%rsi), %rax                                  #167.53
        movss     4(%rsi), %xmm1                                #167.53
        movq      %rax, -20(%rsp)                               #167.42
        movsd     -24(%rsp), %xmm0                              #167.14
..___tag_value__ZSt7bind2ndISt10multipliesISt7complexIfEES2_ESt9binder2ndIT_ERKS5_RKT0_.70:
#167.14
        ret                                                

and

        call     
_ZSt7bind2ndISt10multipliesISt7complexIfEES2_ESt9binder2ndIT_ERKS5_RKT0_ #13.68
                                # LOE rbx r12 r13 xmm0 xmm1
..B1.35:                        # Preds ..B1.11
        movlps    %xmm0, 48(%rsp)                               #13.68
        movss     %xmm1, 56(%rsp)                

so it's at least consistent ....


-- 


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



More information about the Gcc-bugs mailing list