Hi,

This patch from Marius removes the redundant tests.  Tested on
Linux/x86-64 without regressions.  I will check it in tomorrow.

Thanks.

H.J.
--
diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog
index 9405a3a..8ec7468 100644
--- a/libgcc/config/libbid/ChangeLog
+++ b/libgcc/config/libbid/ChangeLog
@@ -1,3 +1,8 @@
+2014-07-22  Marius Cornea  <marius.cor...@intel.com>
+
+       PR libgcc/61685
+       * bid128_fma.c (rounding_correction): Remove redundant tests.
+
 2014-06-10  Uros Bizjak  <ubiz...@gmail.com>
 
        * bid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'.
diff --git a/libgcc/config/libbid/bid128_fma.c 
b/libgcc/config/libbid/bid128_fma.c
index 5f9879f..7ddd53b 100644
--- a/libgcc/config/libbid/bid128_fma.c
+++ b/libgcc/config/libbid/bid128_fma.c
@@ -93,10 +93,8 @@ rounding_correction (unsigned int rnd_mode,
         // exp = exp - EXP_P1;
         unbexp = unbexp - 1;
         exp = (UINT64) (unbexp + 6176) << 49;
-      } else { // if exp = 0
-        if (is_midpoint_lt_even || is_midpoint_lt_even ||
-            is_inexact_gt_midpoint || is_inexact_gt_midpoint) // tiny & inexact
-          *ptrfpsf |= UNDERFLOW_EXCEPTION;
+      } else { // if exp = 0 the result is tiny & inexact
+        *ptrfpsf |= UNDERFLOW_EXCEPTION;
       }
     }
   } else {

Reply via email to