Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Feb 2012 23:20:54 -0800
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        "Thomas D. Dean" <tomdean@speakeasy.org>
Cc:        freebsd-amd64@freebsd.org
Subject:   Re: Gcc46 and 128 Bit Floating Point
Message-ID:  <20120221072053.GA10302@troutmask.apl.washington.edu>
In-Reply-To: <4F3EC0B4.6050107@speakeasy.org>
References:  <4F3EA37F.9010207@speakeasy.org> <CAGE5yCpvF0-b1iKAVGbya=fUNaYbGyrpj1PHSQxw4BvycNMLDg@mail.gmail.com> <4F3EC0B4.6050107@speakeasy.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 17, 2012 at 01:03:48PM -0800, Thomas D. Dean wrote:
> On 02/17/12 11:31, Peter Wemm wrote:
> >On Fri, Feb 17, 2012 at 10:59 AM, Thomas D. Dean<tomdean@speakeasy.org>  
> >wrote:
> >[..]
> >>gcc46 is generating 80-bit floating point instructions.
> >>
> >>The gcc docs state gcc46 will generate 128-bit instructions.
> >>
> >>I can get gfortran46 to generate 128-bit instructions.
> >>
> >>How do I get gcc46 to generate 128-bit floating point instructions?
> >
> >"As of gcc 4.3, a quadruple precision is also supported on x86, but as
> >the nonstandard type __float128 rather than long double."
> >
> 
> AS it turns out, gcc46 does not support long double.

Yes, it does.

> Or, is it just 
> because the port lang/gcc46 uses the system libc, which is gcc 4.2.1?

I seems it is that you don't understand the types.

float --------> 24 bit significand, 32 bit size.
double -------> 53 bit significand, 64 bit size.
long double --> 53 bit significand, 80 bit size, i386
long double --> 64 bit significand, 80 bit size, x86_64
long double --> 113 bit significand, 128 bit size, sparc64
__float128 ---> 113 bit significand, 128 bit size, i386, x86_64

-- 
Steve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120221072053.GA10302>