diff options
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/fpu/fedisblxcpt.c | 10 | ||||
-rw-r--r-- | sysdeps/i386/fpu/feenablxcpt.c | 4 |
2 files changed, 7 insertions, 7 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; diff --git a/sysdeps/i386/fpu/feenablxcpt.c b/sysdeps/i386/fpu/feenablxcpt.c index b9877d4e14..f284306c4e 100644 --- a/sysdeps/i386/fpu/feenablxcpt.c +++ b/sysdeps/i386/fpu/feenablxcpt.c @@ -1,5 +1,5 @@ /* Enable 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. @@ -31,7 +31,7 @@ feenableexcept (int excepts) excepts &= FE_ALL_EXCEPT; old_exc = new_exc & FE_ALL_EXCEPT; - new_exc |= excepts; + new_exc &= ~excepts; __asm__ ("fldcw %0" : : "m" (*&new_exc)); return old_exc; |