about summary refs log tree commit diff
path: root/sysdeps/s390/fpu/fesetround.c
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.ibm.com>2019-12-11 15:09:32 +0100
committerStefan Liebler <stli@linux.ibm.com>2019-12-11 15:12:25 +0100
commit238adf59db85646ebae47876819bd896dae597bc (patch)
treebc11e42ee2928d1549b9dfd405fbaee17c9cabfd /sysdeps/s390/fpu/fesetround.c
parent7c94d036c17dfd352d11e9bf98e5d84122c1f95e (diff)
downloadglibc-238adf59db85646ebae47876819bd896dae597bc.tar.gz
glibc-238adf59db85646ebae47876819bd896dae597bc.tar.xz
glibc-238adf59db85646ebae47876819bd896dae597bc.zip
S390: Use libc_fe* macros in fe* functions.
This patch updates the s390 specific functions fegetround,
fesetround, feholdexcept, fesetenv, feupdateenv, fegetexceptflag,
fetestexcept, fesetexceptflag, fetestexceptflag.
Now those functions are using the libc_fe* macros if possible.

Furthermore fegetexceptflag is now returning the exception from
dxc field shifted to the usual exception-flags.
Thus a special fetestexceptflag implementation is not needed anymore.
Diffstat (limited to 'sysdeps/s390/fpu/fesetround.c')
-rw-r--r--sysdeps/s390/fpu/fesetround.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sysdeps/s390/fpu/fesetround.c b/sysdeps/s390/fpu/fesetround.c
index 38ec4284d3..752b41a171 100644
--- a/sysdeps/s390/fpu/fesetround.c
+++ b/sysdeps/s390/fpu/fesetround.c
@@ -17,21 +17,18 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#include <fenv_libc.h>
-#include <fpu_control.h>
+#include <fenv_private.h>
 
 int
 __fesetround (int round)
 {
-  if ((round|FPC_RM_MASK) != FPC_RM_MASK)
+  if ((round | FPC_RM_MASK) != FPC_RM_MASK)
     {
       /* ROUND is not a valid rounding mode.  */
       return 1;
     }
-  __asm__ __volatile__ ("srnm 0(%0)"
-			:
-			: "a" (round));
 
+  libc_fesetround_s390 (round);
   return 0;
 }
 libm_hidden_def (__fesetround)