summaryrefslogtreecommitdiff
path: root/src/math/x86_64
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/x86_64
parentf6ceccd92247575e4a35bc94f581a570b8052d43 (diff)
downloadmusl-d79ac8c38f3992b4547d155f5c8e612f51d9b32e.tar.gz
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/x86_64')
-rw-r--r--src/math/x86_64/modfl.s27
1 files changed, 0 insertions, 27 deletions
diff --git a/src/math/x86_64/modfl.s b/src/math/x86_64/modfl.s
deleted file mode 100644
index cd2ec46e..00000000
--- a/src/math/x86_64/modfl.s
+++ /dev/null
@@ -1,27 +0,0 @@
-.global modfl
-.type modfl,@function
-modfl:
- fldt 8(%rsp)
- 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 (%rdi)
- ret
-
-2: fstpt (%rdi)
- mov 6(%rdi),%eax
- and $0x80000000,%eax
- mov %eax,8(%rsp)
- flds 8(%rsp)
- ret