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 | 
