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

            Bug ID: 106449
           Summary: ICE in #pragma omp parallel for simd
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sandra at gcc dot gnu.org
  Target Milestone: ---

Test case is derived from c-c++-common/gomp/loop-8.c, with "simd" added:

void
foo (void)
{
  int a[1024];
  int *p, *q;
  #pragma omp parallel for simd collapse(2)
  for (p = &a[0]; p < &a[512]; p++)
    for (q = p + 64; q < p + 128; q++)
      ;
}

$ x86_64-none-linux-gnu-gcc -fopenmp loop-8.c
during GIMPLE pass: ompexp
loop-8.c: In function 'foo':
loop-8.c:6:11: internal compiler error: in build2, at tree.cc:5023
    6 |   #pragma omp parallel for simd collapse(2)
      |           ^~~
0x19e4116 build2(tree_code, tree_node*, tree_node*, tree_node*)
        /path/to/gcc/tree.cc:5022
0xf81b3f build2_loc
        /path/to/gcc/tree.h:4577
0xfc0d03 fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        /path/to/gcc/fold-const.cc:13860
0xfb26f3 fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        /path/to/gcc/fold-const.cc:10894
0xfc0cdc fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        /path/to/gcc/fold-const.cc:13858
0x380f1ca expand_omp_simd
        /path/to/gcc/omp-expand.cc:6882
0x3815c41 expand_omp_for
        /path/to/gcc/omp-expand.cc:8090
0x381e79d expand_omp
        /path/to/gcc/omp-expand.cc:10357
0x381e717 expand_omp
        /path/to/gcc/omp-expand.cc:10343
0x381e717 expand_omp
        /path/to/gcc/omp-expand.cc:10343
0x381edbb execute_expand_omp
        /path/to/gcc/omp-expand.cc:10592
0x381ee95 execute
        /path/to/gcc/omp-expand.cc:10639

Reply via email to