about summary refs log tree commit diff
path: root/sysdeps/s390/fpu/fgetexcptflg.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/s390/fpu/fgetexcptflg.c')
-rw-r--r--sysdeps/s390/fpu/fgetexcptflg.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/sysdeps/s390/fpu/fgetexcptflg.c b/sysdeps/s390/fpu/fgetexcptflg.c
index 779eec83bc..7231752029 100644
--- a/sysdeps/s390/fpu/fgetexcptflg.c
+++ b/sysdeps/s390/fpu/fgetexcptflg.c
@@ -17,24 +17,12 @@
    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
 fegetexceptflag (fexcept_t *flagp, int excepts)
 {
-  fexcept_t temp, newexcepts;
-
-  /* Get the current exceptions.  */
-  _FPU_GETCW (temp);
-  newexcepts = excepts << FPC_FLAGS_SHIFT;
-  if ((temp & FPC_NOT_FPU_EXCEPTION) == 0)
-    /* Bits 6, 7 of dxc-byte are zero,
-       thus bits 0-5 of dxc-byte correspond to the flag-bits.
-       Evaluate flags and last dxc-exception-code.  */
-    newexcepts |= excepts << FPC_DXC_SHIFT;
-
-  *flagp = temp & newexcepts;
+  *flagp = libc_fetestexcept_s390 (excepts);
 
   /* Success.  */
   return 0;