| 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/ |