Stefan Krah added the comment:

> Given all the problems, I'll stop using PGO on all branches and
> as the compiler apparently generates bad code.

That is probably the best solution.



The problem in memoryview.c:pack_single() is that Visual Studio optimizes the
memcpy() to mov instructions, but exchanges the low and high dwords:

unsigned __int64 llu = 1;

do { unsigned __int64 x; 
     x = (unsigned __int64)llu; 
     // At this point x=llu is in edx=1 and ecx=0.
     // The memcpy() is optimized to:
     //    mov dword ptr [esi], ecx
     //    mov dword ptr [esi+4], edx
     memcpy(ptr, (char *)&x, sizeof x); 
} while (0);

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue15993>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to