about summary refs log tree commit diff
path: root/src/math
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
parent6f26cf3dacf9d426bbd18cecb4d486da56c17351 (diff)
downloadmusl-37eb14dd2b92c51404fa54f56b6dfcd487ab5cbb.tar.gz
musl-37eb14dd2b92c51404fa54f56b6dfcd487ab5cbb.tar.xz
musl-37eb14dd2b92c51404fa54f56b6dfcd487ab5cbb.zip
asm for lrint family on i386
Diffstat (limited to 'src/math')
-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