Bug 213 - fixed-size matrix product crashes when EIGEN_DONT_ALIGN_STATICALLY is defined
fixed-size matrix product crashes when EIGEN_DONT_ALIGN_STATICALLY is defined
Status: RESOLVED FIXED
Product: Eigen
Classification: Unclassified
Component: Core - general
unspecified
All All
: --- Unknown
Assigned To: Nobody
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-03-03 15:58 UTC by Hauke Heibel
Modified: 2011-03-10 15:47 UTC (History)
2 users (show)



Attachments
Sample code to reproduce the bug. (1.00 KB, text/plain)
2011-03-03 15:59 UTC, Hauke Heibel
no flags Details
stack (5.86 KB, text/plain)
2011-03-04 13:49 UTC, Benoit Jacob
no flags Details
minimal testcase (470 bytes, text/plain)
2011-03-04 15:07 UTC, Benoit Jacob
no flags Details
stack (3.92 KB, text/plain)
2011-03-04 15:09 UTC, Benoit Jacob
no flags Details

Description Hauke Heibel 2011-03-03 15:58:25 UTC
The function uses _mm_load_pd even though EIGEN_ALIGN16 is not properly defined.

see attachment
Comment 1 Hauke Heibel 2011-03-03 15:59:06 UTC
Created attachment 117 [details]
Sample code to reproduce the bug.
Comment 2 Hauke Heibel 2011-03-03 16:02:21 UTC
"The function" is of course

template<typename MatrixType, typename ResultType>
struct compute_inverse_size4<Architecture::SSE, double, MatrixType, ResultType>

in Inverse_SSE.h
Comment 3 Benoit Jacob 2011-03-04 13:46:41 UTC
I can reproduce in 32bit mode only, with SSE2:

g++ main.cpp -o main -O2 -I eigen -lrt -m32 -msse2
Comment 4 Benoit Jacob 2011-03-04 13:49:16 UTC
Created attachment 120 [details]
stack
Comment 5 Benoit Jacob 2011-03-04 15:07:12 UTC
Created attachment 121 [details]
minimal testcase
Comment 6 Benoit Jacob 2011-03-04 15:09:21 UTC
Created attachment 122 [details]
stack
Comment 7 Benoit Jacob 2011-03-04 16:00:48 UTC
Fixed by b2a24739db97.
Comment 8 Benoit Jacob 2011-03-10 15:47:20 UTC
New test added: dontalign.cp, does various stuff on various types with both EIGEN_DONT_ALIGN and EIGEN_DONT_ALIGN_STATICALLY.

Note You need to log in before you can comment on or make changes to this bug.