From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 7E78C3858C83; Wed, 11 Jan 2023 14:29:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7E78C3858C83 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1673447386; bh=ShRkFrUy1U0BynfEcnDp1P36eumsZrxKK9YPohdBDy8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=GnBPIZ74/vuLxeTiZEskG3lExudMi32G2p9U2Hm/MrREBLglpREoXBhH5xarsBYyY 600yNr3GaES/VgsIwWqSeECnTgVzlH5Rvs6MVZxT2jDWYfmUDEo795kRPhWF9kKrfq Pp/7NkeipEHPXX3m0uZ4TEFtL6h+B+08gzA3V6sk= 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: Wed, 11 Jan 2023 14:29:45 +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 #8 from Kewen Lin --- (In reply to Segher Boessenkool from comment #7) > -m64 requires 64-bit instructions. We will ICE if we try to generate code > for -m64 without support for 64-bit insns enabled in the compiler. For > example, the stdu insn is required to implement the ABI sanely. >=20 The current behavior for one explicit command line option -m64 doesn't viol= ate the comment, the explicitly given -m64 will enable powerpc64 all the time, = it makes -m64 compilation always have 64-bit insns enabled. It's the same for = both cases before and after r13-4894. > If the user said they want a -mcpu=3D for a CPU that has no 64-bit insns, > but also wants to use -m64, we should just say sorry, that won't fly. I agree that this is a sensible thing to look into and make. But to change = the behavior like this fully (on Linux, aix and darwin, 64 bit env w/ or w/o explicit -m64) is a big adjustment comparing with the previous behaviors. Since for the case that "the explicit option -m64 + cpu without 64-bit insn= + Linux/aix/darwin" it doesn't emit errors before, for the cases that "no explicit option -m64 + cpu without 64-bit insn + aix/darwin" it only emits warnings before. Only for the case "no explicit option -m64 + cpu without 64-bit insn + Linux", it emits error before r13-4894. After the culprit com= mit it changes to not emit errors, this part is a regression, the proposed patch can fix it. But for the others in which cases we don't emit error before (for both cases before and after r13-4894), to make them to emit errors is new behavior, it could cost non-trivial efforts (at least on testing and some fixing on poss= ible fallouts).=