------- Additional Comments From tbptbp at gmail dot com 2005-01-31 14:14 ------- Yes, and i'm not asking for a GPR->SSE transfer. What i'm asking is why gcc feels the urge to copy that memory reference to the stack before fooling around with it.
The full sequence is: 401298: 8b 42 28 mov 0x28(%edx),%eax 40129b: 89 44 24 1c mov %eax,0x1c(%esp) 40129f: 66 0f 6e 64 24 1c movd 0x1c(%esp),%xmm4 4012a5: 66 0f 70 cc 00 pshufd $0x0,%xmm4,%xmm1 whereas ICC does: 40241d: 66 0f 6e 44 ca 28 movd 0x28(%edx,%ecx,8),%xmm0 40242c: 66 0f 70 c0 00 pshufd $0x0,%xmm0,%xmm0 I've opened http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19714 for this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19680