aio: Remove support for BROKEN_THREAD_SIGNALS
[glibc.git] / sysdeps / i386 / fpu / e_asinf.S
blob1102bdedfd327d3b31b8dcdb0974789a9a55cb99
1 /*
2  * Written by J.T. Conklin <jtc@netbsd.org>.
3  * Public domain.
4  * Adapted for float type by Ulrich Drepper <drepper@cygnus.com>.
5  */
7 #include <machine/asm.h>
8 #include <i386-math-asm.h>
10 RCSID("$NetBSD: $")
12         .section .rodata.cst4,"aM",@progbits,4
14 DEFINE_FLT_MIN
16 #ifdef PIC
17 # define MO(op) op##@GOTOFF(%ecx)
18 #else
19 # define MO(op) op
20 #endif
22         .text
24 /* asin = atan (x / sqrt(1 - x^2)) */
25 ENTRY(__ieee754_asinf)
26 #ifdef  PIC
27         LOAD_PIC_REG (cx)
28 #endif
29         flds    4(%esp)                 /* x */
30         fld     %st
31         fmul    %st(0)                  /* x^2 */
32         fld1
33         fsubp                           /* 1 - x^2 */
34         fsqrt                           /* sqrt (1 - x^2) */
35         fpatan
36         FLT_CHECK_FORCE_UFLOW
37         ret
38 END (__ieee754_asinf)
39 strong_alias (__ieee754_asinf, __asinf_finite)