Commit 12194c38 by Richard Stallman

(immed_real_const_1): Check explicitly for NaNs.

From-SVN: r4626
parent 0a830585
...@@ -1418,7 +1418,11 @@ immed_real_const_1 (d, mode) ...@@ -1418,7 +1418,11 @@ immed_real_const_1 (d, mode)
/* Avoid REAL_VALUES_EQUAL here in order to distinguish minus zero. */ /* Avoid REAL_VALUES_EQUAL here in order to distinguish minus zero. */
if (!bcmp (&dconst0, &d, sizeof d)) if (!bcmp (&dconst0, &d, sizeof d))
return CONST0_RTX (mode); return CONST0_RTX (mode);
else if (REAL_VALUES_EQUAL (dconst1, d)) /* Check for NaN first, because some ports (specifically the i386) do not
emit correct ieee-fp code by default, and thus will generate a core
dump here if we pass a NaN to REAL_VALUES_EQUAL and if REAL_VALUES_EQUAL
does a floating point comparison. */
else if (! REAL_VALUE_ISNAN (d) && REAL_VALUES_EQUAL (dconst1, d))
return CONST1_RTX (mode); return CONST1_RTX (mode);
if (sizeof u == 2 * sizeof (HOST_WIDE_INT)) if (sizeof u == 2 * sizeof (HOST_WIDE_INT))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment