summaryrefslogtreecommitdiff
path: root/sysdeps/i386/fpu/e_asin.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/fpu/e_asin.S')
-rw-r--r--sysdeps/i386/fpu/e_asin.S25
1 files changed, 4 insertions, 21 deletions
diff --git a/sysdeps/i386/fpu/e_asin.S b/sysdeps/i386/fpu/e_asin.S
index ea8cb6f1b2..39c8b47da4 100644
--- a/sysdeps/i386/fpu/e_asin.S
+++ b/sysdeps/i386/fpu/e_asin.S
@@ -4,15 +4,11 @@
*/
#include <machine/asm.h>
+#include <i386-math-asm.h>
RCSID("$NetBSD: e_asin.S,v 1.4 1995/05/08 23:45:40 jtc Exp $")
- .section .rodata.cst8,"aM",@progbits,8
-
- .p2align 3
- .type dbl_min,@object
-dbl_min: .byte 0, 0, 0, 0, 0, 0, 0x10, 0
- ASM_SIZE_DIRECTIVE(dbl_min)
+DEFINE_DBL_MIN
#ifdef PIC
# define MO(op) op##@GOTOFF(%ecx)
@@ -36,20 +32,7 @@ ENTRY(__ieee754_asin)
fmulp /* 1 - x^2 */
fsqrt /* sqrt (1 - x^2) */
fpatan
- fldl MO(dbl_min)
- fld %st(1)
- fabs
- fucompp
- fnstsw
- sahf
- jnc 1f
- subl $8, %esp
- cfi_adjust_cfa_offset (8)
- fld %st(0)
- fmul %st(0)
- fstpl (%esp)
- addl $8, %esp
- cfi_adjust_cfa_offset (-8)
-1: ret
+ DBL_CHECK_FORCE_UFLOW
+ ret
END (__ieee754_asin)
strong_alias (__ieee754_asin, __asin_finite)