From 238adf59db85646ebae47876819bd896dae597bc Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Wed, 11 Dec 2019 15:09:32 +0100 Subject: 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. --- sysdeps/s390/fpu/fesetround.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'sysdeps/s390/fpu/fesetround.c') diff --git a/sysdeps/s390/fpu/fesetround.c b/sysdeps/s390/fpu/fesetround.c index 38ec428..752b41a 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 . */ -#include -#include +#include 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) -- cgit v1.1