about summary refs log tree commit diff
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.gz
glibc-842b81d6113b45c9a10a93dd8415639c414df946.tar.xz
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.  */