Module Name: src
Committed By: joerg
Date: Tue Jul 26 17:03:23 UTC 2011
Added Files:
src/lib/libm/arch/i387: s_scalbnl.S
Log Message:
Add optimised version of scalbnl for x86.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/lib/libm/arch/i387/s_scalbnl.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: src/lib/libm/arch/i387/s_scalbnl.S
diff -u /dev/null src/lib/libm/arch/i387/s_scalbnl.S:1.1
--- /dev/null Tue Jul 26 17:03:23 2011
+++ src/lib/libm/arch/i387/s_scalbnl.S Tue Jul 26 17:03:23 2011
@@ -0,0 +1,27 @@
+/*
+ * Written by J.T. Conklin <[email protected]>.
+ * Public domain.
+ */
+
+#include <machine/asm.h>
+
+RCSID("$NetBSD: s_scalbnl.S,v 1.1 2011/07/26 17:03:23 joerg Exp $")
+
+#ifdef WEAK_ALIAS
+WEAK_ALIAS(scalbnl,_scalbnl)
+#endif
+
+ENTRY(_scalbnl)
+#ifdef __x86_64__
+ movl %edi,-4(%rsp)
+ fildl -4(%rsp)
+ fldt 8(%rsp)
+ fscale
+ fstp %st(1)
+#else
+ fildl 16(%esp)
+ fldt 4(%esp)
+ fscale
+ fstp %st(1) /* clean up stack */
+#endif
+ ret