Module Name:    src
Committed By:   matt
Date:           Mon Feb 11 01:19:33 UTC 2013

Modified Files:
        src/lib/libm/arch/i387: s_scalbn.S s_scalbnf.S s_scalbnl.S

Log Message:
Add long double version of x86 scalb functions


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/lib/libm/arch/i387/s_scalbn.S
cvs rdiff -u -r1.8 -r1.9 src/lib/libm/arch/i387/s_scalbnf.S
cvs rdiff -u -r1.1 -r1.2 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.

Modified files:

Index: src/lib/libm/arch/i387/s_scalbn.S
diff -u src/lib/libm/arch/i387/s_scalbn.S:1.9 src/lib/libm/arch/i387/s_scalbn.S:1.10
--- src/lib/libm/arch/i387/s_scalbn.S:1.9	Fri Apr 23 19:17:07 2010
+++ src/lib/libm/arch/i387/s_scalbn.S	Mon Feb 11 01:19:33 2013
@@ -5,14 +5,14 @@
 
 #include <machine/asm.h>
 
-RCSID("$NetBSD: s_scalbn.S,v 1.9 2010/04/23 19:17:07 drochner Exp $")
+RCSID("$NetBSD: s_scalbn.S,v 1.10 2013/02/11 01:19:33 matt Exp $")
 
 #ifdef WEAK_ALIAS
-WEAK_ALIAS(scalbn,_scalbn)
+WEAK_ALIAS(scalbn,_scalbln)
+WEAK_ALIAS(scalbln,_scalbln)
 #endif
-
-ENTRY(_scalbn)
 #ifdef __x86_64__
+ENTRY(_scalbn)
 	movl %edi,-12(%rsp)
 	fildl -12(%rsp)
 	movsd %xmm0,-8(%rsp)
@@ -21,6 +21,21 @@ ENTRY(_scalbn)
 	fstpl -8(%rsp)
 	movsd -8(%rsp),%xmm0
 	fstp %st(0)
+	ret
+#elif defined(STRONG_ALIAS)
+STRONG_ALIAS(_scalbn, scalbln)
+#endif
+
+ENTRY(_scalbln)
+#ifdef __x86_64__
+	movq %rdx,-16(%rsp)
+	fildq -16(%rsp)
+	movsd %xmm0,-8(%rsp)
+	fldl -8(%rsp)
+	fscale
+	fstpl -8(%rsp)
+	movsd -8(%rsp),%xmm0
+	fstp %st(0)
 #else
 	fildl 12(%esp)
 	fldl 4(%esp)

Index: src/lib/libm/arch/i387/s_scalbnf.S
diff -u src/lib/libm/arch/i387/s_scalbnf.S:1.8 src/lib/libm/arch/i387/s_scalbnf.S:1.9
--- src/lib/libm/arch/i387/s_scalbnf.S:1.8	Fri Apr 23 19:17:07 2010
+++ src/lib/libm/arch/i387/s_scalbnf.S	Mon Feb 11 01:19:33 2013
@@ -5,14 +5,15 @@
 
 #include <machine/asm.h>
 
-RCSID("$NetBSD: s_scalbnf.S,v 1.8 2010/04/23 19:17:07 drochner Exp $")
+RCSID("$NetBSD: s_scalbnf.S,v 1.9 2013/02/11 01:19:33 matt Exp $")
 
 #ifdef WEAK_ALIAS
 WEAK_ALIAS(scalbnf,_scalbnf)
+WEAK_ALIAS(scalblnf,_scalblnf)
 #endif
 
-ENTRY(_scalbnf)
 #ifdef __x86_64__
+ENTRY(_scalbnf)
 	movl %edi,-8(%rsp)
 	fildl -8(%rsp)
 	movss %xmm0,-4(%rsp)
@@ -21,6 +22,21 @@ ENTRY(_scalbnf)
 	fstps -4(%rsp)
 	movss -4(%rsp),%xmm0
 	fstp %st(0)
+	ret
+#elif defined(STRONG_ALIAS)
+STRONG_ALIAS(_scalbnf,_scalbnf)
+#endif
+
+ENTRY(_scalblnf)
+#ifdef __x86_64__
+	movq %rdx,-16(%rsp)
+	fildq -16(%rsp)
+	movss %xmm0,-4(%rsp)
+	flds -4(%rsp)
+	fscale
+	fstps -4(%rsp)
+	movss -4(%rsp),%xmm0
+	fstp %st(0)
 #else
 	fildl 8(%esp)
 	flds 4(%esp)

Index: src/lib/libm/arch/i387/s_scalbnl.S
diff -u src/lib/libm/arch/i387/s_scalbnl.S:1.1 src/lib/libm/arch/i387/s_scalbnl.S:1.2
--- src/lib/libm/arch/i387/s_scalbnl.S:1.1	Tue Jul 26 17:03:23 2011
+++ src/lib/libm/arch/i387/s_scalbnl.S	Mon Feb 11 01:19:33 2013
@@ -5,19 +5,32 @@
 
 #include <machine/asm.h>
 
-RCSID("$NetBSD: s_scalbnl.S,v 1.1 2011/07/26 17:03:23 joerg Exp $")
+RCSID("$NetBSD: s_scalbnl.S,v 1.2 2013/02/11 01:19:33 matt Exp $")
 
 #ifdef WEAK_ALIAS
 WEAK_ALIAS(scalbnl,_scalbnl)
+WEAK_ALIAS(scalblnl,_scalblnl)
 #endif
 
-ENTRY(_scalbnl)
 #ifdef __x86_64__
+ENTRY(_scalbnl)
 	movl	%edi,-4(%rsp)
 	fildl	-4(%rsp)
 	fldt	8(%rsp)
 	fscale
 	fstp	%st(1)
+	ret
+#elif defined(STRONG_ALIAS)
+STRONG_ALIAS(_scalbnl,_scalblnl)
+#endif
+
+ENTRY(_scalblnl)
+#ifdef __x86_64__
+	movq	%rdx,-8(%rsp)
+	fildq	-8(%rsp)
+	fldt	8(%rsp)
+	fscale
+	fstp	%st(1)
 #else
 	fildl 16(%esp)
 	fldt 4(%esp)

Reply via email to