diff options
Diffstat (limited to 'sysdeps/i386/fpu/e_exp2.S')
-rw-r--r-- | sysdeps/i386/fpu/e_exp2.S | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sysdeps/i386/fpu/e_exp2.S b/sysdeps/i386/fpu/e_exp2.S index f802cf8b98..fc16a96053 100644 --- a/sysdeps/i386/fpu/e_exp2.S +++ b/sysdeps/i386/fpu/e_exp2.S @@ -5,8 +5,21 @@ */ #include <machine/asm.h> +#include <i386-math-asm.h> +DEFINE_DBL_MIN + +#ifdef PIC +# define MO(op) op##@GOTOFF(%ecx) +#else +# define MO(op) op +#endif + + .text ENTRY(__ieee754_exp2) +#ifdef PIC + LOAD_PIC_REG (cx) +#endif fldl 4(%esp) /* I added the following ugly construct because exp(+-Inf) resulted in NaN. The ugliness results from the bright minds at Intel. @@ -27,6 +40,7 @@ ENTRY(__ieee754_exp2) faddp /* 2^(fract(x)) */ fscale /* e^x */ fstp %st(1) + DBL_NARROW_EVAL_UFLOW_NONNEG_NAN ret 1: testl $0x200, %eax /* Test sign. */ |