From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 8585E3858D39; Mon, 1 Aug 2022 09:00:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8585E3858D39 From: "burnus at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/106492] [OpenMP] ICE in #pragma omp for simd and bitfields Date: Mon, 01 Aug 2022 09:00:20 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: ice-on-valid-code, openmp X-Bugzilla-Severity: normal X-Bugzilla-Who: burnus at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cf_reconfirmed_on keywords bug_status cc short_desc everconfirmed Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2022 09:00:20 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106492 Tobias Burnus changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2022-08-01 Keywords| |ice-on-valid-code, openmp Status|UNCONFIRMED |NEW CC| |burnus at gcc dot gnu.org, | |jakub at gcc dot gnu.org Summary|ICE in #pragma omp for simd |[OpenMP] ICE in #pragma omp |and bitfields |for simd and bitfields Ever confirmed|0 |1 --- Comment #1 from Tobias Burnus --- The ICE occurs for the second SIMD loop (in U::U()) =E2=80=93 it compiles w= hen commenting the U::U() loops out - but it still has an ICE with only the S:= :S() body commented out. * * * pr95063.C:19:8: error: type mismatch in binary expression int That's for 'a =3D a + D.2617;' - To show more context, this lines appears i= n the following omplow dump (slightly edited). - The D.2617 variable is generated before line 11738 in omp-low.cc's lower_omp_for where the type is type =3D fd.iter_type. #pragma omp for private(k.2) firstprivate(a) lastprivate(a) for (k.2 =3D 0; k.2 < 64; k.2 =3D k.2 + 1) { int D.2617; int D.2618; a; int k; a =3D a + D.2617; // <<< ICE here: k =3D 0; #pragma omp simd _looptemp_(D.2617) _looptemp_(D.2618) linear(k:1) linear(a:1) for (k =3D 0; k < 64; k =3D k + 1) a.0 =3D a; a.1 =3D () a.0; D.2611 =3D a.1 + 1; a =3D () D.2611; #pragma omp continue (k, k) if (k =3D=3D 64) goto ; else goto ; : a =3D a; :=