From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18855 invoked by alias); 2 Dec 2013 10:50:54 -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 18844 invoked by uid 89); 2 Dec 2013 10:50:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.8 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,RDNS_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no version=3.3.2 X-HELO: mail-we0-f173.google.com Received: from Unknown (HELO mail-we0-f173.google.com) (74.125.82.173) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 02 Dec 2013 10:50:52 +0000 Received: by mail-we0-f173.google.com with SMTP id u57so6024498wes.4 for ; Mon, 02 Dec 2013 02:50:43 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.181.12.75 with SMTP id eo11mr17430971wid.37.1385981438693; Mon, 02 Dec 2013 02:50:38 -0800 (PST) Received: by 10.195.12.114 with HTTP; Mon, 2 Dec 2013 02:50:38 -0800 (PST) In-Reply-To: <5299378F.1060009@naturalbridge.com> References: <52977927.5010008@naturalbridge.com> <5299378F.1060009@naturalbridge.com> Date: Mon, 02 Dec 2013 10:50:00 -0000 Message-ID: Subject: Re: [wide-int] small cleanup in wide-int.* From: Richard Biener To: Kenneth Zadeck Cc: Richard Sandiford , gcc-patches , Mike Stump Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2013-12/txt/msg00046.txt.bz2 On Sat, Nov 30, 2013 at 1:55 AM, Kenneth Zadeck wrote: > Richi, > > this is the first of either 2 or 3 patches to fix this. There are two > places that need be fixed for us to do 1X + 1 and this patch fixes the first > one. There was an unnecessary call to mul_full and this was the only call > to mul_full. So this patch removes the call and also the function itself. > > The other place is the tree-vpn that is discussed here and will be dealt > with in the other patches. > > tested on x86-64. > > Ok to commit? Ok. Thanks, Richard. > Kenny > > > > On 11/29/2013 05:24 AM, Richard Biener wrote: >> >> On Thu, Nov 28, 2013 at 6:11 PM, Kenneth Zadeck >> wrote: >>> >>> This patch does three things in wide-int: >>> >>> 1) it cleans up some comments. >>> 2) removes a small amount of trash. >>> 3) it changes the max size of the wide int from being 4x of >>> MAX_BITSIZE_MODE_ANY_INT to 2x +1. This should improve large muls and >>> divs >>> as well as perhaps help with some cache behavior. >> >> @@ -235,8 +233,8 @@ along with GCC; see the file COPYING3. >> range of a multiply. This code needs 2n + 2 bits. */ >> >> #define WIDE_INT_MAX_ELTS \ >> - ((4 * MAX_BITSIZE_MODE_ANY_INT + HOST_BITS_PER_WIDE_INT - 1) \ >> - / HOST_BITS_PER_WIDE_INT) >> + (((2 * MAX_BITSIZE_MODE_ANY_INT + HOST_BITS_PER_WIDE_INT - 1) \ >> + / HOST_BITS_PER_WIDE_INT) + 1) >> >> I always wondered why VRP (if that is the only reason we do 2*n+1) >> cannot simply use FIXED_WIDE_INT(MAX_BITSIZE_MODE_ANY_INT*2 + 1)? >> Other widest_int users should not suffer IMHO. widest_int should >> strictly cover all modes that the target can do any arithmetic on >> (thus not XImode or OImode on x86_64). >> >> Richard. >> >>> ok to commit > >