summaryrefslogtreecommitdiff
path: root/os2/rint.s
diff options
context:
space:
mode:
authormonty@hundin.mysql.fi <>2001-08-22 01:45:07 +0300
committermonty@hundin.mysql.fi <>2001-08-22 01:45:07 +0300
commit733f865f54e297bf512f10ec0631342303164b25 (patch)
tree32f2629127dea884d1930817179e72d2076be756 /os2/rint.s
parent063a1a6557ad2c501f4da9a47e633fb191ee2e00 (diff)
downloadmariadb-git-733f865f54e297bf512f10ec0631342303164b25.tar.gz
Fixes for OS2.
Fix bug in isamlog Add argument types to function declarations.
Diffstat (limited to 'os2/rint.s')
-rw-r--r--os2/rint.s32
1 files changed, 32 insertions, 0 deletions
diff --git a/os2/rint.s b/os2/rint.s
new file mode 100644
index 00000000000..7f6569ed72c
--- /dev/null
+++ b/os2/rint.s
@@ -0,0 +1,32 @@
+/ rint.s (emx+gcc) -- Copyright (c) 1992-1996 by Eberhard Mattes
+
+#include <emx/asm386.h>
+
+#define FUNC MATHSUFFIX2(rint)
+
+ .globl LABEL(FUNC)
+
+ .text
+
+ ALIGN
+
+/ double _rint (double x)
+
+#define cw1 0(%esp)
+#define cw2 2(%esp)
+/define ret_addr 4(%esp)
+#define x 8(%esp)
+
+LABEL(FUNC):
+ PROFILE_NOFRAME
+ subl $4, %esp
+ fstcww cw1
+ movw cw1, %ax
+ andw $0xf3ff, %ax /* round to nearest or even */
+ movw %ax, cw2
+ fldcww cw2
+ FLD x /* x */
+ frndint
+ fldcww cw1
+ addl $4, %esp
+ EPILOGUE(FUNC)