summaryrefslogtreecommitdiffstats
path: root/lib/libc/i386/gen/fixdfsi.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/i386/gen/fixdfsi.S')
-rw-r--r--lib/libc/i386/gen/fixdfsi.S20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/libc/i386/gen/fixdfsi.S b/lib/libc/i386/gen/fixdfsi.S
new file mode 100644
index 0000000..a61c667
--- /dev/null
+++ b/lib/libc/i386/gen/fixdfsi.S
@@ -0,0 +1,20 @@
+ .file "__fixdfsi.s"
+.text
+ .align 2
+.globl ___fixdfsi
+.type ___fixdfsi,@function
+___fixdfsi:
+ pushl %ebp
+ movl %esp,%ebp
+ subl $12,%esp
+ fstcw -4(%ebp)
+ movw -4(%ebp),%ax
+ orw $0x0c00,%ax
+ movw %ax,-2(%ebp)
+ fldcw -2(%ebp)
+ fldl 8(%ebp)
+ fistpl -12(%ebp)
+ fldcw -4(%ebp)
+ movl -12(%ebp),%eax
+ leave
+ ret
OpenPOWER on IntegriCloud