From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id D40203860768; Fri, 12 Jan 2024 18:34:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D40203860768 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1705084472; bh=9jO14qUkyFEhFcSJwqkHcKgh9eaKfqM253Yv09QtM10=; h=From:To:Subject:Date:In-Reply-To:References:From; b=pNHOWnOVHan5Ee93lzOg20hT85w8lHV/ostKKg9K9Z0EvoezJQZ8VH7goQsnfvH1B 7qapqk7zGOvB7HDGAppET1/6myVAWl64NmRFnrwj8Ql3isOtrAUMWgbo5WDK8H7YAB wvEyiOEbo9lz4P5Y1s8kQyBIUrR/sPSg++WW8ywM= From: "vmakarov at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/113354] Regression/14: unable to find a register to spill on mips Date: Fri, 12 Jan 2024 18:34:32 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: vmakarov 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: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc 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=3D113354 Vladimir Makarov changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at gcc dot gnu.org --- Comment #2 from Vladimir Makarov --- Thank you for reporting this. The issue is not in the patch itself. The p= atch simply triggered a hidden bug. The insn in the question looks like 1657: {r3001:SI=3Dr291:SI*r294:SI+r3002:SI;clobber r2788:SI;clobber r2390:S= I;} On the 1st subpass we choose alternative with the following constraints (0) l (1) d (2) d (3) l (4) X (5) X {*mul_acc_si} On the second subpass we choose alternative (0) l (1) d (2) d (3) l (4) X (5) X {*mul_acc_si} p2788 happened to get MD0 and it prevents p3001 to get MD0 too. p2788 can= be in any location for this alternative but LRA assignment subpass does not ta= ke this into account. I'll try to fix this hidden bug on the beginning of the next week.=