From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 62769398781E; Wed, 24 Jun 2020 18:12:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 62769398781E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1593022340; bh=l05uFwYtZ+TYF6uhRAFIXiqclqbgRjgTvHYXP6JMa9s=; h=From:To:Subject:Date:In-Reply-To:References:From; b=ogfVLEF+LTOS7QICSI/dFXkS+/lQNNcuMjydGCCU1Gc1Ewme/Jk5ZgtZI8L1FiN4+ CExZwrTr3Y8DsKmUIUGh8zFx/YvOC5d7f9Tuc58R3D6jQeBoU4hnpNi5mrRVcgRnhj fW1CzOEVgqkXMbXTtuNlRdGJc034VwjUbxuOaMXM= From: "segher at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/89310] Poor code generation returning float field from a struct Date: Wed, 24 Jun 2020 18:12:20 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 9.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: segher at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED 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 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, 24 Jun 2020 18:12:20 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D89310 --- Comment #4 from Segher Boessenkool --- Maybe you can make a define_insn_and_split for the lshrdi3 plus this? Which will split to an insn fewer immediately. If you split after reload you need many extra patterns to get the most basic optimisations done for its result... But (at least in this case) you do not need a peephole at least ;-)=