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.

Reply via email to