https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116380
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Might be slightly easier to understand testcase: ``` int a[3], d[3], c; int f(int e, int b) { for (; e < 3; e++) { a[0] = 0; if (b) c = b; d[e] = 0; a[e] = 0; } return e; } ``` And `-O2 -funswitch-loops -fno-tree-scev-cprop`. I am not sure if the IR coming out of unswitch is bad or ldist is going wrong.