aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc
diff options
context:
space:
mode:
authorDaniel Cederman <cederman@gaisler.com>2024-01-15 15:53:44 +0100
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-01-18 08:27:43 -0300
commit3bb1350c3681c5ca330dd92500dc59fba94b37eb (patch)
tree90d3bfecd06e446fc99cfe6392b0284d5173d29d /sysdeps/sparc
parent8393f4f72bc8fc79328b2d739d3ff91c1753c3b5 (diff)
downloadglibc-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.h10
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)