https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109371

Hongtao.liu <crazylht at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |crazylht at gmail dot com

--- Comment #1 from Hongtao.liu <crazylht at gmail dot com> ---
NOTE for ieee-2019, there're extra 8 new floating point min/max functions

-----cut from ieee 2019 9.6 Minimum and maximum operations--
SourceFormat minimum(source, source)
sourceFormat minimumNumber(source, source)
sourceFormat maximum(source, source)
sourceFormat maximumNumber(source, source)
minimum(x, y) is x if x <y, y if y< x, and a quiet NaN if either operand is a
NaN, according to 6.2.
For this operation, −0 compares less than +0. Otherwise (i.e., when x= y and
signs are the same)
it is either x or y.
minimumNumber(x, y) is x if x< y, y if y< x, and the number if one operand is a
number and the
other is a NaN. For this operation, −0 compares less than +0. If x= y and signs
are the same it is
either x or y. If both operands are NaNs, a quiet NaN is returned, according to
6.2. If either
operand is a signaling NaN, an invalid operation exception is signaled, but
unless both operands
are NaNs, the signaling NaN is otherwise ignored and not converted to a quiet
NaN as stated in
6.2 for other operations.
maximum(x, y) is x if x> y, y if y >x, and a quiet NaN if either operand is a
NaN, according to 6.2.
For this operation, +0 compares greater than −0. Otherwise (i.e., when x= y and
signs are the
same) it is either x or y.
maximumNumber(x, y) is x if x >y, y if y >x, and the number if one operand is a
number and the
other is a NaN. For this operation, +0 compares greater than −0. If x =y and
signs are the same it
is either x or y. If both operands are NaNs, a quiet NaN is returned, according
to 6.2. If either
operand is a signaling NaN, an invalid operation exception is signaled, but
unless both operands
are NaNs, the signaling NaN is otherwise ignored and not converted to a quiet
NaN as stated in
6.2 for other operations.
69
Copyright © 2019 IEEE. All rights reserved.
Authorized licensed use limited to: Intel Corporation via the Virtual Library.
Downloaded on January 04,2023 at 06:43:47 UTC from IEEE Xplore. Restrictions
apply.IEEE Std 754-2019
IEEE Standard for Floating-Point Arithmetic
― sourceFormat minimumMagnitude(source, source)
sourceFormat minimumMagnitudeNumber(source, source)
sourceFormat maximumMagnitude(source, source)
sourceFormat maximumMagnitudeNumber(source, source)
minimumMagnitude(x, y) is x if |x|< |y|, y if |y|< |x|, otherwise minimum(x,
y).
minimumMagnitudeNumber(x, y) is x if |x|< |y|, y if |y|< |x|, otherwise
minimumNumber(x, y).
maximumMagnitude(x, y) is x if |x|> |y|, y if |y|> |x|, otherwise maximum(x,
y).
maximumMagnitudeNumber(x,y) is x if | x| >| y|, y if | y| >| x|, otherwise
maximumNumber(x, y).
The preferred exponent is Q(x) if x is the result, Q(y) if y is the result.
NOTE—The quantum of the result might differ among implementations when x and y
are
different representations of the same cohort in decimal floating-point numbers. 
----------cut ends----------------------

Should we also support new IRs for them, libc has supported all of them.
https://sourceware.org/pipermail/libc-alpha/2021-September/131511.html

Reply via email to