https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114996

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
That makes no sense.  combine only ever results in 0, 1, or 2 insns, never 3.

What you mean is that after 4 or more combinations you got what you wanter. 
But
combine (like most RTL optimisations!) is a totally local optimisation, it only
looks at a single step at a time.

It should never have done stap #1 that it did before.  It contradicts the
principles of what combine does.

The good news is that there are good ways to get the same effect (and much
more).
But restoring the previous behaviour is completely wrong.  There are more
things
in the instruction combiner that aren't so very lineair, but this takes the
cake.

Reply via email to