http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54146
--- Comment #45 from Marc Glisse <glisse at gcc dot gnu.org> 2012-08-14 13:20:55 UTC --- (In reply to comment #11) > > Marc, do you know where the use of the > > flatten attribute comes from in your code? > Comes from the Eigen library, I'll talk to them about it and see if they can > comment. They mostly deal with simple number types (double, float), so the > behavior with heavy types might have been unnoticed. For the record: after doing some benchmarks, they have removed the attribute, it didn't improve performance anymore (though it probably used to in the past). I have to say I am extremely impressed by all the improvements you guys have done based on this bad code (which I realize is now just a handy example of big code with the flatten attribute high enough in the call chain). If you keep at it, next time I might not even notice there is something wrong with the code ;-)