Make it clearer minnum(+0, +0) cannot return -0. Also remove
a note about the result always being quiet which is directly
contradicted by the following paragraph.
Details
Diff Detail
Event Timeline
llvm/docs/LangRef.rst | ||
---|---|---|
14905 | returns either one... |
Also remove a note about the result always being quiet which is directly contradicted by the following paragraph.
Where is the contradiction?
The entire following paragraph. "Unlike the IEEE-754 2008 behavior, this does not distinguish between
signaling and quiet NaN inputs. If a target's implementation follows
the standard and returns a quiet NaN if either input is a signaling
NaN, the intrinsic lowering is responsible for quieting the inputs to
correctly return the non-NaN input (e.g. by using the equivalent of
`llvm.canonicalize`)."
This is not returning an "always quiet nan" and matches the libm behavior
Not sure I follow. If a NaN is returned, the NaN will always be quiet. The paragraph only clarifies that even if one input is SNaN a NaN will only be returned if the other input is NaN as well.
This is distinguishing quiet and signaling nans. Not only is this inconsistent with the IR policy for unconstrained FP operations, it's not the behavior of libm fmin/fmax.
These intrinsics have the fmin/fmax behavior and were incorrectly named. The first sentence describes the IEEE754 behavior, and the second paragraph elaborates that they do not.
llvm/docs/LangRef.rst | ||
---|---|---|
14905 | ping |
llvm/docs/LangRef.rst | ||
---|---|---|
14905 | Apparently I fixed this for max only |
returns either one...