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)
71 lea zero_nan(%rip),%rdx
74 fldl zero_nan(%rax, 1)
78 /* The result is NaN; raise an exception for sNaN arguments. */
82 /* Return NaN and raise the invalid exception. */
89 strong_alias (__ieee754_scalbl, __scalbl_finite)