Re: [eigen] Matrix product crashes when compiled with MSVC 2010 in release |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Here is the failing assembly: if(nr==4) traits.acc(C3, alphav, R3); 00123465 movapd xmm6,xmm0 00123469 mulpd xmm6,xmmword ptr [C3] 0012346E addpd xmm6,xmm7 00123472 add dword ptr [ebp-3Ch],20h 00123476 add eax,dword ptr [k] traits.acc(C4, alphav, R4); 00123479 movapd xmm7,xmm0 0012347D mulpd xmm7,xmm4 00123481 movupd xmm4,xmmword ptr [edi-70h] 00123486 addpd xmm7,xmm4 0012348A movapd xmm2,xmm0 0012348E mulpd xmm2,xmmword ptr [C1] 00123496 addpd xmm2,xmmword ptr [esi+edx] 0012349B lea edx,[esi+edx+10h] traits.acc(C5, alphav, R5); The second last command, the aligned addition creates the mentioned error. I could only circumventing the crash by changing the computation of acc(...) - just check the patch I attached. Just a short question to you Ilya - do you rely on disabling the whole program optimization? Per default it is enabled if you create a new solution. That's why we never hit that issue so far. I am saying for all our unit tests, the compiler settings are mostly on default for MSVC builds. Testing against all combinations of compiler settings is not really possible. ;) - Hauke
Attachment:
msvc_sse.patch
Description: Binary data
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |