From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1390 invoked by alias); 10 Dec 2001 10:38:21 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 1319 invoked from network); 10 Dec 2001 10:38:18 -0000 Received: from unknown (HELO linuxpc1.lauterbach.com) (194.195.165.177) by sources.redhat.com with SMTP; 10 Dec 2001 10:38:18 -0000 Received: (qmail 20414 invoked by uid 82); 10 Dec 2001 10:38:15 -0000 Received: from Franz.Sirl-kernel@lauterbach.com by linuxpc1.lauterbach.com with qmail-scanner-1.01 (inocmd32: /. . Clean. Processed in 0.571954 secs); 10 Dec 2001 10:38:15 -0000 Received: from frapc1.lauterbach.com (192.149.90.33) by linuxpc1.lauterbach.com with SMTP; 10 Dec 2001 10:38:14 -0000 Message-Id: <5.1.0.14.2.20011210112459.02481a90@mail.lauterbach.com> X-Sender: fsirl-kernel@mail.lauterbach.com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Mon, 10 Dec 2001 02:40:00 -0000 To: Richard Henderson From: Franz Sirl Subject: Re: Optimizations on long long multiply/divide on PowerPC32 don't work Cc: Linus Torvalds ,gcc@gcc.gnu.org In-Reply-To: <20011210011413.A23383@redhat.com> References: <20011210005444.A23367@redhat.com> <3C115A53.2070206@acm.org> <20011207164904.C16375@redhat.com> <200112100658.fBA6wEh13767@penguin.transmeta.com> <20011210005444.A23367@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-SW-Source: 2001-12/txt/msg00483.txt.bz2 At 10:14 10.12.2001, Richard Henderson wrote: >On Mon, Dec 10, 2001 at 12:54:44AM -0800, Richard Henderson wrote: > > GCC knows how to do this. It will do this if the target supports > > all of these operations on 64 bit data types and it considers them > > to be cheap enough. > >How irritating. I do not like the taste of crow. > >While the above is true, powerpc apparently has a rather cheap 32-bit >divide instruction which throws off the heuristics in this case. Ah, now that is nice, I always wondered which codepath produced the signeddivide64-by-exactlog2constant to shift conversion on x86, but couldn't find anything in i386.md :-(. I'll try that one on 3.0.3pre and see if the FAT FS compiles again (I wonder if my ashrdi3_nopower pattern will get used then?). Despite the missing GCC optimization, I always wondered if the FAT FS really relies the roundup happening with a signed divide, or if we could simply replace the "/512" with ">>9" without any ill effects? At least I couldn't find anything documented in the code... Franz.