https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69052
--- Comment #8 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- (In reply to amker from comment #7) > According to discussion at https://gcc.gnu.org/ml/gcc/2016-01/msg00190.html, > hook is probably not wanted in this case. > Bernd gave another proposal by moving combine before loop transforms is also > interesting, but it can be for GCC6. > So a backend fix would be nice. Unfortunately my patch causes significant regressions in some SPEC benchmarks. Looks like address operands order matters in some other places.