From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 3BDCE3858C41; Fri, 10 Nov 2023 16:47:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3BDCE3858C41 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1699634868; bh=H86lp/fprYuGs2qnGtRUcmvsr2fV7MIeo87sJJDpO4U=; h=From:To:Subject:Date:In-Reply-To:References:From; b=js/Tx8Sqw78MT5sH9vOcMhnNbWXurbXZuFbt3S44T2UL18vA/lSWN3NXdpV2fJzs1 JMQQXR1ViBv6koxQRNCzJsbwpJuNnQtrNZxsxk3I+c87C7PK8VRN/Ev6Zj8GjmQ7I4 pE+n4gzKwrX2kOAvTYyaP1p3Qq5oUp2kBl9uDg1w= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/112337] arm: ICE in arm_effective_regno when compiling for MVE Date: Fri, 10 Nov 2023 16:47:46 +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: 14.0 X-Bugzilla-Keywords: ice-on-valid-code, ra 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=3D112337 --- Comment #9 from CVS Commits --- The master branch has been updated by Vladimir Makarov : https://gcc.gnu.org/g:df66fa08578a28b3acc8bdb6257b68c245a6a0fa commit r14-5333-gdf66fa08578a28b3acc8bdb6257b68c245a6a0fa Author: Vladimir N. Makarov Date: Fri Nov 10 11:14:46 2023 -0500 [IRA]: Check autoinc and memory address after temporary equivalence substitution My previous RA patches to take register equivalence into account do temporary register equivalence substitution to find out that the equivalence can be consumed by insns. The insn with the substitution is checked on validity using target-depended code. This code expects that autoinc operations work on register but this register can be substituted by equivalent memory. The patch fixes this problem. The patch also ad= ds checking that the substitution can be consumed in memory address too. gcc/ChangeLog: PR target/112337 * ira-costs.cc: (validate_autoinc_and_mem_addr_p): New function. (equiv_can_be_consumed_p): Use it. gcc/testsuite/ChangeLog: PR target/112337 * gcc.target/arm/pr112337.c: New.=