about summary refs log tree commit diff
path: root/sysdeps/libm-i387
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387')
-rw-r--r--sysdeps/libm-i387/e_acos.S3
-rw-r--r--sysdeps/libm-i387/e_acosl.S3
-rw-r--r--sysdeps/libm-i387/e_asin.S1
-rw-r--r--sysdeps/libm-i387/e_asinl.S1
-rw-r--r--sysdeps/libm-i387/e_atan2.S1
-rw-r--r--sysdeps/libm-i387/e_atan2f.S1
-rw-r--r--sysdeps/libm-i387/e_atan2l.S1
-rw-r--r--sysdeps/libm-i387/e_exp.S2
-rw-r--r--sysdeps/libm-i387/e_expl.S2
-rw-r--r--sysdeps/libm-i387/e_fmod.S1
-rw-r--r--sysdeps/libm-i387/e_fmodl.S1
-rw-r--r--sysdeps/libm-i387/e_log.S1
-rw-r--r--sysdeps/libm-i387/e_log10.S1
-rw-r--r--sysdeps/libm-i387/e_log10l.S1
-rw-r--r--sysdeps/libm-i387/e_logl.S1
-rw-r--r--sysdeps/libm-i387/e_remainder.S1
-rw-r--r--sysdeps/libm-i387/e_remainderf.S1
-rw-r--r--sysdeps/libm-i387/e_remainderl.S1
-rw-r--r--sysdeps/libm-i387/e_scalb.S1
-rw-r--r--sysdeps/libm-i387/e_scalbl.S1
-rw-r--r--sysdeps/libm-i387/e_sqrt.S1
-rw-r--r--sysdeps/libm-i387/e_sqrtf.S1
-rw-r--r--sysdeps/libm-i387/e_sqrtl.S1
-rw-r--r--sysdeps/libm-i387/s_atan.S1
-rw-r--r--sysdeps/libm-i387/s_atanf.S1
-rw-r--r--sysdeps/libm-i387/s_atanl.S1
-rw-r--r--sysdeps/libm-i387/s_ceil.S13
-rw-r--r--sysdeps/libm-i387/s_ceilf.S13
-rw-r--r--sysdeps/libm-i387/s_ceill.S13
-rw-r--r--sysdeps/libm-i387/s_copysign.S3
-rw-r--r--sysdeps/libm-i387/s_copysignf.S3
-rw-r--r--sysdeps/libm-i387/s_copysignl.S3
-rw-r--r--sysdeps/libm-i387/s_cos.S3
-rw-r--r--sysdeps/libm-i387/s_cosf.S3
-rw-r--r--sysdeps/libm-i387/s_cosl.S1
-rw-r--r--sysdeps/libm-i387/s_finite.S1
-rw-r--r--sysdeps/libm-i387/s_finitef.S1
-rw-r--r--sysdeps/libm-i387/s_finitel.S1
-rw-r--r--sysdeps/libm-i387/s_floor.S1
-rw-r--r--sysdeps/libm-i387/s_floorf.S1
-rw-r--r--sysdeps/libm-i387/s_floorl.S1
-rw-r--r--sysdeps/libm-i387/s_ilogb.S1
-rw-r--r--sysdeps/libm-i387/s_ilogbf.S1
-rw-r--r--sysdeps/libm-i387/s_ilogbl.S1
-rw-r--r--sysdeps/libm-i387/s_log1p.S3
-rw-r--r--sysdeps/libm-i387/s_log1pf.S3
-rw-r--r--sysdeps/libm-i387/s_log1pl.S1
-rw-r--r--sysdeps/libm-i387/s_logb.S1
-rw-r--r--sysdeps/libm-i387/s_logbf.S1
-rw-r--r--sysdeps/libm-i387/s_logbl.S1
-rw-r--r--sysdeps/libm-i387/s_rint.S1
-rw-r--r--sysdeps/libm-i387/s_rintf.S1
-rw-r--r--sysdeps/libm-i387/s_rintl.S1
-rw-r--r--sysdeps/libm-i387/s_scalbn.S1
-rw-r--r--sysdeps/libm-i387/s_scalbnf.S1
-rw-r--r--sysdeps/libm-i387/s_scalbnl.S1
-rw-r--r--sysdeps/libm-i387/s_significand.S1
-rw-r--r--sysdeps/libm-i387/s_significandf.S1
-rw-r--r--sysdeps/libm-i387/s_significandl.S3
-rw-r--r--sysdeps/libm-i387/s_sin.S1
-rw-r--r--sysdeps/libm-i387/s_sinf.S1
-rw-r--r--sysdeps/libm-i387/s_sinl.S1
-rw-r--r--sysdeps/libm-i387/s_tan.S1
-rw-r--r--sysdeps/libm-i387/s_tanf.S1
-rw-r--r--sysdeps/libm-i387/s_tanl.S1
65 files changed, 101 insertions, 22 deletions
diff --git a/sysdeps/libm-i387/e_acos.S b/sysdeps/libm-i387/e_acos.S
index 6ec7785363..c9fa81006c 100644
--- a/sysdeps/libm-i387/e_acos.S
+++ b/sysdeps/libm-i387/e_acos.S
@@ -12,9 +12,10 @@ ENTRY(__ieee754_acos)
 	fldl	4(%esp)			/* x */
 	fst	%st(1)
 	fmul	%st(0)			/* x^2 */
-	fld1				
+	fld1
 	fsubp				/* 1 - x^2 */
 	fsqrt				/* sqrt (1 - x^2) */
 	fxch	%st(1)
 	fpatan
 	ret
+PSEUDO_END (__ieee754_acos)
diff --git a/sysdeps/libm-i387/e_acosl.S b/sysdeps/libm-i387/e_acosl.S
index 3779fa7861..4cc56c0bb8 100644
--- a/sysdeps/libm-i387/e_acosl.S
+++ b/sysdeps/libm-i387/e_acosl.S
@@ -9,7 +9,7 @@
 
 
 /* acosl = atanl (sqrtl(1 - x^2) / x) */
-ENTRY(__ieee754_acos)
+ENTRY(__ieee754_acosl)
 	fldt	4(%esp)			/* x */
 	fst	%st(1)
 	fmul	%st(0)			/* x^2 */
@@ -19,3 +19,4 @@ ENTRY(__ieee754_acos)
 	fxch	%st(1)
 	fpatan
 	ret
+PSEUDO_END (__ieee754_acosl)
diff --git a/sysdeps/libm-i387/e_asin.S b/sysdeps/libm-i387/e_asin.S
index dfcd7bce95..cba41935d5 100644
--- a/sysdeps/libm-i387/e_asin.S
+++ b/sysdeps/libm-i387/e_asin.S
@@ -17,3 +17,4 @@ ENTRY(__ieee754_asin)
 	fsqrt				/* sqrt (1 - x^2) */
 	fpatan
 	ret
+PSEUDO_END (__ieee754_asin)
diff --git a/sysdeps/libm-i387/e_asinl.S b/sysdeps/libm-i387/e_asinl.S
index 7a90c3e63a..d4e254874e 100644
--- a/sysdeps/libm-i387/e_asinl.S
+++ b/sysdeps/libm-i387/e_asinl.S
@@ -19,3 +19,4 @@ ENTRY(__ieee754_asinl)
 	fsqrt				/* sqrt (1 - x^2) */
 	fpatan
 	ret
+PSEUDO_END (__ieee754_asinl)
diff --git a/sysdeps/libm-i387/e_atan2.S b/sysdeps/libm-i387/e_atan2.S
index da2e11925c..6f7fc74b65 100644
--- a/sysdeps/libm-i387/e_atan2.S
+++ b/sysdeps/libm-i387/e_atan2.S
@@ -12,3 +12,4 @@ ENTRY(__ieee754_atan2)
 	fldl	12(%esp)
 	fpatan
 	ret
+PSEUDO_END (__ieee754_atan2)
diff --git a/sysdeps/libm-i387/e_atan2f.S b/sysdeps/libm-i387/e_atan2f.S
index 21fc0d9a57..bb6d902172 100644
--- a/sysdeps/libm-i387/e_atan2f.S
+++ b/sysdeps/libm-i387/e_atan2f.S
@@ -12,3 +12,4 @@ ENTRY(__ieee754_atan2f)
 	flds	8(%esp)
 	fpatan
 	ret
+PSEUDO_END (__ieee754_atan2f)
diff --git a/sysdeps/libm-i387/e_atan2l.S b/sysdeps/libm-i387/e_atan2l.S
index 748571e38e..860885ced1 100644
--- a/sysdeps/libm-i387/e_atan2l.S
+++ b/sysdeps/libm-i387/e_atan2l.S
@@ -14,3 +14,4 @@ ENTRY(__ieee754_atan2l)
 	fldt	16(%esp)
 	fpatan
 	ret
+PSEUDO_END (__ieee754_atan2l)
diff --git a/sysdeps/libm-i387/e_exp.S b/sysdeps/libm-i387/e_exp.S
index 144748e820..dad201fb3f 100644
--- a/sysdeps/libm-i387/e_exp.S
+++ b/sysdeps/libm-i387/e_exp.S
@@ -12,6 +12,7 @@ ENTRY(__ieee754_exp)
 	fldl	4(%esp)
 /* I added the following ugly construct because exp(+-Inf) resulted
    in NaN.  The ugliness results from the bright minds at Intel.
+   For the i686 the code can be written better.
    -- drepper@cygnus.com.  */
 	fxam				/* Is NaN or +-Inf?  */
 	fstsw	%ax
@@ -36,3 +37,4 @@ ENTRY(__ieee754_exp)
 	jz	.LpInf			/* If positive, jump.  */
 	fldz				/* Set result to 0.  */
 .LpInf:	ret
+PSEUDO_END (__ieee754_exp)
diff --git a/sysdeps/libm-i387/e_expl.S b/sysdeps/libm-i387/e_expl.S
index d14089828d..2884efa6ce 100644
--- a/sysdeps/libm-i387/e_expl.S
+++ b/sysdeps/libm-i387/e_expl.S
@@ -14,6 +14,7 @@ ENTRY(__ieee754_expl)
 	fldt	4(%esp)
 /* I added the following ugly construct because expl(+-Inf) resulted
    in NaN.  The ugliness results from the bright minds at Intel.
+   For the i686 the code can be written better.
    -- drepper@cygnus.com.  */
 	fxam				/* Is NaN or +-Inf?  */
 	fstsw	%ax
@@ -38,3 +39,4 @@ ENTRY(__ieee754_expl)
 	jz	.LpInf			/* If positive, jump.  */
 	fldz				/* Set result to 0.  */
 .LpInf:	ret
+PSEUDO_END (__ieee754_expl)
diff --git a/sysdeps/libm-i387/e_fmod.S b/sysdeps/libm-i387/e_fmod.S
index c02df44e18..c4d7535a7c 100644
--- a/sysdeps/libm-i387/e_fmod.S
+++ b/sysdeps/libm-i387/e_fmod.S
@@ -16,3 +16,4 @@ ENTRY(__ieee754_fmod)
 	jp	1b
 	fstpl	%st(1)
 	ret
+PSEUDO_END (__ieee754_fmod)
diff --git a/sysdeps/libm-i387/e_fmodl.S b/sysdeps/libm-i387/e_fmodl.S
index 75ed17b9e5..8c2bd06b0a 100644
--- a/sysdeps/libm-i387/e_fmodl.S
+++ b/sysdeps/libm-i387/e_fmodl.S
@@ -18,3 +18,4 @@ ENTRY(__ieee754_fmodl)
 	jp	1b
 	fstpl	%st(1)
 	ret
+PSEUDO_END (__ieee754_fmodl)
diff --git a/sysdeps/libm-i387/e_log.S b/sysdeps/libm-i387/e_log.S
index 98d569ea43..2a51d7520c 100644
--- a/sysdeps/libm-i387/e_log.S
+++ b/sysdeps/libm-i387/e_log.S
@@ -12,3 +12,4 @@ ENTRY(__ieee754_log)
 	fldl	4(%esp)
 	fyl2x
 	ret
+PSEUDO_END (__ieee754_log)
diff --git a/sysdeps/libm-i387/e_log10.S b/sysdeps/libm-i387/e_log10.S
index 612344be56..17b3067de5 100644
--- a/sysdeps/libm-i387/e_log10.S
+++ b/sysdeps/libm-i387/e_log10.S
@@ -12,3 +12,4 @@ ENTRY(__ieee754_log10)
 	fldl	4(%esp)
 	fyl2x
 	ret
+PSEUDO_END (__ieee754_log10)
diff --git a/sysdeps/libm-i387/e_log10l.S b/sysdeps/libm-i387/e_log10l.S
index 0a19256933..cfddb5ce2a 100644
--- a/sysdeps/libm-i387/e_log10l.S
+++ b/sysdeps/libm-i387/e_log10l.S
@@ -14,3 +14,4 @@ ENTRY(__ieee754_log10l)
 	fldt	4(%esp)
 	fyl2x
 	ret
+PSEUDO_END(__ieee754_log10l)
diff --git a/sysdeps/libm-i387/e_logl.S b/sysdeps/libm-i387/e_logl.S
index 2575d6c6e8..4c1550e929 100644
--- a/sysdeps/libm-i387/e_logl.S
+++ b/sysdeps/libm-i387/e_logl.S
@@ -14,3 +14,4 @@ ENTRY(__ieee754_logl)
 	fldt	4(%esp)
 	fyl2x
 	ret
+PSEUDO_END(__ieee754_logl)
diff --git a/sysdeps/libm-i387/e_remainder.S b/sysdeps/libm-i387/e_remainder.S
index d14f2e82bd..287b616ff7 100644
--- a/sysdeps/libm-i387/e_remainder.S
+++ b/sysdeps/libm-i387/e_remainder.S
@@ -16,3 +16,4 @@ ENTRY(__ieee754_remainder)
 	jp	1b
 	fstpl	%st(1)
 	ret
+PSEUDO_END (__ieee754_remainder)
diff --git a/sysdeps/libm-i387/e_remainderf.S b/sysdeps/libm-i387/e_remainderf.S
index ed578ea542..cdc1ac8b6f 100644
--- a/sysdeps/libm-i387/e_remainderf.S
+++ b/sysdeps/libm-i387/e_remainderf.S
@@ -16,3 +16,4 @@ ENTRY(__ieee754_remainderf)
 	jp	1b
 	fstpl	%st(1)
 	ret
+PSEUDO_END (__ieee754_remainderf)
diff --git a/sysdeps/libm-i387/e_remainderl.S b/sysdeps/libm-i387/e_remainderl.S
index ce98515167..2c32550708 100644
--- a/sysdeps/libm-i387/e_remainderl.S
+++ b/sysdeps/libm-i387/e_remainderl.S
@@ -17,3 +17,4 @@ ENTRY(__ieee754_remainderl)
 	sahf
 	jp	1b
 	ret
+PSEUDO_END (__ieee754_remainderl)
diff --git a/sysdeps/libm-i387/e_scalb.S b/sysdeps/libm-i387/e_scalb.S
index 7d95f8e3b3..0aed96d1c5 100644
--- a/sysdeps/libm-i387/e_scalb.S
+++ b/sysdeps/libm-i387/e_scalb.S
@@ -12,3 +12,4 @@ ENTRY(__ieee754_scalb)
 	fldl	4(%esp)
 	fscale
 	ret
+PSEUDO_END(__ieee754_scalb)
diff --git a/sysdeps/libm-i387/e_scalbl.S b/sysdeps/libm-i387/e_scalbl.S
index 8d5cd3b429..40d6ff028f 100644
--- a/sysdeps/libm-i387/e_scalbl.S
+++ b/sysdeps/libm-i387/e_scalbl.S
@@ -14,3 +14,4 @@ ENTRY(__ieee754_scalbl)
 	fldt	4(%esp)
 	fscale
 	ret
+PSEUDO_END(__ieee754_scalbl)
diff --git a/sysdeps/libm-i387/e_sqrt.S b/sysdeps/libm-i387/e_sqrt.S
index 34fe9b7136..170363fa87 100644
--- a/sysdeps/libm-i387/e_sqrt.S
+++ b/sysdeps/libm-i387/e_sqrt.S
@@ -11,3 +11,4 @@ ENTRY(__ieee754_sqrt)
 	fldl	4(%esp)
 	fsqrt
 	ret
+PSEUDO_END (__ieee754_sqrt)
diff --git a/sysdeps/libm-i387/e_sqrtf.S b/sysdeps/libm-i387/e_sqrtf.S
index d20c4c1254..f13c129aa0 100644
--- a/sysdeps/libm-i387/e_sqrtf.S
+++ b/sysdeps/libm-i387/e_sqrtf.S
@@ -11,3 +11,4 @@ ENTRY(__ieee754_sqrtf)
 	flds	4(%esp)
 	fsqrt
 	ret
+PSEUDO_END (__ieee754_sqrtf)
diff --git a/sysdeps/libm-i387/e_sqrtl.S b/sysdeps/libm-i387/e_sqrtl.S
index 88e5f82a0c..56947e16f8 100644
--- a/sysdeps/libm-i387/e_sqrtl.S
+++ b/sysdeps/libm-i387/e_sqrtl.S
@@ -13,3 +13,4 @@ ENTRY(__ieee754_sqrtl)
 	fldt	4(%esp)
 	fsqrt
 	ret
+PSEUDO_END (__ieee754_sqrtl)
diff --git a/sysdeps/libm-i387/s_atan.S b/sysdeps/libm-i387/s_atan.S
index 4dcd54fdaf..f670031877 100644
--- a/sysdeps/libm-i387/s_atan.S
+++ b/sysdeps/libm-i387/s_atan.S
@@ -12,4 +12,5 @@ ENTRY(__atan)
 	fld1
 	fpatan
 	ret
+PSEUDO_END (__atan)
 weak_alias (__atan, atan)
diff --git a/sysdeps/libm-i387/s_atanf.S b/sysdeps/libm-i387/s_atanf.S
index d00593db7c..803b7f972d 100644
--- a/sysdeps/libm-i387/s_atanf.S
+++ b/sysdeps/libm-i387/s_atanf.S
@@ -12,4 +12,5 @@ ENTRY(__atanf)
 	fld1
 	fpatan
 	ret
+PSEUDO_END (__atanf)
 weak_alias (__atanf, atanf)
diff --git a/sysdeps/libm-i387/s_atanl.S b/sysdeps/libm-i387/s_atanl.S
index 867e60b1c2..59f139005a 100644
--- a/sysdeps/libm-i387/s_atanl.S
+++ b/sysdeps/libm-i387/s_atanl.S
@@ -14,4 +14,5 @@ ENTRY(__atanl)
 	fld1
 	fpatan
 	ret
+PSEUDO_END (__atanl)
 weak_alias (__atanl, atanl)
diff --git a/sysdeps/libm-i387/s_ceil.S b/sysdeps/libm-i387/s_ceil.S
index eabe662a6c..a500b07d31 100644
--- a/sysdeps/libm-i387/s_ceil.S
+++ b/sysdeps/libm-i387/s_ceil.S
@@ -13,10 +13,14 @@ ENTRY(__ceil)
 	subl	$8,%esp
 
 	fstcw	-4(%ebp)		/* store fpu control word */
-	movw	-4(%ebp),%dx
-	orw	$0x0800,%dx		/* round towards +oo */
-	andw	$0xfbff,%dx
-	movw	%dx,-8(%ebp)
+
+	/* We use here %edx although only the low 1 bits are defined.
+	   But none of the operations should care and they are faster
+	   than the 16 bit operations.  */
+	movl	-4(%ebp),%edx
+	orl	$0x0800,%edx		/* round towards +oo */
+	andl	$0xfbff,%edx
+	movl	%edx,-8(%ebp)
 	fldcw	-8(%ebp)		/* load modfied control word */
 
 	fldl	8(%ebp);		/* round */
@@ -26,4 +30,5 @@ ENTRY(__ceil)
 
 	leave
 	ret
+PSEUDO_END (__ceil)
 weak_alias (__ceil, ceil)
diff --git a/sysdeps/libm-i387/s_ceilf.S b/sysdeps/libm-i387/s_ceilf.S
index c2163abef1..4789b014d8 100644
--- a/sysdeps/libm-i387/s_ceilf.S
+++ b/sysdeps/libm-i387/s_ceilf.S
@@ -13,10 +13,14 @@ ENTRY(__ceilf)
 	subl	$8,%esp
 
 	fstcw	-4(%ebp)		/* store fpu control word */
-	movw	-4(%ebp),%dx
-	orw	$0x0800,%dx		/* round towards +oo */
-	andw	$0xfbff,%dx
-	movw	%dx,-8(%ebp)
+
+	/* We use here %edx although only the low 1 bits are defined.
+	   But none of the operations should care and they are faster
+	   than the 16 bit operations.  */
+	movl	-4(%ebp),%edx
+	orl	$0x0800,%edx		/* round towards +oo */
+	andl	$0xfbff,%edx
+	movl	%edx,-8(%ebp)
 	fldcw	-8(%ebp)		/* load modfied control word */
 
 	flds	8(%ebp);		/* round */
@@ -26,4 +30,5 @@ ENTRY(__ceilf)
 
 	leave
 	ret
+PSEUDO_END (__ceilf)
 weak_alias (__ceilf, ceilf)
diff --git a/sysdeps/libm-i387/s_ceill.S b/sysdeps/libm-i387/s_ceill.S
index fd7bd38752..a02a54768d 100644
--- a/sysdeps/libm-i387/s_ceill.S
+++ b/sysdeps/libm-i387/s_ceill.S
@@ -14,10 +14,14 @@ ENTRY(__ceill)
 	subl	$8,%esp
 
 	fstcw	-4(%ebp)		/* store fpu control word */
-	movw	-4(%ebp),%dx
-	orw	$0x0800,%dx		/* round towards +oo */
-	andw	$0xfbff,%dx
-	movw	%dx,-8(%ebp)
+
+	/* We use here %edx although only the low 1 bits are defined.
+	   But none of the operations should care and they are faster
+	   than the 16 bit operations.  */
+	movl	-4(%ebp),%edx
+	orl	$0x0800,%edx		/* round towards +oo */
+	andl	$0xfbff,%edx
+	movl	%edx,-8(%ebp)
 	fldcw	-8(%ebp)		/* load modfied control word */
 
 	fldt	8(%ebp);		/* round */
@@ -27,4 +31,5 @@ ENTRY(__ceill)
 
 	leave
 	ret
+PSEUDO_END (__ceill)
 weak_alias (__ceill, ceill)
diff --git a/sysdeps/libm-i387/s_copysign.S b/sysdeps/libm-i387/s_copysign.S
index 0de3affa46..45b86f58c8 100644
--- a/sysdeps/libm-i387/s_copysign.S
+++ b/sysdeps/libm-i387/s_copysign.S
@@ -9,11 +9,12 @@ RCSID("$NetBSD: s_copysign.S,v 1.4 1995/05/08 23:53:02 jtc Exp $")
 
 ENTRY(__copysign)
 	movl	16(%esp),%edx
-	andl	$0x80000000,%edx
 	movl	8(%esp),%eax
+	andl	$0x80000000,%edx
 	andl	$0x7fffffff,%eax
 	orl	%edx,%eax
 	movl	%eax,8(%esp)
 	fldl	4(%esp)
 	ret
+PSEUDO_END (__copysign)
 weak_alias (__copysign, copysign)
diff --git a/sysdeps/libm-i387/s_copysignf.S b/sysdeps/libm-i387/s_copysignf.S
index a55cd37444..4844a2b879 100644
--- a/sysdeps/libm-i387/s_copysignf.S
+++ b/sysdeps/libm-i387/s_copysignf.S
@@ -9,11 +9,12 @@ RCSID("$NetBSD: s_copysignf.S,v 1.3 1995/05/08 23:53:25 jtc Exp $")
 
 ENTRY(__copysignf)
 	movl	8(%esp),%edx
-	andl	$0x80000000,%edx
 	movl	4(%esp),%eax
+	andl	$0x80000000,%edx
 	andl	$0x7fffffff,%eax
 	orl	%edx,%eax
 	movl	%eax,4(%esp)
 	flds	4(%esp)
 	ret
+PSEUDO_END (__copysignf)
 weak_alias (__copysignf, copysignf)
diff --git a/sysdeps/libm-i387/s_copysignl.S b/sysdeps/libm-i387/s_copysignl.S
index f65f6842ea..37e34fe1b4 100644
--- a/sysdeps/libm-i387/s_copysignl.S
+++ b/sysdeps/libm-i387/s_copysignl.S
@@ -15,6 +15,7 @@ ENTRY(__copysignl)
 	andl	$0x7fff,%eax
 	orl	%edx,%eax
 	movl	%eax,12(%esp)
-	fldl	4(%esp)
+	fldt	4(%esp)
 	ret
+PSEUDO_END (__copysignl)
 weak_alias (__copysignl, copysignl)
diff --git a/sysdeps/libm-i387/s_cos.S b/sysdeps/libm-i387/s_cos.S
index 0ccf8bc6e6..6b47e80d2e 100644
--- a/sysdeps/libm-i387/s_cos.S
+++ b/sysdeps/libm-i387/s_cos.S
@@ -13,7 +13,7 @@ ENTRY(__cos)
 	fnstsw	%ax
 	andw	$0x400,%ax
 	jnz	1f
-	ret	
+	ret
 1:	fldpi
 	fadd	%st(0)
 	fxch	%st(1)
@@ -24,4 +24,5 @@ ENTRY(__cos)
 	fstp	%st(1)
 	fcos
 	ret
+PSEUDO_END (__cos)
 weak_alias (__cos, cos)
diff --git a/sysdeps/libm-i387/s_cosf.S b/sysdeps/libm-i387/s_cosf.S
index a200e04fbe..a2bd0e5fa9 100644
--- a/sysdeps/libm-i387/s_cosf.S
+++ b/sysdeps/libm-i387/s_cosf.S
@@ -11,5 +11,6 @@ RCSID("$NetBSD: s_cosf.S,v 1.3 1995/05/08 23:55:16 jtc Exp $")
 ENTRY(__cosf)
 	flds	4(%esp)
 	fcos
-	ret	
+	ret
+PSEUDO_END (__cosf)
 weak_alias (__cosf, cosf)
diff --git a/sysdeps/libm-i387/s_cosl.S b/sysdeps/libm-i387/s_cosl.S
index e2c22428b2..2ddb549b77 100644
--- a/sysdeps/libm-i387/s_cosl.S
+++ b/sysdeps/libm-i387/s_cosl.S
@@ -26,4 +26,5 @@ ENTRY(__cosl)
 	fstp	%st(1)
 	fcos
 	ret
+PSEUDO_END (__cosl)
 weak_alias (__cosl, cosl)
diff --git a/sysdeps/libm-i387/s_finite.S b/sysdeps/libm-i387/s_finite.S
index 233155e4d6..538fec94e1 100644
--- a/sysdeps/libm-i387/s_finite.S
+++ b/sysdeps/libm-i387/s_finite.S
@@ -14,4 +14,5 @@ ENTRY(__finite)
 	setne	%al
 	andl	$0x000000ff, %eax
 	ret
+PSEUDO_END (__finite)
 weak_alias (__finite, finite)
diff --git a/sysdeps/libm-i387/s_finitef.S b/sysdeps/libm-i387/s_finitef.S
index 28a0a40308..cb0caabf6f 100644
--- a/sysdeps/libm-i387/s_finitef.S
+++ b/sysdeps/libm-i387/s_finitef.S
@@ -14,4 +14,5 @@ ENTRY(__finitef)
 	setne	%al
 	andl	$0x000000ff, %eax
 	ret
+PSEUDO_END (__finitef)
 weak_alias (__finitef, finitef)
diff --git a/sysdeps/libm-i387/s_finitel.S b/sysdeps/libm-i387/s_finitel.S
index d163965c0d..7af80475ae 100644
--- a/sysdeps/libm-i387/s_finitel.S
+++ b/sysdeps/libm-i387/s_finitel.S
@@ -16,4 +16,5 @@ ENTRY(__finitel)
 	setne	%al
 	andl	$0x000000ff, %eax
 	ret
+PSEUDO_END (__finitel)
 weak_alias (__finitel, finitel)
diff --git a/sysdeps/libm-i387/s_floor.S b/sysdeps/libm-i387/s_floor.S
index 66e688f7f7..7599303f3d 100644
--- a/sysdeps/libm-i387/s_floor.S
+++ b/sysdeps/libm-i387/s_floor.S
@@ -26,4 +26,5 @@ ENTRY(__floor)
 
 	leave
 	ret
+PSEUDO_END (__floor)
 weak_alias (__floor, floor)
diff --git a/sysdeps/libm-i387/s_floorf.S b/sysdeps/libm-i387/s_floorf.S
index 4b10f74e4f..c45d82e302 100644
--- a/sysdeps/libm-i387/s_floorf.S
+++ b/sysdeps/libm-i387/s_floorf.S
@@ -26,4 +26,5 @@ ENTRY(__floorf)
 
 	leave
 	ret
+PSEUDO_END (__floorf)
 weak_alias (__floorf, floorf)
diff --git a/sysdeps/libm-i387/s_floorl.S b/sysdeps/libm-i387/s_floorl.S
index af52ffcacf..ae4ba2ea4d 100644
--- a/sysdeps/libm-i387/s_floorl.S
+++ b/sysdeps/libm-i387/s_floorl.S
@@ -27,4 +27,5 @@ ENTRY(__floorl)
 
 	leave
 	ret
+PSEUDO_END (__floorl)
 weak_alias (__floorl, floorl)
diff --git a/sysdeps/libm-i387/s_ilogb.S b/sysdeps/libm-i387/s_ilogb.S
index f11ed585c0..6fb51d913f 100644
--- a/sysdeps/libm-i387/s_ilogb.S
+++ b/sysdeps/libm-i387/s_ilogb.S
@@ -21,4 +21,5 @@ ENTRY(__ilogb)
 
 	leave
 	ret
+PSEUDO_END (__ilogb)
 weak_alias (__ilogb, ilogb)
diff --git a/sysdeps/libm-i387/s_ilogbf.S b/sysdeps/libm-i387/s_ilogbf.S
index 5a61d28630..71e4f42c9a 100644
--- a/sysdeps/libm-i387/s_ilogbf.S
+++ b/sysdeps/libm-i387/s_ilogbf.S
@@ -21,4 +21,5 @@ ENTRY(__ilogbf)
 
 	leave
 	ret
+PSEUDO_END (__ilogbf)
 weak_alias (__ilogbf, ilogbf)
diff --git a/sysdeps/libm-i387/s_ilogbl.S b/sysdeps/libm-i387/s_ilogbl.S
index 11c81011c6..2b841463df 100644
--- a/sysdeps/libm-i387/s_ilogbl.S
+++ b/sysdeps/libm-i387/s_ilogbl.S
@@ -21,4 +21,5 @@ ENTRY(__ilogbl)
 
 	leave
 	ret
+PSEUDO_END (__ilogbl)
 weak_alias (__ilogbl, ilogbl)
diff --git a/sysdeps/libm-i387/s_log1p.S b/sysdeps/libm-i387/s_log1p.S
index c4aee4aa9c..ce8665d3a5 100644
--- a/sysdeps/libm-i387/s_log1p.S
+++ b/sysdeps/libm-i387/s_log1p.S
@@ -10,7 +10,7 @@ RCSID("$NetBSD: s_log1p.S,v 1.7 1995/05/09 00:10:58 jtc Exp $")
 /*
  * Since the fyl2xp1 instruction has such a limited range:
  *	-(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
- * it's not worth trying to use it.  
+ * it's not worth trying to use it.
  */
 
 ENTRY(__log1p)
@@ -20,4 +20,5 @@ ENTRY(__log1p)
 	faddp
 	fyl2x
 	ret
+PSEUDO_END (__log1p)
 weak_alias (__log1p, log1p)
diff --git a/sysdeps/libm-i387/s_log1pf.S b/sysdeps/libm-i387/s_log1pf.S
index e268550ae8..7a161f26f9 100644
--- a/sysdeps/libm-i387/s_log1pf.S
+++ b/sysdeps/libm-i387/s_log1pf.S
@@ -10,7 +10,7 @@ RCSID("$NetBSD: s_log1pf.S,v 1.4 1995/05/09 00:13:05 jtc Exp $")
 /*
  * Since the fyl2xp1 instruction has such a limited range:
  *	-(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
- * it's not worth trying to use it.  
+ * it's not worth trying to use it.
  */
 
 ENTRY(__log1pf)
@@ -20,4 +20,5 @@ ENTRY(__log1pf)
 	faddp
 	fyl2x
 	ret
+PSEUDO_END (__log1pf)
 weak_alias (__log1pf, log1pf)
diff --git a/sysdeps/libm-i387/s_log1pl.S b/sysdeps/libm-i387/s_log1pl.S
index 4a9faf7ba4..647e136413 100644
--- a/sysdeps/libm-i387/s_log1pl.S
+++ b/sysdeps/libm-i387/s_log1pl.S
@@ -22,4 +22,5 @@ ENTRY(__log1pl)
 	faddp
 	fyl2x
 	ret
+PSEUDO_END (__log1pl)
 weak_alias (__log1pl, log1pl)
diff --git a/sysdeps/libm-i387/s_logb.S b/sysdeps/libm-i387/s_logb.S
index 4f071e0552..92d8fee85c 100644
--- a/sysdeps/libm-i387/s_logb.S
+++ b/sysdeps/libm-i387/s_logb.S
@@ -12,4 +12,5 @@ ENTRY(__logb)
 	fxtract
 	fstpl	%st
 	ret
+PSEUDO_END (__logb)
 weak_alias (__logb, logb)
diff --git a/sysdeps/libm-i387/s_logbf.S b/sysdeps/libm-i387/s_logbf.S
index ecdd0aea6f..b557974a82 100644
--- a/sysdeps/libm-i387/s_logbf.S
+++ b/sysdeps/libm-i387/s_logbf.S
@@ -12,4 +12,5 @@ ENTRY(__logbf)
 	fxtract
 	fstpl	%st
 	ret
+PSEUDO_END (__logbf)
 weak_alias (__logbf, logbf)
diff --git a/sysdeps/libm-i387/s_logbl.S b/sysdeps/libm-i387/s_logbl.S
index e72b1fb941..91bddb6b3a 100644
--- a/sysdeps/libm-i387/s_logbl.S
+++ b/sysdeps/libm-i387/s_logbl.S
@@ -12,4 +12,5 @@ ENTRY(__logbl)
 	fldt	4(%esp)
 	fxtract
 	ret
+PSEUDO_END (__logbl)
 weak_alias (__logbl, logbl)
diff --git a/sysdeps/libm-i387/s_rint.S b/sysdeps/libm-i387/s_rint.S
index 2f09a47b00..9231fef32d 100644
--- a/sysdeps/libm-i387/s_rint.S
+++ b/sysdeps/libm-i387/s_rint.S
@@ -11,4 +11,5 @@ ENTRY(__rint)
 	fldl	4(%esp)
 	frndint
 	ret
+PSEUDO_END (__rint)
 weak_alias (__rint, rint)
diff --git a/sysdeps/libm-i387/s_rintf.S b/sysdeps/libm-i387/s_rintf.S
index de64d7996a..3e35f2c822 100644
--- a/sysdeps/libm-i387/s_rintf.S
+++ b/sysdeps/libm-i387/s_rintf.S
@@ -11,4 +11,5 @@ ENTRY(__rintf)
 	flds	4(%esp)
 	frndint
 	ret
+PSEUDO_END (__rintf)
 weak_alias (__rintf, rintf)
diff --git a/sysdeps/libm-i387/s_rintl.S b/sysdeps/libm-i387/s_rintl.S
index aec09a6ec4..a8198d3d7f 100644
--- a/sysdeps/libm-i387/s_rintl.S
+++ b/sysdeps/libm-i387/s_rintl.S
@@ -12,4 +12,5 @@ ENTRY(__rintl)
 	fldt	4(%esp)
 	frndint
 	ret
+PSEUDO_END (__rintl)
 weak_alias (__rintl, rintl)
diff --git a/sysdeps/libm-i387/s_scalbn.S b/sysdeps/libm-i387/s_scalbn.S
index 99ecac63b5..4a4149500c 100644
--- a/sysdeps/libm-i387/s_scalbn.S
+++ b/sysdeps/libm-i387/s_scalbn.S
@@ -12,4 +12,5 @@ ENTRY(__scalbn)
 	fldl	4(%esp)
 	fscale
 	ret
+PSEUDO_END (__scalbn)
 weak_alias (__scalbn, scalbn)
diff --git a/sysdeps/libm-i387/s_scalbnf.S b/sysdeps/libm-i387/s_scalbnf.S
index 0203e91c55..080304d574 100644
--- a/sysdeps/libm-i387/s_scalbnf.S
+++ b/sysdeps/libm-i387/s_scalbnf.S
@@ -12,4 +12,5 @@ ENTRY(__scalbnf)
 	flds	4(%esp)
 	fscale
 	ret
+PSEUDO_END (__scalbnf)
 weak_alias (__scalbnf, scalbnf)
diff --git a/sysdeps/libm-i387/s_scalbnl.S b/sysdeps/libm-i387/s_scalbnl.S
index b5fdf820d3..adf1dea604 100644
--- a/sysdeps/libm-i387/s_scalbnl.S
+++ b/sysdeps/libm-i387/s_scalbnl.S
@@ -13,4 +13,5 @@ ENTRY(__scalbnl)
 	fldt	4(%esp)
 	fscale
 	ret
+PSEUDO_END (__scalbnl)
 weak_alias (__scalbnl, scalbnl)
diff --git a/sysdeps/libm-i387/s_significand.S b/sysdeps/libm-i387/s_significand.S
index 09f3a0a9f4..ff72b88560 100644
--- a/sysdeps/libm-i387/s_significand.S
+++ b/sysdeps/libm-i387/s_significand.S
@@ -12,4 +12,5 @@ ENTRY(__significand)
 	fxtract
 	fstpl	%st(1)
 	ret
+PSEUDO_END (__significand)
 weak_alias (__significand, significand)
diff --git a/sysdeps/libm-i387/s_significandf.S b/sysdeps/libm-i387/s_significandf.S
index b678bc524c..af92886501 100644
--- a/sysdeps/libm-i387/s_significandf.S
+++ b/sysdeps/libm-i387/s_significandf.S
@@ -12,4 +12,5 @@ ENTRY(__significandf)
 	fxtract
 	fstpl	%st(1)
 	ret
+PSEUDO_END (__significandf)
 weak_alias (__significandf, significandf)
diff --git a/sysdeps/libm-i387/s_significandl.S b/sysdeps/libm-i387/s_significandl.S
index e512f54fb2..1483a0dec2 100644
--- a/sysdeps/libm-i387/s_significandl.S
+++ b/sysdeps/libm-i387/s_significandl.S
@@ -11,6 +11,7 @@ RCSID("$NetBSD: $")
 ENTRY(__significandl)
 	fldt	4(%esp)
 	fxtract
-	fstpt	%st(1)
+	fincstp
 	ret
+PSEUDO_END (__significandl)
 weak_alias (__significandl, significandl)
diff --git a/sysdeps/libm-i387/s_sin.S b/sysdeps/libm-i387/s_sin.S
index 79284959a1..f06c9440ad 100644
--- a/sysdeps/libm-i387/s_sin.S
+++ b/sysdeps/libm-i387/s_sin.S
@@ -24,4 +24,5 @@ ENTRY(__sin)
 	fstp	%st(1)
 	fsin
 	ret
+PSEUDO_END (__sin)
 weak_alias (__sin, sin)
diff --git a/sysdeps/libm-i387/s_sinf.S b/sysdeps/libm-i387/s_sinf.S
index 03a42cbb26..464ccb2b8a 100644
--- a/sysdeps/libm-i387/s_sinf.S
+++ b/sysdeps/libm-i387/s_sinf.S
@@ -12,4 +12,5 @@ ENTRY(__sinf)
 	flds	4(%esp)
 	fsin
 	ret
+PSEUDO_END (__sinf)
 weak_alias (__sinf, sinf)
diff --git a/sysdeps/libm-i387/s_sinl.S b/sysdeps/libm-i387/s_sinl.S
index 03c9c874b9..2872334881 100644
--- a/sysdeps/libm-i387/s_sinl.S
+++ b/sysdeps/libm-i387/s_sinl.S
@@ -26,4 +26,5 @@ ENTRY(__sinl)
 	fstp	%st(1)
 	fsin
 	ret
+PSEUDO_END (__sinl)
 weak_alias (__sinl, sinl)
diff --git a/sysdeps/libm-i387/s_tan.S b/sysdeps/libm-i387/s_tan.S
index 9474c8cfc2..9333671873 100644
--- a/sysdeps/libm-i387/s_tan.S
+++ b/sysdeps/libm-i387/s_tan.S
@@ -26,4 +26,5 @@ ENTRY(__tan)
 	fptan
 	fstp	%st(0)
 	ret
+PSEUDO_END (__tan)
 weak_alias (__tan, tan)
diff --git a/sysdeps/libm-i387/s_tanf.S b/sysdeps/libm-i387/s_tanf.S
index 3296434174..cbf8dd8496 100644
--- a/sysdeps/libm-i387/s_tanf.S
+++ b/sysdeps/libm-i387/s_tanf.S
@@ -13,4 +13,5 @@ ENTRY(__tanf)
 	fptan
 	fstp	%st(0)
 	ret
+PSEUDO_END (__tanf)
 weak_alias (__tanf, tanf)
diff --git a/sysdeps/libm-i387/s_tanl.S b/sysdeps/libm-i387/s_tanl.S
index 6b1532af9e..c818e96f88 100644
--- a/sysdeps/libm-i387/s_tanl.S
+++ b/sysdeps/libm-i387/s_tanl.S
@@ -28,4 +28,5 @@ ENTRY(__tanl)
 	fptan
 	fstp	%st(0)
 	ret
+PSEUDO_END (__tanl)
 weak_alias (__tanl, tanl)