This series of patches fix PR61441.
authorSujoy Saraswati <sujoy.saraswati@hpe.com>
Sun, 20 Dec 2015 09:20:57 +0000 (09:20 +0000)
committerSujoy Saraswati <ssaraswati@gcc.gnu.org>
Sun, 20 Dec 2015 09:20:57 +0000 (09:20 +0000)
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

gcc/ChangeLog
gcc/match.pd

index b7a146961f688c73835d233942fa894b54e0d794..d8b5be3a1e7e30f55adf2b56b11043ba04601771 100644 (file)
@@ -1,3 +1,8 @@
+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
index 5ac30eb078fc79965b7352f621beeba7659e373e..1674a146790e4b0da9c22f9952b921453acb84ae 100644 (file)
@@ -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