5 #include <machine/asm.h>
6 #include <i386-math-asm.h>
7 #include <libm-alias-finite.h>
12 .type zero_nan,@object
15 nan: .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
16 .byte 0, 0, 0, 0, 0, 0, 0, 0x80
17 .byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
18 ASM_SIZE_DIRECTIVE(zero_nan)
22 # define MO(op) op##@GOTOFF(%ecx)
23 # define MOX(op,x,f) op##@GOTOFF(%ecx,x,f)
26 # define MOX(op,x,f) op(,x,f)
30 ENTRY(__ieee754_scalb)
67 andl $0x80000000, %edx
74 fldl MOX(zero_nan, %eax, 1)
77 /* The result is NaN, but we must not raise an exception.
87 /* The first parameter is a NaN. Return it. */
91 /* Return NaN and raise the invalid exception. */
98 libm_alias_finite (__ieee754_scalb, __scalb)