From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 421A63857C4F; Mon, 14 Nov 2022 14:03:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 421A63857C4F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1668434634; bh=aX1VYJ8ywUy9CpeFZhp4uxq79AUXNsu7xJmJFx4Fs+M=; h=From:To:Subject:Date:In-Reply-To:References:From; b=daIAnPlDCwmg7qxW7i/i4uEOZJytwfGjQXFXUes2LFRBTkKygZdF1n+BT76Xe3/wV NH1ZKXEfYqIYRpbaf6hsHIwsGm8MCfKyVcROJFMvafLd4qm+2y1Z+ULllXhoZ51QAx eWdgtMEBa4EJ8vqzUE+1QIg+9Br2MplYWKdGrF5M= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/107672] [13 Regression] ICE during GIMPLE pass: slp Date: Mon, 14 Nov 2022 14:03:53 +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: rguenth at gcc dot gnu.org 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: keywords cc 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D107672 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code CC| |rguenth at gcc dot gnu.org Target Milestone|--- |13.0 --- Comment #1 from Richard Biener --- for (i =3D 0; i < MAX_INTERM_CVT_STEPS; i++) { intermediate_mode =3D insn_data[icode1].operand[0].mode; if (VECTOR_BOOLEAN_TYPE_P (prev_type)) intermediate_type =3D vect_halve_mask_nunits (prev_type, intermediate_mode); else intermediate_type =3D lang_hooks.types.type_for_mode (intermediate_mode, TYPE_UNSIGNED (prev_type)); if (VECTOR_BOOLEAN_TYPE_P (intermediate_type) that fails to check for the case the langhook returns NULL. In fact, using build_nonstandard_integer_type is prefered, just use GET_MODE_PRECISION on the intermediate_mode. Note that's just guessed from the backtrace reported. If you can fire up gdb and see what it actually segfaults on that would be helpful. Likewise the above would suggest your type_for_mode needs amemdment.=