conservative_resize_1 fails on GCC (up to 4.4) in Debug mode (32bit+SSE) because GCC/i386 emits x87 fldl/fstpl instructions for _mm_load_sd
Submitted by Jitse Niesen
Assigned to Nobody
Link to original bugzilla bug (#195)
Version: 3.0
Operating system: Linux
Description
Created attachment 108
test program
I ran the test suite in Debug mode and to my surprise some of the tests fail (see http://eigen.tuxfamily.org/CDash/viewTest.php?onlyfailed&buildid=5090 ; that run was not done with the latest version of Eigen).
In particular, the conservative_resize_1 test failed. I boiled it down to the attached test case. It extends the matrix m using conservativeResizeLike(). For some reason, one of the coefficients of m is not copied over into the new matrix. All other coefficients are correct.
The output of the attached program is
Before: m(37,40) = -649311
Before: n(37,40) = -649311
Resizing m to be 66 by 58
After: m(37,40) = -125023
After: n(37,40) = -649311
I compiled the program using GCC 4.3.3 with -msse2 and no other compile flags, 32-bits Linux Fedora, current version of Eigen3.
Attachment 108, "test program":