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