https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98088

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
void
foo (int a[32][32])
{
  #pragma acc parallel loop collapse(2)
  for (int i = 16; i > 8; i--)
    for (int j = 16; j > 8; j--)
      a[i][j] = i + j;
}

ICEs too.
The
1544          gcc_assert (loop->cond_code == fd->loop.cond_code);
assertion is just wrong, at least generic code for collapsed loops makes the
fd->loop.cond_code always LT_EXPR, it iterates from 0 to number of logical
iterations of the loop nest, while the individual loops in the loop nest can go
in various directions.
This exact testcase started to ICE with the introduction of
expand_oacc_collapse_init in r6-4364-ge4834818d22f5c663b24940fd5b04da266e11fe8

Reply via email to