X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Ffenv%2Fi386%2Ffenv.s;h=8148a30d384286588f82df36927ea4fc8c8ad2e9;hb=e41182796014b0e2b52c7b3e6ee69ad7d0c3e723;hp=72d2ed7dbbb0057ec408dade62422dabd090f655;hpb=b09b78905b09016becda8df81a43e11bebd88208;p=musl diff --git a/src/fenv/i386/fenv.s b/src/fenv/i386/fenv.s index 72d2ed7d..8148a30d 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,13 +28,20 @@ feraiseexcept: ret .global fesetround +.type fesetround,@function fesetround: + mov 4(%esp),%ecx xor %eax,%eax - mov $0xc00,%ecx - mov 4(%esp),%edx - jmp 2b + sub $32,%esp + fnstenv (%esp) + andb $0xf3,1(%esp) + or %ecx,(%esp) + fldenv (%esp) + add $32,%esp + ret .global fegetround +.type fegetround,@function fegetround: sub $28,%esp fnstenv (%esp) @@ -42,6 +51,7 @@ fegetround: ret .global fegetenv +.type fegetenv,@function fegetenv: mov 4(%esp),%ecx xor %eax,%eax @@ -49,6 +59,7 @@ fegetenv: ret .global fesetenv +.type fesetenv,@function fesetenv: mov 4(%esp),%ecx xor %eax,%eax @@ -68,6 +79,7 @@ fesetenv: ret .global fetestexcept +.type fetestexcept,@function fetestexcept: mov 4(%esp),%ecx fnstsw %ax