diff options
Diffstat (limited to 'lib/libc/ia64/gen/fpsetmask.c')
-rw-r--r-- | lib/libc/ia64/gen/fpsetmask.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libc/ia64/gen/fpsetmask.c b/lib/libc/ia64/gen/fpsetmask.c index c69dccb..be4d8b4 100644 --- a/lib/libc/ia64/gen/fpsetmask.c +++ b/lib/libc/ia64/gen/fpsetmask.c @@ -37,8 +37,8 @@ fpsetmask(fp_except_t mask) u_int64_t oldmask; __asm __volatile("mov %0=ar.fpsr" : "=r" (fpsr)); - oldmask = (fpsr & 0x1f) ^ 0x1f; - fpsr = (fpsr & ~0x1f) | (mask ^ 0x1f); + oldmask = ~fpsr & 0x3f; + fpsr = (fpsr & ~0x3f) | (~mask & 0x3f); __asm __volatile("mov ar.fpsr=%0" :: "r" (fpsr)); - return oldmask; + return (oldmask); } |