Hi, This patch removes flag_errno_math check for RINT, treating it similar to nearbyint. Regards, Sujoy
2015-11-26 Sujoy Saraswati <sujoy.sarasw...@hpe.com> PR tree-optimization/61441 * match.pd (f(x) -> x): Removed flag_errno_math check for RINT. Index: gcc/match.pd =================================================================== --- gcc/match.pd (revision 230851) +++ gcc/match.pd (working copy) @@ -2565,16 +2565,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