diff options
-rw-r--r-- | src/fenv/i386/fenv.s | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/fenv/i386/fenv.s b/src/fenv/i386/fenv.s index 8148a30d..ee2eae6e 100644 --- a/src/fenv/i386/fenv.s +++ b/src/fenv/i386/fenv.s @@ -32,22 +32,22 @@ feraiseexcept: fesetround: mov 4(%esp),%ecx xor %eax,%eax - sub $32,%esp - fnstenv (%esp) + sub $4,%esp + fnstcw (%esp) andb $0xf3,1(%esp) - or %ecx,(%esp) - fldenv (%esp) - add $32,%esp + or %cx,(%esp) + fldcw (%esp) + add $4,%esp ret .global fegetround .type fegetround,@function fegetround: - sub $28,%esp - fnstenv (%esp) - mov 4(%esp),%eax - add $28,%esp - and $0xc,%ah + sub $4,%esp + fnstcw (%esp) + mov (%esp),%ax + add $4,%esp + and $0xc00,%eax ret .global fegetenv |