summary refs log tree commit diff
path: root/sysdeps/powerpc/fpu/bits/fenvinline.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/fpu/bits/fenvinline.h')
-rw-r--r--sysdeps/powerpc/fpu/bits/fenvinline.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/powerpc/fpu/bits/fenvinline.h b/sysdeps/powerpc/fpu/bits/fenvinline.h
index 552c8c9db7..f7700a49e7 100644
--- a/sysdeps/powerpc/fpu/bits/fenvinline.h
+++ b/sysdeps/powerpc/fpu/bits/fenvinline.h
@@ -1,5 +1,6 @@
 /* Inline floating-point environment handling functions for powerpc.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2006
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,8 +23,9 @@
 /* Inline definition for fegetround.  */
 # define fegetround() \
   (__extension__  ({ int __fegetround_result;				      \
-		     __asm__ ("mcrfs 7,7 ; mfcr %0"			      \
-			     : "=r"(__fegetround_result) : : "cr7");	      \
+		     __asm__ __volatile__				      \
+		       ("mcrfs 7,7 ; mfcr %0"				      \
+			: "=r"(__fegetround_result) : : "cr7");		      \
 		     __fegetround_result & 3; }))
 
 /* The weird 'i#*X' constraints on the following suppress a gcc