We should always carry the exceptions forward.  This bug was found when
working on testing glibc math tests, many tests were failing with
Overflow and Underflow flags not set.  This was traced to here.

libgcc/ChangeLog:

        * config/or1k/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Remove
        statement clearing existing exceptions.
---
 libgcc/config/or1k/sfp-machine.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libgcc/config/or1k/sfp-machine.h b/libgcc/config/or1k/sfp-machine.h
index 162c6bc5326..c804270fb3c 100644
--- a/libgcc/config/or1k/sfp-machine.h
+++ b/libgcc/config/or1k/sfp-machine.h
@@ -73,7 +73,6 @@ do {                                                          
\
 do {                                                           \
   if (__builtin_expect (_fex, 0))                              \
     {                                                          \
-      _fpcsr &= ~FP_EX_ALL;                                    \
       _fpcsr |= _fex;                                          \
       __asm__ volatile ("l.mtspr r0,%0,20" : : "r" (_fpcsr));  \
     }                                                          \
-- 
2.39.1

Reply via email to