We ran the bench++ suite, mentioned as well in http://gcc.gnu.org/ml/gcc/2005-08/msg00197.html , using -O2 and we noticed one more interesting case.
Namely, S000005m runs slower (x4) when compiled with g++-4.0.1 than when compiled with either g++-2.95.3, or g++-4.1.0-20050723. This regression does not occur when -O3 is used. Apparently, it is related to the existance of a *dead* cerr, as changing the cerr to printf makes the regression go away, and the assembly shorter. Is this a caching effect? -- Summary: performance regression, possibly related to caching Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: danalis at cis dot udel dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: i686-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23322