From: DJ Delorie Date: Fri, 3 Aug 2018 17:43:31 +0000 (-0400) Subject: RISC-V: Fix rounding save/restore bug. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b0aa03dfffc20ec7a00db73a3dedecb2130ca6ab;p=thirdparty%2Fglibc.git RISC-V: Fix rounding save/restore bug. * sysdeps/riscv/rvf/math_private.h (libc_feholdexcept_setround_riscv): Fix rounding save-restore bug. Fixes about a hundred off-by-ULP failures in the math testsuite. (cherry picked from commit bf4181878780be9b53e37a3b0fbabc40cdd07649) --- diff --git a/ChangeLog b/ChangeLog index d900e1eba18..b1cba70bc4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-08-03 DJ Delorie + + * sysdeps/riscv/rvf/math_private.h (libc_feholdexcept_setround_riscv): + Fix rounding save-restore bug. + 2018-08-14 Florian Weimer [BZ #23521] diff --git a/sysdeps/riscv/rvf/math_private.h b/sysdeps/riscv/rvf/math_private.h index cdb7858fc8c..ca587620cb3 100644 --- a/sysdeps/riscv/rvf/math_private.h +++ b/sysdeps/riscv/rvf/math_private.h @@ -72,8 +72,8 @@ libc_fesetround_riscv (int round) static __always_inline void libc_feholdexcept_setround_riscv (fenv_t *envp, int round) { - libc_fesetround_riscv (round); libc_feholdexcept_riscv (envp); + libc_fesetround_riscv (round); } #define libc_feholdexcept_setround libc_feholdexcept_setround_riscv