diff mbox

PATCH: PR libgcc/61685: Strange check in bid128_fma.c - rounding_correction()

Message ID 20140722204935.GA5120@intel.com
State New
Headers show

Commit Message

H.J. Lu July 22, 2014, 8:49 p.m. UTC
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 mbox

Patch

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.cornea@intel.com>
+
+	PR libgcc/61685
+	* bid128_fma.c (rounding_correction): Remove redundant tests.
+
 2014-06-10  Uros Bizjak  <ubizjak@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 {