diff options
Diffstat (limited to 'sysdeps/i386/fpu/fedisblxcpt.c')
-rw-r--r-- | sysdeps/i386/fpu/fedisblxcpt.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/i386/fpu/fedisblxcpt.c b/sysdeps/i386/fpu/fedisblxcpt.c index 0cb570f562..019366e1c8 100644 --- a/sysdeps/i386/fpu/fedisblxcpt.c +++ b/sysdeps/i386/fpu/fedisblxcpt.c @@ -1,5 +1,5 @@ /* Disable floating-point exceptions. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger <aj@suse.de>, 1999. @@ -24,15 +24,15 @@ int fedisableexcept (int excepts) { unsigned short int new_exc, old_exc; - + /* Get the current control word. */ __asm__ ("fstcw %0" : "=m" (*&new_exc)); - + old_exc = new_exc & FE_ALL_EXCEPT; excepts &= FE_ALL_EXCEPT; - - new_exc &= ~excepts; + + new_exc |= excepts; __asm__ ("fldcw %0" : : "m" (*&new_exc)); return old_exc; |