aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgcc/config/libbid/ChangeLog5
-rw-r--r--libgcc/config/libbid/bid128_fma.c6
2 files changed, 7 insertions, 4 deletions
diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog
index 9405a3a..9d07810 100644
--- a/libgcc/config/libbid/ChangeLog
+++ b/libgcc/config/libbid/ChangeLog
@@ -1,3 +1,8 @@
+2014-07-23 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 {