https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101910
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marxin at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
https://lnt.opensuse.org/db_default/v4/CPP/latest_runs_report shows regressions
for s422, in the GCC testsuite copy we do not vectorize this with -O2 since
it requires versioning for aliasing.
/home/rguenther/src/gcc3/gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s422.c:21:34:
missed: versioning for alias required: can't determine dependence between
flat_2d_array[_1] and *_7
consider run-time aliasing test between flat_2d_array[_1] and *_7. That's
because the code does
xx = flat_2d_array + 4;
for (int nl = 0; nl < 8*iterations; nl++) {
for (int i = 0; i < LEN_1D; i++) {
xx[i] = flat_2d_array[i + 8] + a[i];
}
dummy(a, b, c, d, e, aa, bb, cc, 0.);
}
but 'dummy' is not known to not clobber 'xx'. While xx is declared __restrict
that dummy call still gets in the way.
So I wonder what variant LNT exactly benchmarks.