[PATCH] D67507: Refer to IEEE 754-2019 in langref instead of 2018 draft

Stuart Brady via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 12 10:51:34 PDT 2019


stuart marked 4 inline comments as done.
stuart added inline comments.


================
Comment at: docs/LangRef.rst:2705
 The binary format of half, float, double, and fp128 correspond to the
 IEEE-754-2008 specifications for binary16, binary32, binary64, and binary128
 respectively.
----------------
majnemer wrote:
> 2019
Excuse the naïve question, but is it now actually incorrect for us to say that we use the IEEE 754-2008 floating point formats, or is this just a matter of it being generally better to refer to the most recent revision of the standard?


================
Comment at: docs/LangRef.rst:12185
 
 Follows the IEEE-754 semantics for minNum, except for handling of
 signaling NaNs. This match's the behavior of libm's fmin.
----------------
majnemer wrote:
> minNum -> minimumNumber
I believe that we should say //minNum// here, as this refers to the //old// IEEE 754-2008 //minNum// semantics, and not the //new// IEEE 754-2019 //minumumNumber// semantics.  That is to say, the `llvm.minnum.*` intrinsics have been deliberately kept with the IEEE 754-2008 semantics, and new intrinsics named `llvm.minimum.*` have been added for IEEE 754-2019 semantics.

That said, IMO, this should be updated to refer to IEEE 754-2008 explicitly in all places.

If we intend to update the 9.0.0 docs, should this be part of the update?


================
Comment at: docs/LangRef.rst:12194
 
 Unlike the IEEE-754 2008 behavior, this does not distinguish between
 signaling and quiet NaN inputs. If a target's implementation follows
----------------
majnemer wrote:
> 2019
This should be left as IEEE 754-2008 as the intrinsic matches the semantics of the older standard.


================
Comment at: docs/LangRef.rst:12235-12244
 Follows the IEEE-754 semantics for maxNum except for the handling of
 signaling NaNs. This matches the behavior of libm's fmax.
 
 If either operand is a NaN, returns the other non-NaN operand. Returns
 NaN only if both operands are NaN. The returned NaN is always
 quiet. If the operands compare equal, returns a value that compares
 equal to both operands. This means that fmax(+/-0.0, +/-0.0) could
----------------
majnemer wrote:
> Ditto.
Ditto.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67507/new/

https://reviews.llvm.org/D67507





More information about the llvm-commits mailing list