about summary refs log tree commit diff
diff options
context:
space:
mode:
-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