This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Minimum floating-point requirements
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: Steve Munroe <sjmunroe at us dot ibm dot com>, Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>, libc-alpha at sourceware dot org
- Date: Mon, 10 Feb 2014 10:30:57 -0500
- Subject: Re: Minimum floating-point requirements
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnym4yN=7rLrm0RRtNN++T=xwx8r3MUKJOfz4r+H=Z9zd7Q at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1401300038120 dot 24633 at digraph dot polyomino dot org dot uk> <OF9FA4A0A3 dot 0CD33B43-ON86257C70 dot 0073531F-86257C70 dot 0073A4BB at us dot ibm dot com> <Pine dot LNX dot 4 dot 64 dot 1401302108080 dot 12540 at digraph dot polyomino dot org dot uk> <Pine dot LNX dot 4 dot 64 dot 1402072347200 dot 12232 at digraph dot polyomino dot org dot uk> <CAGWvnynvcMw2=NpNdv0Uqts14gxpo+ZjyO_T5pQmuiqkMzt1eA at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1402101442030 dot 17407 at digraph dot polyomino dot org dot uk>
On Mon, Feb 10, 2014 at 9:55 AM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> I am not proposing changing the default - that is, -mieee would not be the
> default.
> For functions implemented through templates in headers, the options used
> by the library user will determine which functions are used. For
> functions in the prebuilt library, I think the same reasoning as for glibc
> indicates that libstdc++ should be built with the new option (or
> -frounding-math): C++11 includes <cfenv> which allows changing rounding
> modes, and without anything in the standard to restrict what functions or
> operations may be used in non-default rounding modes, all functions and
> operations must follow their specified semantics when used in such modes -
> meaning, in particular, that the results of long double functions and
> operations need to be valid long double values. (This is different from
> floating-point configurations that can only be achieved by direct register
> manipulation, or from signal handlers where the standards have explicit
> restrictions on what interfaces may be used.) So in the absence of
> separate versions of libstdc++ functions for use with -frounding-math,
> that indicates building libstdc++ to use the new functions. However, I
> propose to leave any such changes to the libstdc++ maintainers.
So the proposal is that it is not the default, but it will be the
default for all practical purposes. This effectively is a proposal to
change the common behavior to a mode that has a significant
performance impact.
- David