[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