https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87678
--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> --- Ah. So you want this optimisation (which is currently done by LRA) to be done by combine as well; it's not that the resulting assembler code for this testcase is worse than what you'd like to see. And what you want combine to do is just do a substitution (and no simplification, none with known values at least). I agree with that. I also want the latter to be done after every split pass, for the insns touched by that split anyway :-)