summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/powerpc/bits/fenvinline.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/powerpc/bits/fenvinline.h')
-rw-r--r--libc/sysdeps/linux/powerpc/bits/fenvinline.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/powerpc/bits/fenvinline.h b/libc/sysdeps/linux/powerpc/bits/fenvinline.h
index 552c8c9db..f7700a49e 100644
--- a/libc/sysdeps/linux/powerpc/bits/fenvinline.h
+++ b/libc/sysdeps/linux/powerpc/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