aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStafford Horne <shorne@gmail.com>2023-03-18 16:43:05 +0900
committerStafford Horne <shorne@gmail.com>2023-03-19 15:41:22 +0900
commit33fb1625992ba8180b42988e714460bcab08ca0f (patch)
tree35fa2bc01e25e2e06871dc3f05d04fbbb54692fd
parent0e38aedc6af7c4f4b5d46fb90c4eeb3011ad8369 (diff)
downloadgcc-33fb1625992ba8180b42988e714460bcab08ca0f.zip
gcc-33fb1625992ba8180b42988e714460bcab08ca0f.tar.gz
gcc-33fb1625992ba8180b42988e714460bcab08ca0f.tar.bz2
or1k: Do not clear existing FPU exceptions before updating
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.
-rw-r--r--libgcc/config/or1k/sfp-machine.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/libgcc/config/or1k/sfp-machine.h b/libgcc/config/or1k/sfp-machine.h
index 162c6bc..c804270 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)); \
} \