From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 54DD63858414; Thu, 2 Dec 2021 01:35:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 54DD63858414 From: "pinskia at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/103523] [11/12 Regression] SVE float auto-vect float format expand failure Date: Thu, 02 Dec 2021 01:35:32 +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: 12.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: pinskia 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: 11.3 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cf_reconfirmed_on bug_status component everconfirmed target_milestone 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: Thu, 02 Dec 2021 01:35:32 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103523 Andrew Pinski changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-12-02 Status|UNCONFIRMED |NEW Component|target |tree-optimization Ever confirmed|0 |1 Target Milestone|--- |11.3 --- Comment #2 from Andrew Pinski --- (In reply to Tamar Christina from comment #1) > An additional ICE seen on a month old tree is > unsure if this was fixed or just hidden... It is extra checking (that is --enable-checking vs --enable-checking=3Drele= ase): 504 gcc_checking_assert (is_constant ()); #7 0x000000000189d858 in nunits_for_known_piecewise_op (type=3D0xfffff5bc9= 1b0) at /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/tree-vect-generic.c:101 101 return TYPE_VECTOR_SUBPARTS (type).to_constant (); (gdb) p type $1 =3D (const_tree) 0xfffff5bc91b0 (gdb) p debug_generic_expr(type) vector([2,2]) float #10 0x00000000018a97a8 in expand_vector_operations_1 (gsi=3D0xfffffffff570, dce_ssa_names=3D0xfffffffff588) at /home/ubuntu/src/upstream-gcc-aarch64/gcc/gcc/tree-vect-generic.c:2331 (gdb) p code $9 =3D MULT_EXPR (gdb) p type $10 =3D (tree) 0xfffff5bc91b0 (gdb) p debug_generic_expr(type) vector([2,2]) float //E_VNx2SFmode (gdb) p op $12 =3D smul_optab (gdb) p debug_generic_expr(compute_type) float (gdb) p debug_generic_expr(get_compute_type(code, op, type)) float (gdb) p optab_handler(op, E_VNx2SFmode) $23 =3D CODE_FOR_nothing (gdb) p op $24 =3D smul_optab I don't know enough of the SVE backend to understand VNx2SF vs VNx4SF really and why the vectorizer is chosing VNx2SF mode here which does not support h= alf of the instructions (according to the backend).=