diff options
author | Daniel Cederman <cederman@gaisler.com> | 2024-01-15 15:53:44 +0100 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-01-18 08:27:43 -0300 |
commit | 3bb1350c3681c5ca330dd92500dc59fba94b37eb (patch) | |
tree | 90d3bfecd06e446fc99cfe6392b0284d5173d29d /sysdeps/sparc | |
parent | 8393f4f72bc8fc79328b2d739d3ff91c1753c3b5 (diff) | |
download | glibc-3bb1350c3681c5ca330dd92500dc59fba94b37eb.zip glibc-3bb1350c3681c5ca330dd92500dc59fba94b37eb.tar.gz glibc-3bb1350c3681c5ca330dd92500dc59fba94b37eb.tar.bz2 |
sparc: Use existing macros to avoid code duplication
Macros for using inline assembly to access the fp state register exists
in both fenv_private.h and in fpu_control.h. Let fenv_private.h use the
macros from fpu_control.h
Signed-off-by: Daniel Cederman <cederman@gaisler.com>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r-- | sysdeps/sparc/fpu/fenv_private.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sysdeps/sparc/fpu/fenv_private.h b/sysdeps/sparc/fpu/fenv_private.h index da7c7fe..a31ba3c 100644 --- a/sysdeps/sparc/fpu/fenv_private.h +++ b/sysdeps/sparc/fpu/fenv_private.h @@ -2,15 +2,11 @@ #define SPARC_FENV_PRIVATE_H 1 #include <fenv.h> +#include <fpu_control.h> /* For internal use only: access the fp state register. */ -#if __WORDSIZE == 64 -# define __fenv_stfsr(X) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (X)) -# define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X)) -#else -# define __fenv_stfsr(X) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (X)) -# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X)) -#endif +#define __fenv_stfsr(X) _FPU_GETCW (X) +#define __fenv_ldfsr(X) _FPU_SETCW (X) static __always_inline void libc_feholdexcept (fenv_t *e) |