From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 4EE703858D39; Wed, 31 Aug 2022 16:58:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4EE703858D39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1661965088; bh=E3xILOWEAr13aEo/dpIhoso4MTUjbip+I2UGd6jDEzo=; h=From:To:Subject:Date:In-Reply-To:References:From; b=NKwm7Hw6Pmfoi5RfCCGtWslF8jz7Ff7yXM7LBiVTxKyavE0cY6agJdRW++S6+6rm4 iVsOyAH8GhszLeg5NGDhXgIug8gBypWchPDlnKzPg+s5ZgGNS1OBfDNboJd7dDcR9h 1mWPEUu7IUpqB94iQAYuOajH0OmjzZ/w6eyOklV0= From: "dcb314 at hotmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/106794] [13 Regression] ice in vect_transform_slp_perm_load_1 Date: Wed, 31 Aug 2022 16:58:08 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: dcb314 at hotmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106794 --- Comment #2 from David Binderman --- Reduced code seems to be: template struct Vector3 { Vector3(); Vector3(T, T, T); T length() const; T x, y, z; }; template Vector3::Vector3(T _x, T _y, T _z) : x(_x), y(_y), z(_z) {} Vector3 cross(Vector3 a, Vector3 b) { return Vector3(a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x); } template T Vector3::length() const { return z; } int generateNormals_i; float generateNormals_p2_0, generateNormals_p0_0; struct SphereMesh { void generateNormals(); float vertices; }; void SphereMesh::generateNormals() { Vector3 *faceNormals =3D new Vector3; for (int j; j; j++) { float *p0 =3D &vertices + 3, *p1 =3D &vertices + j * 3, *p2 =3D &vertic= es + 3, *p3 =3D &vertices + generateNormals_i + j * 3; Vector3 v0(p1[0] - generateNormals_p0_0, p1[1] - 1, p1[2] - 2), v1(0, 1, 2); if (v0.length()) v1 =3D Vector3(p3[0] - generateNormals_p2_0, p3[1] - p2[1], p3[2] - p2[2]); else v1 =3D Vector3(generateNormals_p0_0 - p3[0], p0[1] - p3[1], p0[2] - p3[2]); Vector3 faceNormal =3D cross(v0, v1); faceNormals[j] =3D faceNormal; } } Flags -c -O3 -ffast-math -march=3Dbdver2 required.=