diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c index 373c2516d77..9f2d27979cf 100644 --- a/gcc/config/fp-bit.c +++ b/gcc/config/fp-bit.c @@ -485,6 +485,9 @@ _fpadd_parts (fp_number_type * a, } if (isinf (a)) { + /* Adding infinities with opposite signs yields a NaN. */ + if (isinf (b) && a->sign != b->sign) + return nan (); return a; } if (isinf (b))