From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 53215 invoked by alias); 30 Jul 2018 16:09:23 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 53187 invoked by uid 89); 30 Jul 2018 16:09:22 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,KAM_SHORT,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy=Hx-languages-length:1079 X-HELO: gate.crashing.org Received: from gate.crashing.org (HELO gate.crashing.org) (63.228.1.57) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 30 Jul 2018 16:09:21 +0000 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id w6UG9Im6012401 for ; Mon, 30 Jul 2018 11:09:18 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id w6UG9IUZ012400 for gcc-patches@gcc.gnu.org; Mon, 30 Jul 2018 11:09:18 -0500 Date: Mon, 30 Jul 2018 16:09:00 -0000 From: Segher Boessenkool To: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] combine: Allow combining two insns to two insns Message-ID: <20180730160918.GY16221@gate.crashing.org> References: <402e00c62fa533333b1e1dd69f468f7f4e43939b.1532449714.git.segher@kernel.crashing.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <402e00c62fa533333b1e1dd69f468f7f4e43939b.1532449714.git.segher@kernel.crashing.org> User-Agent: Mutt/1.4.2.3i X-IsSubscribed: yes X-SW-Source: 2018-07/txt/msg01858.txt.bz2 On Tue, Jul 24, 2018 at 05:18:41PM +0000, Segher Boessenkool wrote: > This patch allows combine to combine two insns into two. This helps > in many cases, by reducing instruction path length, and also allowing > further combinations to happen. PR85160 is a typical example of code > that it can improve. > > This patch does not allow such combinations if either of the original > instructions was a simple move instruction. In those cases combining > the two instructions increases register pressure without improving the > code. With this move test register pressure does no longer increase > noticably as far as I can tell. > > (At first I also didn't allow either of the resulting insns to be a > move instruction. But that is actually a very good thing to have, as > should have been obvious). > > Tested for many months; tested on about 30 targets. > > I'll commit this later this week if there are no objections. Done now, with the testcase at https://gcc.gnu.org/ml/gcc-patches/2018-07/msg01856.html . Segher