From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22060 invoked by alias); 4 Aug 2004 04:00:01 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 21996 invoked from network); 4 Aug 2004 04:00:00 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 4 Aug 2004 04:00:00 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i743xte3029138 for ; Tue, 3 Aug 2004 23:59:55 -0400 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [172.16.52.156]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i743xsa28064; Tue, 3 Aug 2004 23:59:54 -0400 Received: from livre.redhat.lsd.ic.unicamp.br (vpn83-127.boston.redhat.com [172.16.83.127]) by pobox.corp.redhat.com (8.12.8/8.12.8) with ESMTP id i743xqnA003443; Tue, 3 Aug 2004 23:59:53 -0400 Received: from livre.redhat.lsd.ic.unicamp.br (livre.redhat.lsd.ic.unicamp.br [127.0.0.1]) by livre.redhat.lsd.ic.unicamp.br (8.13.0/8.13.0) with ESMTP id i743xk84010409; Wed, 4 Aug 2004 00:59:46 -0300 Received: (from aoliva@localhost) by livre.redhat.lsd.ic.unicamp.br (8.13.0/8.13.0/Submit) id i743xfja010405; Wed, 4 Aug 2004 00:59:42 -0300 To: Paul Koning Cc: kettenis@jive.nl, brobecker@gnat.com, cagney@gnu.org, gdb-patches@sources.redhat.com Subject: Re: [RFA/mips] 128-bit long doubles for N32/N64 References: <20040722154456.GG1289@gnat.com> <41058380.6050407@gnu.org> <20040726224546.GB20596@gnat.com> <410676AE.4010001@gnu.org> <20040802011520.GA32638@gnat.com> <410E886E.1060702@gnu.org> <20040803011338.GY32638@gnat.com> <410EF168.3040304@gnu.org> <20040803043906.GZ32638@gnat.com> <200408030726.i737Q9uw013721@juw15.nfra.nl> <16655.37815.285599.668840@gargle.gargle.HOWL> From: Alexandre Oliva Organization: Red Hat Global Engineering Services Compiler Team Date: Wed, 04 Aug 2004 04:00:00 -0000 In-Reply-To: <16655.37815.285599.668840@gargle.gargle.HOWL> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2004-08/txt/msg00077.txt.bz2 On Aug 3, 2004, Paul Koning wrote: > Then again, I'm not sure why MIPS N32 is defined to have 128 bit > floats in the first place. It seems rather silly considering that > there isn't any such data type in the machine instruction set. The idea is of implementing long double as a pair of doubles is to gain additional precision. You can use the regular double floating point instructions for all computations, and they can be implemented somewhat efficiently. This is the way IRIX does it; mips64-linux just uses standard IEEE 128-bit long doubles, so it has to be emulated. That's mostly because neither GCC nor glibc supported emulation with the IRIX format at the time the port was written. glibc still doesn't, AFAIK; GCC got support for it, but IIRC it's darwin-specific. AIX and Darwin also use pairs of doubles as long doubles, but IIRC they have slightly different conventions because AIX and IRIX disagree on the precision they claim to support. Hope this helps, -- Alexandre Oliva http://www.ic.unicamp.br/~oliva/ Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org} Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}