From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 87A683858D35; Sun, 7 Jan 2024 04:24:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 87A683858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1704601451; bh=qSXTHWWltskXcNQ+V8xljrcoItOVTHzgb6SVQvqGsoM=; h=From:To:Subject:Date:In-Reply-To:References:From; b=JOUDumk1mW252dBeDefxYPYQLkzQ0vFPpxk5QIzjKpo5/B4J19bckcjblv+dHs7U8 dARQE20P/9NsLveHyY02CkymgnIV8ltIFo3F/okA/+UwV6rAt25o3CZ2ghJfAiWxXj IjNnhvGQLAxqOBqX06CJMhZVnbhEShsX3Kct1LFU= From: "gcc at octaforge dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/113174] gcc fails to bootstrap on pp64le with clang-based host environment (internal compiler error) Date: Sun, 07 Jan 2024 04:24:09 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Version: 13.2.1 X-Bugzilla-Keywords: build, ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: gcc at octaforge dot org X-Bugzilla-Status: WAITING 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: 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=3D113174 --- Comment #8 from Daniel Kolesa --- I tried an experiment: I canceled the build after initial generation of insn-recog.cc and patched the offending part with logic from a stage-2 insn-recog.cc I managed to previously capture: ``` --- insn-recog.cc.orig 2024-01-07 04:46:19.328295337 +0100 +++ insn-recog.cc 2024-01-07 04:41:52.025630846 +0100 @@ -41675,11 +41675,12 @@ break; } operands[0] =3D x3; - if (!gpc_reg_operand (operands[0], E_SImode) + if (GET_CODE (x2) !=3D MEM || GET_MODE (x2) !=3D E_SImode) return -1; x4 =3D XEXP (x2, 0); - if (GET_MODE (x4) !=3D E_SImode) + if (GET_CODE (x4) !=3D PLUS + || GET_MODE (x4) !=3D E_SImode) return -1; switch (GET_CODE (x2)) { ``` This allowed all 3 stages to finish building. It results in lots of failed comparisons for stage2 and stage3 files though, and is obviously not a work= able solution.=