https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104133
Bug ID: 104133 Summary: OpenACC 'kernels' decomposition: internal compiler error: 'verify_gimple' failed, error: invalid operands in binary operation Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, openacc Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org CC: asolokha at gmx dot com, pinskia at gcc dot gnu.org Target Milestone: --- A slight variation of what Andrew Pinski posted in <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104061#c3> (see PR104132): int arr_0; void foo (void) { #pragma acc kernels { int k; #pragma acc loop for (k = 0; k < 2; k++) arr_0 += k; #pragma acc loop for (k = 0; k < 2; k++) arr_0 += k; } } (Note 'arr_0 += k;' as originally in PR104061, not 'arr_0 = k;' as in PR104132.) Already with '-fopenacc --param openacc-kernels=decompose -O0 -g0' (so, not involving 'GIMPLE_DEBUG's), for both C and C++, we run into: pr.c: In function ‘foo’: pr.c:37:13: error: invalid operands in binary operation 37 | arr_0 += k; | ~~~~~~^~~~ D.2133 = arr_0.0 + k; pr.c:37:13: error: invalid operands in binary operation D.2135 = arr_0.1 + k; during GIMPLE pass: lower pr.c:37:13: internal compiler error: ‘verify_gimple’ failed