powerpc: Fix __fesetround_inline_nocheck on POWER9+ (BZ 31682)
commitae515ba530be76d6627740ddc33a3a63f8c7e4f9
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 7 May 2024 12:19:48 +0000 (7 09:19 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 9 May 2024 11:59:30 +0000 (9 08:59 -0300)
tree75fbf70a9b772ce5b0ad97db0f02d3b205789e1e
parentdd5f891c1ad9f1b43b9db93afe2a55cbb7a6194e
powerpc: Fix __fesetround_inline_nocheck on POWER9+ (BZ 31682)

The e68b1151f7460d5fa88c3a567c13f66052da79a7 commit changed the
__fesetround_inline_nocheck implementation to use mffscrni
(through __fe_mffscrn) instead of mtfsfi.  For generic powerpc
ceil/floor/trunc, the function is supposed to disable the
floating-point inexact exception enable bit, however mffscrni
does not change any exception enable bits.

This patch fixes by reverting the optimization for the
__fesetround_inline_nocheck.

Checked on powerpc-linux-gnu.
Reviewed-by: Paul E. Murphy <murphyp@linux.ibm.com>
sysdeps/powerpc/fpu/fenv_libc.h
sysdeps/powerpc/fpu/round_to_integer.h