https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70103
vekumar at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at suse dot de, | |richard.guenther at gmail dot com Severity|normal |enhancement --- Comment #1 from vekumar at gcc dot gnu.org --- After discussion with Richard it was concluded that even after we fix this still we still won't be able to vectorize the loop. (Snip) flux_lam.f:68:0: note: not vectorized: relevant stmt not supported: _177 = _176 % _21; flux_lam.f:68:0: note: bad operation or unsupported loop bound. (Snip) The reason is we have % operations. (Snip) <bb 27>: # i_2 = PHI <1(23), _181(28)> _175 = i_2 + _21; _176 = _175 + -2; _177 = _176 % _21; im1_178 = _177 + 1; _179 = i_2 % _21; ip1_180 = _179 + 1; (Snip) that makes indices "wrap" around which is of course something that is hard to vectorize. One would need iteration space splitting to ensure the wrapping doesn't occur in the vectorized iterations. Reporting this bug and marking this as enhancement