Message170985
> 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); |
|
Date |
User |
Action |
Args |
2012-09-22 11:09:29 | skrah | set | recipients:
+ skrah, loewis, vstinner, nadeem.vawda, brian.curtin |
2012-09-22 11:09:29 | skrah | set | messageid: <1348312169.14.0.11436421539.issue15993@psf.upfronthosting.co.za> |
2012-09-22 11:09:28 | skrah | link | issue15993 messages |
2012-09-22 11:09:28 | skrah | create | |
|