From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1C76E3858D28; Wed, 8 Dec 2021 03:42:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C76E3858D28 From: "aoliva at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/103302] wrong code with -fharden-compares Date: Wed, 08 Dec 2021 03:42:35 +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: 12.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: aoliva at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: aoliva at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: attachments.created 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Dec 2021 03:42:36 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103302 --- Comment #10 from Alexandre Oliva --- Created attachment 51947 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D51947&action=3Dedit candidate patch under testing Could the fix be as simple as this? The resulting code is awful, with such stuff as loading and storing back ea= ch word of multi-word pseudos that end up assigned to memory, but at least we don't clobber the asm outputs with these clobbers, which is what makes them look dead. Anyhow, comments at the top of emit_move_multi_word state: Note that you will get better code if you define such patterns, even if they must turn into multiple assembler instructions.=