Author skrah
Recipients brian.curtin, loewis, nadeem.vawda, skrah, vstinner
Date 2012-09-22.11:09:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1348312169.14.0.11436421539.issue15993@psf.upfronthosting.co.za>
In-reply-to
Content
> 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);
History
Date User Action Args
2012-09-22 11:09:29skrahsetrecipients: + skrah, loewis, vstinner, nadeem.vawda, brian.curtin
2012-09-22 11:09:29skrahsetmessageid: <1348312169.14.0.11436421539.issue15993@psf.upfronthosting.co.za>
2012-09-22 11:09:28skrahlinkissue15993 messages
2012-09-22 11:09:28skrahcreate