From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 48774 invoked by alias); 20 Jan 2020 12:33:45 -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 48762 invoked by uid 89); 20 Jan 2020 12:33:45 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,KAM_SHORT,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=meet, our 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, 20 Jan 2020 12:33:35 +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 00KCXWC5026470; Mon, 20 Jan 2020 06:33:32 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 00KCXWiS026469; Mon, 20 Jan 2020 06:33:32 -0600 Date: Mon, 20 Jan 2020 13:03:00 -0000 From: Segher Boessenkool To: "Kewen.Lin" Cc: GCC Patches , Bill Schmidt , "bin.cheng" , Richard Guenther Subject: Re: [PATCH 0/4 GCC11] IVOPTs consider step cost for different forms when unrolling Message-ID: <20200120123332.GV3191@gate.crashing.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-IsSubscribed: yes X-SW-Source: 2020-01/txt/msg01208.txt.bz2 Hi! On Thu, Jan 16, 2020 at 05:36:52PM +0800, Kewen.Lin wrote: > As we discussed in the thread > https://gcc.gnu.org/ml/gcc-patches/2020-01/msg00196.html > Original: https://gcc.gnu.org/ml/gcc-patches/2020-01/msg00104.html, > I'm working to teach IVOPTs to consider D-form group access during unrolling. > The difference on D-form and other forms during unrolling is we can put the > stride into displacement field to avoid additional step increment. eg: > Imagining that if the loop get unrolled by 8 times, then 3 step updates with > D-form vs. 8 step updates with X-form. Here we only need to check stride > meet D-form field requirement, since if OFF doesn't meet, we can construct > baseA' with baseA + OFF. So why doesn't the existing code do this already? Why does it make all the extra induction variables? Is the existing cost model bad, are our target costs bad, or something like that? Segher