Commit afeb246c by Sujoy Saraswati Committed by Sujoy Saraswati

This series of patches fix PR61441.

This series of patches fix PR61441. This patch removes flag_errno_math check
for RINT, treating it similar to nearbyint.

Bootstrapped & regression-tested on x86_64-linux-gnu.

gcc/
	* match.pd (f(x) -> x): Removed flag_errno_math check for RINT.

From-SVN: r231858
parent 683aa929
2015-12-20 Sujoy Saraswati <sujoy.saraswati@hpe.com>
PR tree-optimization/61441
* match.pd (f(x) -> x): Removed flag_errno_math check for RINT.
2015-12-20 Sujoy Saraswati <sujoy.saraswati@hpe.com>
PR tree-optimization/61441
* fold-const.c (const_binop): Use REAL_VALUE_ISSIGNALING_NAN instead
of REAL_VALUE_ISNAN to avoid the operation for sNaN operands.
* simplify-rtx.c (simplify_const_binary_operation): Same.
......@@ -2566,16 +2566,10 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
(fns (fns @0))
(fns @0)))
/* f(x) -> x if x is integer valued and f does nothing for such values. */
(for fns (TRUNC FLOOR CEIL ROUND NEARBYINT)
(for fns (TRUNC FLOOR CEIL ROUND NEARBYINT RINT)
(simplify
(fns integer_valued_real_p@0)
@0))
/* Same for rint. We have to check flag_errno_math because
integer_valued_real_p accepts +Inf, -Inf and NaNs as integers. */
(if (!flag_errno_math)
(simplify
(RINT integer_valued_real_p@0)
@0))
/* hypot(x,0) and hypot(0,x) -> abs(x). */
(simplify
......
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