diff options
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r-- | gcc/simplify-rtx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 3566d10..c49ad63 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -903,7 +903,7 @@ simplify_binary_operation (code, mode, op0, op1) { case PLUS: /* Maybe simplify x + 0 to x. The two expressions are equivalent - when x is NaN, infinite, or finite and non-zero. They aren't + when x is NaN, infinite, or finite and nonzero. They aren't when x is -0 and the rounding mode is not towards -infinity, since (-0) + 0 is then 0. */ if (!HONOR_SIGNED_ZEROS (mode) && trueop1 == CONST0_RTX (mode)) @@ -1051,7 +1051,7 @@ simplify_binary_operation (code, mode, op0, op1) return CONST0_RTX (mode); /* Change subtraction from zero into negation. (0 - x) is the - same as -x when x is NaN, infinite, or finite and non-zero. + same as -x when x is NaN, infinite, or finite and nonzero. But if the mode has signed zeros, and does not round towards -infinity, then 0 - 0 is 0, not -0. */ if (!HONOR_SIGNED_ZEROS (mode) && trueop0 == CONST0_RTX (mode)) |