https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #6 from Yuri Rumyantsev <ysrumyan at gmail dot com> --- Richard, I did change proposed by you but it still does not help since we have loop-carried dependency through this_4(D)->S_n: <bb 2>: _5 = this_4(D)->S_n; ... <bb 4>: pretmp_54 = this_4(D)->C2; pretmp_57 = this_4(D)->C1; pretmp_60 = MEM[(int * *)this_4(D) + 56B]; _20 = this_4(D)->S_n; <bb 5>: Loop header # i_33 = PHI <0(4), i_28(6)> # prephitmp_56 = PHI <_5(4), _20(6)> Recurrent phi. ... test.cpp:66:25: note: vect_is_simple_use: operand prephitmp_56 test.cpp:66:25: note: def_stmt: prephitmp_56 = PHI <_5(4), _20(6)> test.cpp:66:25: note: type of def: unknown test.cpp:66:25: note: Unsupported pattern. test.cpp:66:25: note: not vectorized: unsupported use in stmt.