The language reference refers to drafts of IEEE 754-2018, but the spec has now been published as IEEE 754-2019 with no further changes to the semantics in question. Update the language reference to refer to the actual standard, instead.
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?
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?
This should be left as IEEE 754-2008 as the intrinsic matches the semantics of the older standard.
Correction: I now realise that the new NaN-propagating operations in IEEE 754-2019 are actually named minimum and maximum, not minimumNumber and maximumNumber. We should explicitly mention the names of these operations in the documentation for the llvm.minimum.* and llvm.maximum.* intrinsics, below.
However, IEEE 754-2019 also adds "number-favoring" operations named minimumNumber and maximumNumber that are broadly the same as minNum and maxNum, but alter the semantics regarding sNaNs. I am not aware of the semantics for the llvm.minnum.* and llvm.maxnum.* intrinsics having been changed to those of the IEEE 754-2019 minimumNumber and maximumNumber operations, though, so I am still not certain of this change.
Should the llvm.minnum.* and llvm.maxnum.* intrinsics be documented as undefined as to whether they have the semantics of the either the IEEE 754-2008 minNum and maxNum operations or the IEEE 754-2019 minimumNumber and maximumNumber operations, or should this explicitly reference the semantics of the IEEE 754-2008 minNum and maxNum operations, or should this explicitly reference the semantics of the IEEE 754-2019 minimumNumber and maximumNumber operations?
If the change in this review is acceptable, then I would suggest that the changes for llvm.minnum.* and llvm.maxnum.* can be done in a subsequent review, but we do need to determine what changes will be required.