diff options
author | Stafford Horne <shorne@gmail.com> | 2023-03-18 16:43:05 +0900 |
---|---|---|
committer | Stafford Horne <shorne@gmail.com> | 2023-03-19 15:41:22 +0900 |
commit | 33fb1625992ba8180b42988e714460bcab08ca0f (patch) | |
tree | 35fa2bc01e25e2e06871dc3f05d04fbbb54692fd /libgcc | |
parent | 0e38aedc6af7c4f4b5d46fb90c4eeb3011ad8369 (diff) | |
download | gcc-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.
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/config/or1k/sfp-machine.h | 1 |
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)); \ } \ |