2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
6 #include <_mingw_mac.h>
8 .file "internal_logl.S"
16 /* It is not important that this constant is precise. It is only
17 a value which is known to be on the safe side for using the
18 fyl2xp1 instruction. */
21 .globl __MINGW_USYMBOL(__logl_internal)
22 .def __MINGW_USYMBOL(__logl_internal); .scl 2; .type 32; .endef
23 __MINGW_USYMBOL(__logl_internal):
26 fldt (%rdx) // x : log(2)
27 fld %st // x : x : log(2)
28 fsubl one(%rip) // x-1 : x : log(2)
29 fld %st // x-1 : x-1 : x : log(2)
30 fabs // |x-1| : x-1 : x : log(2)
31 fcompl limit(%rip) // x-1 : x : log(2)
32 fnstsw // x-1 : x : log(2)
35 fstp %st(1) // x-1 : log(2)
42 2: fstp %st(0) // x : log(2)
50 fldt 4(%esp) // x : log(2)
51 fld %st // x : x : log(2)
52 fsubl one // x-1 : x : log(2)
53 fld %st // x-1 : x-1 : x : log(2)
54 fabs // |x-1| : x-1 : x : log(2)
55 fcompl limit // x-1 : x : log(2)
56 fnstsw // x-1 : x : log(2)
59 fstp %st(1) // x-1 : log(2)
63 2: fstp %st(0) // x : log(2)