Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Feb 2012 07:23:42 -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:  <20120221152342.GA12463@troutmask.apl.washington.edu>
In-Reply-To: <4F4351F0.2000608@speakeasy.org>
References:  <4F3EA37F.9010207@speakeasy.org> <CAGE5yCpvF0-b1iKAVGbya=fUNaYbGyrpj1PHSQxw4BvycNMLDg@mail.gmail.com> <4F3EC0B4.6050107@speakeasy.org> <20120221072053.GA10302@troutmask.apl.washington.edu> <4F4351F0.2000608@speakeasy.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 21, 2012 at 12:12:32AM -0800, Thomas D. Dean wrote:
> On 02/20/12 23:20, Steve Kargl wrote:
> 
> >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
> >
> 
> Nice, if you are not working on my platform.  In my initial message,
> 
> From dmesg:
> CPU: Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz (4160.12-MHz K8-class CPU)
>   Origin = "GenuineIntel"  Id = 0x206d6  Family = 6  Model = 2d 
> Stepping = 6

I saw your initial message, and yes, I noted that you are
using an x86_64 class cpu.

> And, I also said the __float128 is likely to leave me with some code 
> that is orphaned.

As long as you use gcc 4.something or higher, you should have
access to __float128.  So, code won't be orphaned.  Now, if
you meant nonportable code, I agree.  If you need more precision
that C99's long double and portability, then use mpfr.

-- 
Steve



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