https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106293
--- Comment #23 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Thanks, I think I will need to work out the remaining vectorizer problems. One issue seems to be interaction with loop distribution. Loop distribution seems to intorduce alias checks that are later removed by vectorizer but I suspect the profile is not compensated back. Other problem is that lsplit produces loop iterating once (for the last iteration) and does not update loop info accordingly (since it really lacks analysis discovering this). These loops seems to survive into ivopts fast_algorithms.c.182t.ivopts:;; iterations by profile: 5.312499 (unreliable, maybe flat) fast_algorithms.c.182t.ivopts:;; iterations by profile: 0.009495 (unreliable, maybe flat) fast_algorithms.c.182t.ivopts:;; iterations by profile: 0.009495 (unreliable, maybe flat) fast_algorithms.c.182t.ivopts:;; iterations by profile: 0.009495 (unreliable, maybe flat) fast_algorithms.c.182t.ivopts:;; iterations by profile: 0.009495 (unreliable, maybe flat) fast_algorithms.c.182t.ivopts:;; iterations by profile: 100.000008 (unreliable) fast_algorithms.c.182t.ivopts:;; iterations by profile: 100.000000 (unreliable) fast_algorithms.c.182t.ivopts:;; iterations by profile: 9.662853 (unreliable, maybe flat) fast_algorithms.c.182t.ivopts:;; iterations by profile: 4.646072 (unreliable) fast_algorithms.c.182t.ivopts:;; iterations by profile: 100.000007 (unreliable) fast_algorithms.c.182t.ivopts:;; iterations by profile: 5.312500 (unreliable) fast_algorithms.c.182t.ivopts:;; iterations by profile: 473.497707 (reliable) fast_algorithms.c.182t.ivopts:;; iterations by profile: 100.999596 (reliable) which is obviously bad idea.