summaryrefslogtreecommitdiff
path: root/src/math/i386
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-03-18 22:05:20 -0400
committerRich Felker <dalias@aerifal.cx>2012-03-18 22:05:20 -0400
commit37eb14dd2b92c51404fa54f56b6dfcd487ab5cbb (patch)
tree97d716cafa295740ba6caddfe1e3f4de9bd0faab /src/math/i386
parent6f26cf3dacf9d426bbd18cecb4d486da56c17351 (diff)
downloadmusl-37eb14dd2b92c51404fa54f56b6dfcd487ab5cbb.tar.gz
musl-37eb14dd2b92c51404fa54f56b6dfcd487ab5cbb.tar.bz2
musl-37eb14dd2b92c51404fa54f56b6dfcd487ab5cbb.tar.xz
musl-37eb14dd2b92c51404fa54f56b6dfcd487ab5cbb.zip
asm for lrint family on i386
Diffstat (limited to 'src/math/i386')
-rw-r--r--src/math/i386/llrint.s8
-rw-r--r--src/math/i386/llrintf.s9
-rw-r--r--src/math/i386/llrintl.s8
-rw-r--r--src/math/i386/lrint.s7
-rw-r--r--src/math/i386/lrintf.s7
-rw-r--r--src/math/i386/lrintl.s7
6 files changed, 46 insertions, 0 deletions
diff --git a/src/math/i386/llrint.s b/src/math/i386/llrint.s
new file mode 100644
index 00000000..e961b35d
--- /dev/null
+++ b/src/math/i386/llrint.s
@@ -0,0 +1,8 @@
+.global llrint
+.type llrint,@function
+llrint:
+ fldl 4(%esp)
+ fistpl 4(%esp)
+ mov 4(%esp),%eax
+ mov 8(%esp),%edx
+ ret
diff --git a/src/math/i386/llrintf.s b/src/math/i386/llrintf.s
new file mode 100644
index 00000000..1905cdcd
--- /dev/null
+++ b/src/math/i386/llrintf.s
@@ -0,0 +1,9 @@
+.global llrintf
+.type llrintf,@function
+llrintf:
+ sub $8,%esp
+ flds 12(%esp)
+ fistpq (%esp)
+ pop %eax
+ pop %edx
+ ret
diff --git a/src/math/i386/llrintl.s b/src/math/i386/llrintl.s
new file mode 100644
index 00000000..84e63867
--- /dev/null
+++ b/src/math/i386/llrintl.s
@@ -0,0 +1,8 @@
+.global llrintl
+.type llrintl,@function
+llrintl:
+ fldt 4(%esp)
+ fistpl 4(%esp)
+ mov 4(%esp),%eax
+ mov 8(%esp),%edx
+ ret
diff --git a/src/math/i386/lrint.s b/src/math/i386/lrint.s
new file mode 100644
index 00000000..02b83d9f
--- /dev/null
+++ b/src/math/i386/lrint.s
@@ -0,0 +1,7 @@
+.global lrint
+.type lrint,@function
+lrint:
+ fldl 4(%esp)
+ fistpl 4(%esp)
+ mov 4(%esp),%eax
+ ret
diff --git a/src/math/i386/lrintf.s b/src/math/i386/lrintf.s
new file mode 100644
index 00000000..907aac29
--- /dev/null
+++ b/src/math/i386/lrintf.s
@@ -0,0 +1,7 @@
+.global lrintf
+.type lrintf,@function
+lrintf:
+ flds 4(%esp)
+ fistpl 4(%esp)
+ mov 4(%esp),%eax
+ ret
diff --git a/src/math/i386/lrintl.s b/src/math/i386/lrintl.s
new file mode 100644
index 00000000..3ae05aac
--- /dev/null
+++ b/src/math/i386/lrintl.s
@@ -0,0 +1,7 @@
+.global lrintl
+.type lrintl,@function
+lrintl:
+ fldt 4(%esp)
+ fistpl 4(%esp)
+ mov 4(%esp),%eax
+ ret