https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102062
--- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Nicholas Piggin from comment #0) > I may be unaware of a constraint of C standard here, but maintaining the two > base addresses seems pointless, This is an ordering problem. The unroller works (late) in RTL, it cannot do a good job of induction variable opts. > so is beginning the first at offset -4. This is actually useful: it makes it possible to use update-form insns much more often. It isn't optimised away later when it turns out not to help -- see ordering again. > The bigger problem is keeping a single sum. That is the variable expansion thing.