simplify_plus_minus uses an unstabilized qsort call. This makes the perfomed optimizations dependent on the qsort implementation. The observed problem was that a mingw hosted compiler generated different code than a Linux/GNU hosted compiler. A patch is here: http://gcc.gnu.org/ml/gcc-cvs/2004-06/msg00665.html
-- Summary: simplify_plus_minus results are erratic Product: gcc Version: 3.4.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org OtherBugsDependingO 17652 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20365