When reload_combine replaces a register with a sum of another register ('base') and a constant, it fails to note the new uses of the base. Thus, when it later replaces the base, thew new uses won't be updated.
A patch is here: http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01387.html -- Summary: reload_combine looses track of uses Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org OtherBugsDependingO 29842 nThis: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29854