http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54899
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Known to work| |4.6.4, 4.8.0 Keywords| |wrong-code Last reconfirmed| |2012-10-11 Component|c++ |tree-optimization Ever Confirmed|0 |1 Summary|-fpredictive-commoning and |[4.7 Regression] |-ftree-vectorize |-fpredictive-commoning and |optimizations generate a |-ftree-vectorize |nonsensical binary which |optimizations generate a |segfaults |nonsensical binary which | |segfaults Target Milestone|--- |4.7.3 Known to fail| |4.7.2 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2012-10-11 13:57:50 UTC --- predcom introduces D.2600_40 = MEM[(const double &)D.2413_2].mData[4294967295]; D.2601_38 = MEM[(const double &)D.2413_2].mData[0]; D.2602_19 = MEM[(const double &)D.2413_2].mData[1]; this is mData[-1], a reconstructed array access, D.2413_2 is &this_1(D)->b. Not sure how predcom arrives at this ... on trunk there is no predcom performed and Instead the base is this_1(D) + 24.