https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93734
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org --- Comment #3 from Alexander Monakov <amonakov at gcc dot gnu.org> --- I tried to make an equivalent C testcase, but complex ops don't map 1:1 from Fortran, so it's a bit difficult. Nevertheless, here's a somewhat similar testcase that aborts on 8/9, works on trunk, but IR and resulting assembly look quite different: ( needs -O2 -ftree-vectorize -mfma -fcx-limited-range ) __attribute__((noipa)) static _Complex double test(_Complex double * __restrict a, _Complex double * __restrict x, _Complex double t, long jx) { long i, j; for (j = 6, i = 3; i>=0; i--, j-=jx) x[j] -= t*a[i]; return x[4]; } int main() { _Complex double a[5] = {1, 1, 1, 1, 10}; _Complex double x[9] = {1,1,1,1,1,1,1,1,1}; if (test(a, x, 1, 2)) __builtin_abort(); }