summaryrefslogtreecommitdiff
path: root/src/math/i386/modfl.s
diff options
context:
space:
mode:
authornsz <nsz@port70.net>2012-03-29 14:05:16 +0200
committernsz <nsz@port70.net>2012-03-29 14:05:16 +0200
commitd79ac8c38f3992b4547d155f5c8e612f51d9b32e (patch)
treeb4d5a4653e016e97358efa70184bfe4be8940b7f /src/math/i386/modfl.s
parentf6ceccd92247575e4a35bc94f581a570b8052d43 (diff)
downloadmusl-d79ac8c38f3992b4547d155f5c8e612f51d9b32e.tar.gz
musl-d79ac8c38f3992b4547d155f5c8e612f51d9b32e.tar.bz2
musl-d79ac8c38f3992b4547d155f5c8e612f51d9b32e.tar.xz
musl-d79ac8c38f3992b4547d155f5c8e612f51d9b32e.zip
math: remove x86 modf asm
the int part was wrong when -1 < x <= -0 (+0.0 instead of -0.0) and the size and performace gain of the asm version was negligible
Diffstat (limited to 'src/math/i386/modfl.s')
-rw-r--r--src/math/i386/modfl.s28
1 files changed, 0 insertions, 28 deletions
diff --git a/src/math/i386/modfl.s b/src/math/i386/modfl.s
deleted file mode 100644
index d650debb..00000000
--- a/src/math/i386/modfl.s
+++ /dev/null
@@ -1,28 +0,0 @@
-.global modfl
-.type modfl,@function
-modfl:
- mov 16(%esp),%ecx
- fldt 4(%esp)
- fxam
- fnstsw %ax
- sahf
- jnp 1f
- jc 2f
-1: fld1
- fld %st(1)
-1: fprem
- fnstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- fsubr %st(0),%st(1)
- fxch %st(1)
- fstpt (%ecx)
- ret
-
-2: fstpt (%ecx)
- mov 6(%ecx),%eax
- and $0x80000000,%eax
- mov %eax,4(%esp)
- flds 4(%esp)
- ret