This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: RISC-V glibc port, v7
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Andrew Waterman <andrew at sifive dot com>
- Cc: Palmer Dabbelt <palmer at dabbelt dot com>, <libc-alpha at sourceware dot org>
- Date: Mon, 29 Jan 2018 20:30:31 +0000
- Subject: Re: RISC-V glibc port, v7
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1801291537340.11517@digraph.polyomino.org.uk> <mhng-e24b41b2-5123-43c6-8650-014b2f6943a4@palmer-si-x1c4> <CA++6G0BMnJwYpe_ZkUKR5Nj_g3JRFaq+XFGNeeT+V23-=a7aLA@mail.gmail.com>
On Mon, 29 Jan 2018, Andrew Waterman wrote:
> My reading of Annex F is that either the old or new semantics for
> these instructions suffices to implement the C functions, since the
> standard generally leaves signaling-NaN behavior implementation
> defined.
Annex F does not define signaling NaN semantics. TS 18661-1:2014 does,
and is what we follow in glibc. (For example, AArch64 has instructions
with exactly the semantics required to implement fmax and fmin with single
instructions.)
The proposed revision for binding to IEEE 754-2018 keeps fmax and fmin as
in TS 18661-1:2014 (but no longer with an IEEE operation to bind to),
removes fmaxmag and fminmag, and adds new functions fmaximum, fminimum,
fmaximum_mag, fminimum_mag, fmaximum_num, fminimum_num, fmaximum_mag_num
and fminimum_mag_num (along with type-generic macros for them, and
likewise for other floating-point types).
--
Joseph S. Myers
joseph@codesourcery.com