From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 19ABF3858C78; Tue, 10 Jan 2023 03:04:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 19ABF3858C78 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1673319894; bh=UD5Rp9xEKjzVCwb0y/SYI8qwXremKbePW9zO6XIGpq4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=SVIZ7QZhHrq8fQAmIr/RDSG+5db24rXFopeXZX0xmV3jPouN4SL6xFx8rVA3txyfO +gfk4nRZn+lJAqU1vX/bH5YslqqUy34DC7UxS14s9eWP6sBZ5KeySF9x+LJbLH0K7g oMS2AJIHTu5Jo1CJKSADTk/VXaK9b9l9AT7Roi7w= From: "linkw at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/108240] [13 Regression] ICE in emit_library_call_value_1 at gcc/calls.cc:4181 since r13-4894-gacc727cf02a144 Date: Tue, 10 Jan 2023 03:04:53 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: linkw at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: linkw 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=3D108240 --- Comment #6 from Kewen Lin --- (In reply to Kewen Lin from comment #5) > (In reply to Segher Boessenkool from comment #4) > > (In reply to Kewen Lin from comment #3) > > > With the culprit commit r13-4894, we always implicitly enable powerpc= 64 for > > > both explicit and implicit 64 bit, it's the same as before for the ex= plicit > > > 64 bit case, but for the implicit 64 bit case, there is no chance for= the > > > used cpu to unset powerpc64 (like this case). To keep it consistent w= ith the > > > previous, the fix can be to only enable powerpc64 implicitly for expl= icit 64 > > > bit, while let it be for implicit 64 bit. > >=20 > > No? If the user says to use a CPU without 64-bit instructions, while t= he > > user also says we require 64-bit insns (via -m64), we should just error. >=20 > But both the previous behavior (before r13-4894) and the current behavior > (starting from r13-4894) honour the given explicit -m64, it would always > enable -mpowerpc64 at the same time without any errors/warnings. >=20 It's implied that when the user explicitly specify -m64, the handlings would neglect the impact of CPU, I'm not sure if it's intentional but the reason probably is that the underlying CPU is actually 64 bit in most cases, so ma= ke -m64 win and the compilation can go forward. If we change the behavior to error for both explicit and implicit 64 bit, s= ome compilations which worked in the past can start to fail (though it's arguab= le that it's expected). Note that for implicit 64 bit and no powerpc64, we gets errors on Linux but just warnings on darwin/aix (maybe more fallouts come o= ut on them). So considering the current release phase, I'm inclined to just ma= ke it consistent with the previous, and try to adjust the behavior (as Segher's proposal) in next release.=