diff options
-rw-r--r-- | src/fenv/i386/fenv.s | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/fenv/i386/fenv.s b/src/fenv/i386/fenv.s index ee2eae6e..647b7961 100644 --- a/src/fenv/i386/fenv.s +++ b/src/fenv/i386/fenv.s @@ -31,22 +31,21 @@ feraiseexcept: .type fesetround,@function fesetround: mov 4(%esp),%ecx + push %eax xor %eax,%eax - sub $4,%esp fnstcw (%esp) andb $0xf3,1(%esp) - or %cx,(%esp) + or %ch,1(%esp) fldcw (%esp) - add $4,%esp + pop %ecx ret .global fegetround .type fegetround,@function fegetround: - sub $4,%esp + push %eax fnstcw (%esp) - mov (%esp),%ax - add $4,%esp + pop %eax and $0xc00,%eax ret |