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