aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/fpu
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-05-11 13:58:41 -0700
committerDavid S. Miller <davem@davemloft.net>2012-05-11 13:58:41 -0700
commit842b81d6113b45c9a10a93dd8415639c414df946 (patch)
tree18668c734d4243b1e721637ab160f9420f18c7ff /sysdeps/sparc/fpu
parent1cf463cd4e499488cbea70c50939d22b6ffc045f (diff)
downloadglibc-842b81d6113b45c9a10a93dd8415639c414df946.tar
glibc-842b81d6113b45c9a10a93dd8415639c414df946.tar.gz
glibc-842b81d6113b45c9a10a93dd8415639c414df946.tar.bz2
glibc-842b81d6113b45c9a10a93dd8415639c414df946.zip
Mark sparc %fsr load and store inline asms as volatile.
* sysdeps/sparc/fpu/bits/fenv.h (__fenv_stfsr): Add __volatile__. * sysdeps/sparc/fpu/fpu_control.h (_FPU_GETCW): Likewise. (_FPU_SETCW): Likewise.
Diffstat (limited to 'sysdeps/sparc/fpu')
-rw-r--r--sysdeps/sparc/fpu/bits/fenv.h4
-rw-r--r--sysdeps/sparc/fpu/fpu_control.h8
2 files changed, 6 insertions, 6 deletions
diff --git a/sysdeps/sparc/fpu/bits/fenv.h b/sysdeps/sparc/fpu/bits/fenv.h
index 2168de5827..0e2a9b9e63 100644
--- a/sysdeps/sparc/fpu/bits/fenv.h
+++ b/sysdeps/sparc/fpu/bits/fenv.h
@@ -76,9 +76,9 @@ typedef unsigned long int fenv_t;
/* For internal use only: access the fp state register. */
#if __WORDSIZE == 64
-# define __fenv_stfsr(X) __asm__ ("stx %%fsr,%0" : "=m" (X))
+# 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__ ("st %%fsr,%0" : "=m" (X))
+# define __fenv_stfsr(X) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (X))
# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
#endif
diff --git a/sysdeps/sparc/fpu/fpu_control.h b/sysdeps/sparc/fpu/fpu_control.h
index c8bb503735..26c08e9563 100644
--- a/sysdeps/sparc/fpu/fpu_control.h
+++ b/sysdeps/sparc/fpu/fpu_control.h
@@ -59,11 +59,11 @@
typedef unsigned long int fpu_control_t;
#if __WORDSIZE == 64
-# define _FPU_GETCW(cw) __asm__ ("stx %%fsr,%0" : "=m" (*&cw))
-# define _FPU_SETCW(cw) __asm__ ("ldx %0,%%fsr" : : "m" (*&cw))
+# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw))
+# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw))
#else
-# define _FPU_GETCW(cw) __asm__ ("st %%fsr,%0" : "=m" (*&cw))
-# define _FPU_SETCW(cw) __asm__ ("ld %0,%%fsr" : : "m" (*&cw))
+# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw))
+# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw))
#endif
/* Default control word set at startup. */