From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 07E233858C39; Sun, 9 Jul 2023 22:34:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 07E233858C39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1688942091; bh=l1EYUs6bI+D31PCYwZ4uHppUnVGV3pRTr4gMj2fjzqU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=ITFwd2zN194VPtgyTnSv+hq5xMRFvkdNj/520ZD72xjI78UTwZNOpBO8dOltEyoBD Geh6fdWkShpcUJ3s6xh2mJ00ou9pdVgeHhNLxLGVrvLmMR8Kasjqvkk7uvzel+7U1C oAiYNDZqM3eTLVomOa9VVm+oIt2mDJoyryd4NerI= From: "roger at nextmovesoftware dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/110598] [14 Regression] wrong code on llvm-14.0.6 due to memcmp being miscompiled Date: Sun, 09 Jul 2023 22:34:50 +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: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: roger at nextmovesoftware dot com X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: roger at nextmovesoftware dot com X-Bugzilla-Target-Milestone: 14.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: assigned_to bug_status 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=3D110598 Roger Sayle changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |roger at nextmoveso= ftware dot com Status|NEW |ASSIGNED --- Comment #4 from Roger Sayle --- Mine. The new peephole2 is misbehaving with the (odd) RTL sequence: (insn 62 61 63 2 (set (reg:DI 1 dx [111]) (const_int 0 [0])) "pr110598.c":10:10 90 {*movdi_internal} (insn 63 62 64 2 (parallel [ (set (reg:DI 1 dx [110]) (xor:DI (reg:DI 1 dx [111]) (reg:DI 1 dx))) (clobber (reg:CC 17 flags)) ]) "pr110598.c":10:10 626 {*xordi_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (nil))) Doh! I need to confirm/check that rega !=3D regb. Interesting that DF doe= sn't consider insn 62 as REG_UNUSED (i.e. dead), a classic false dependency.=