2 * Written by J.T. Conklin <jtc@netbsd.org>.
5 * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
6 * Adapted for x86-64 by Andreas Jaeger <aj@suse.de>
8 * Correct handling of y==-inf <drepper@gnu>
11 #include <machine/asm.h>
16 .type zero_nan,@object
19 nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
20 .byte 0, 0, 0, 0, 0, 0, 0, 0x80
21 .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
22 ASM_SIZE_DIRECTIVE(zero_nan)
26 # define MO(op) op##(%rip)
32 ENTRY(__ieee754_scalbl)
69 lea zero_nan(%rip),%rdx
72 fldl zero_nan(%rax, 1)
76 /* The result is NaN, but we must not raise an exception.
83 /* The first parameter is a NaN. Return it. */
87 /* Return NaN and raise the invalid exception. */
94 strong_alias (__ieee754_scalbl, __scalbl_finite)