https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84616
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |needs-reduction, wrong-code Target| |x86_64-*-*, i?86-*-* Status|WAITING |NEW CC| |rguenth at gcc dot gnu.org Component|c++ |target Version|unknown |7.3.1 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Hmm, I get (with local Eigen library) at -O0: 1 -0 0 -0 -0 1 -0 0 0 -0 1 -0 -0 0 -0 1 so it looks like Eigen has issues with signed zeros? I can reproduce your bogus output already with -O -fno-signed-zeros with my eigen version. Your preprocessed source also produces those signed zero issues seen above but requires -funsafe-math-optimizations to reproduce the issue. So, "confirmed", but given the complexity of Eigen I wouldn't rule out issues with the library itself. Interestingly with -m32 -Ofast -mno-sse I see correct results (apart from the signed zeros). Needs to be tracked down to sth simpler than Eigen...