https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125065
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |16.2
Target| |aarch64
Summary|[15/16 Regression][AArch64] |[16/17 Regression][AArch64]
|SVE vectorization of loop |SVE vectorization of loop
|with early exit lost at -O3 |with early exit lost at -O3
|-fvect-cost-model=unlimited |-fvect-cost-model=unlimited
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
This seems to be due to correctness fixes around early break:
t.c:10:27: missed: single-element interleaving not supported for not adjacent
vector loads, using elementwise access
t.c:10:27: note: using gather/scatter for strided/grouped access, scale = 4
t.c:10:27: note: early break not supported: cannot peel for alignment. With
non-contiguous memory vectorization could read out of bounds at _6 = *_5;
t.c:14:16: missed: not vectorized: relevant stmt not supported: _6 = *_5;
t.c:10:27: note: unsupported SLP instance starting from: sum_17 = _6 +
sum_15;
t.c:10:27: missed: unsupported SLP instances