From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 6033D38582A4; Mon, 29 Jan 2024 13:31:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6033D38582A4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1706535075; bh=uOMYCzuFKvMYcOHV86tGM2MsgM0tf2myAjxkJZixL4U=; h=From:To:Subject:Date:In-Reply-To:References:From; b=jxAYMFZVAuXNCYam4GtB14S8LlmrzgF+aPE2Mb3ju6AlFYtQ9BgrTDQ8YGLYJbjRH w31172ukBzxh4+Q8BAsoidOSNvoPaw+PN3MQohAXQdaD2ndxunoDxiOZKBWInSekiz wa/ttP1UZRbpq9Wr4HIU59GyO5JkliIHnB3nQS9s= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/113622] [11/12/13/14 Regression] ICE with vectors in named registers Date: Mon, 29 Jan 2024 13:31:15 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: ice-on-valid-code, testsuite-fail X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 11.5 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=3D113622 --- Comment #18 from GCC Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:0f7945417f913c85bd556904c0c4e7bf77793488 commit r14-8498-g0f7945417f913c85bd556904c0c4e7bf77793488 Author: Richard Biener Date: Mon Jan 29 10:24:39 2024 +0100 middle-end/113622 - handle store with variable index to register The following implements storing to a non-MEM_P with a variable offset. We usually avoid this by forcing expansion to memory but this doesn't work for hard register variables. The solution is to spill and operate on the stack. PR middle-end/113622 * expr.cc (expand_assignment): Spill hard registers if we index them with a variable offset. * gcc.target/i386/pr113622-2.c: New testcase. * gcc.target/i386/pr113622-3.c: Likewise.=