summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/src/math/x32/floorl.s
diff options
context:
space:
mode:
Diffstat (limited to 'libc-top-half/musl/src/math/x32/floorl.s')
-rw-r--r--libc-top-half/musl/src/math/x32/floorl.s27
1 files changed, 27 insertions, 0 deletions
diff --git a/libc-top-half/musl/src/math/x32/floorl.s b/libc-top-half/musl/src/math/x32/floorl.s
new file mode 100644
index 0000000..78dcb6d
--- /dev/null
+++ b/libc-top-half/musl/src/math/x32/floorl.s
@@ -0,0 +1,27 @@
+.global floorl
+.type floorl,@function
+floorl:
+ fldt 8(%esp)
+1: mov $0x7,%al
+1: fstcw 8(%esp)
+ mov 9(%esp),%ah
+ mov %al,9(%esp)
+ fldcw 8(%esp)
+ frndint
+ mov %ah,9(%esp)
+ fldcw 8(%esp)
+ ret
+
+.global ceill
+.type ceill,@function
+ceill:
+ fldt 8(%esp)
+ mov $0xb,%al
+ jmp 1b
+
+.global truncl
+.type truncl,@function
+truncl:
+ fldt 8(%esp)
+ mov $0xf,%al
+ jmp 1b