X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Ffenv%2Fi386%2Ffenv.s;h=ee2eae6e464516ef7753ec3c27656495f7d015ce;hp=34101d58956331a46c526eb0ada8701105b340b6;hb=88cfaf8a142a8c57beccb89398a6421c4bbf121a;hpb=52cf24a0f45f208b1627a64e4af9a5ed8cb28ae7 diff --git a/src/fenv/i386/fenv.s b/src/fenv/i386/fenv.s index 34101d58..ee2eae6e 100644 --- a/src/fenv/i386/fenv.s +++ b/src/fenv/i386/fenv.s @@ -8,6 +8,7 @@ ret .global feclearexcept +.type feclearexcept,@function feclearexcept: xor %eax,%eax mov 4(%esp),%ecx @@ -17,6 +18,7 @@ feclearexcept: ret .global feraiseexcept +.type feraiseexcept,@function feraiseexcept: xor %eax,%eax mov 4(%esp),%edx @@ -26,27 +28,30 @@ feraiseexcept: ret .global fesetround +.type fesetround,@function 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 +.type fegetenv,@function fegetenv: mov 4(%esp),%ecx xor %eax,%eax @@ -54,6 +59,7 @@ fegetenv: ret .global fesetenv +.type fesetenv,@function fesetenv: mov 4(%esp),%ecx xor %eax,%eax @@ -73,6 +79,7 @@ fesetenv: ret .global fetestexcept +.type fetestexcept,@function fetestexcept: mov 4(%esp),%ecx fnstsw %ax