From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 775DA385840A; Fri, 19 Jan 2024 23:24:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 775DA385840A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1705706665; bh=X+dSR8nxodCzoheGxFlxdWzCF0vUyYUZUiuI4NNZLJU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=GkQQIXR3UcsI4jrwE2AETmY2barjRYoNDIx782/51T7UFixnm3hxucefgrDulvRTF naJ8hEtfmcAYs+Yhe4wmQ/W4gZfDTtKdK96NviJown1d+ZbnognoPdh6gdWArXezYp 9QJz6NwxcaQipPYOE5vc7bGbGK+cZNOVCHcsKH7A= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/110934] m68k: ICE with -fzero-call-used-regs=all compiling openssh 9.3p2 Date: Fri, 19 Jan 2024 23:24:22 +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.2.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit 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: --- 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=3D110934 --- Comment #13 from GCC Commits --- The master branch has been updated by Jeff Law : https://gcc.gnu.org/g:f1dea0fed946ba40bd6bbe40ad1386aa9303418c commit r14-8299-gf1dea0fed946ba40bd6bbe40ad1386aa9303418c Author: Mikael Pettersson Date: Fri Jan 19 16:23:34 2024 -0700 [PATCH] Avoid ICE on m68k -fzero-call-used-regs -fpic [PR110934] PR110934 is a problem on m68k where -fzero-call-used-regs -fpic ICEs when clearing an FP register. The generic code generates an XFmode move of zero to that register, which becomes an XFmode load from initialized data, which due to -fpic uses a non-constant address, which the backend rejects. The zero-call-used-regs pass runs very late, after register allocation and frame layout, and at that point we can't allow new uses of the PIC register or new pseudos. To clear an FP register on m68k it's enough to do the move in SFmode, but the generic code can't be told to do that, so this patch updates m68k to use its own TARGET_ZERO_CALL_USED_REGS. Bootstrapped and regression tested on m68k-linux-gnu. Ok for master? (I don't have commit rights.) gcc/ PR target/110934 * config/m68k/m68k.cc (m68k_zero_call_used_regs): New function. (TARGET_ZERO_CALL_USED_REGS): Define. gcc/testsuite/ PR target/110934 * gcc.target/m68k/pr110934.c: New test.=