From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26189 invoked by alias); 3 Mar 2009 09:43:46 -0000 Received: (qmail 26179 invoked by uid 22791); 3 Mar 2009 09:43:46 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (212.99.106.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 03 Mar 2009 09:43:40 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 64FC2290019; Tue, 3 Mar 2009 10:43:34 +0100 (CET) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hGJFO6q2Slji; Tue, 3 Mar 2009 10:43:33 +0100 (CET) Received: from cardhu.act-europe.fr (cardhu.act-europe.fr [10.10.0.168]) by mel.act-europe.fr (Postfix) with ESMTP id 98C6D29000C; Tue, 3 Mar 2009 10:43:33 +0100 (CET) Received: by cardhu.act-europe.fr (Postfix, from userid 546) id D2A9D1D0; Tue, 3 Mar 2009 10:45:10 +0100 (CET) Date: Tue, 03 Mar 2009 09:43:00 -0000 From: Olivier Hainque To: Laurent GUERBY , Geert Bosch , gcc-patches , rdsandiford@googlemail.com Cc: hainque@adacore.com Subject: Re: [PATCH] define WIDEST_HARDWARE_FP_SIZE on mips Message-ID: <20090303094510.GA13135@cardhu.act-europe.fr> References: <20071008085929.GA31575@cardhu.act-europe.fr> <87ir5ggirc.fsf@firetop.home> <87ve9ff96r.fsf@firetop.home> <7C2C6C26-1CF3-4304-B9E3-A33DA1C7B2C6@adacore.com> <1236015011.11347.800.camel@localhost> <873advn0uy.fsf@firetop.home> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <873advn0uy.fsf@firetop.home> User-Agent: Mutt/1.4.1i X-IsSubscribed: yes 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 X-SW-Source: 2009-03/txt/msg00139.txt.bz2 Richard Sandiford wrote: > The open question (to me) is why Olivier's original testcase failed > with 128-bit long double. I'm not sure anyone has really explained that. My limited understanding is basically that anything > 64 bit isn't supported for a bunch of reasons shared between the compiler and the Ada runtime library. Geert could tell much more about this and provided a number of extra details already. I also understand there's no mandate to support wide formats that don't correspond to hardware capabilities, and that WIDEST_HARDWARE_FP_SIZE was introduced for this purpose. IIRC, the original thread suggested we refine the suggested definition, hmm, right: http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00587.html Richard S wrote: << From a MIPS perspective, it's also counterintuitive for WIDEST_HARDWARE_FP_SIZE to be 64 even for -msingle-float and -msoft-float targets (rather than 32 and 0 respectively). I can understand that 0 and 32 would be wrong given the way the macro is used in ada/targtyps.c, but it seems that Ada is using this macro for correctness -- and even to control an aspect of the API and ABI -- whereas libgcc2.c is using it for optimisation. >> Geert replied: << It definitely would be reasonable to set this to 32 and 0 for -msingle-float and -msoft-float targets. Yes, that would mean we'd have to change targtypes.c, but that's fine. Especially with -msingle-float this would seem a clear improvement. >> I could interepret WIDEST_HARDWARE_FP_SIZE in slightly different manners so either way (constant 64 or refined variant) is fine with me. Geert ?