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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Actually looking at IEEE754, the fix should be limited to +- operations, not
+-*/.
Because only for +- IEEE754 has:
"When the sum of two operands with opposite signs (or the difference of two
operands with like signs) is exactly zero, the sign of that sum (or difference)
shall be +0 in all rounding direction modes except roundTowardNegative; in that
mode, the sign of an exact zero sum (or difference) shall be –0. However, x+x =
x–(–x) retains the same sign as x even when x is zero."

Reply via email to