diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2016-10-09 19:21:56 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2016-10-09 19:21:56 +0200 |
commit | 525c181a5a9a95e24d2111b7792608151a40eb84 (patch) | |
tree | 8ba16eeb3fb7327e5c3c5bba9c5786d4bb6ccec1 /sysdeps/i386/fpu/e_exp2l.S | |
parent | 4dd9e35bfd35d3138bc44169baba098005bad51e (diff) | |
parent | 7bb5f8a836b916d6ebf7b6921b136e99cea2442d (diff) |
Merge commit 'refs/top-bases/t/bigmem' into t/bigmem
Diffstat (limited to 'sysdeps/i386/fpu/e_exp2l.S')
-rw-r--r-- | sysdeps/i386/fpu/e_exp2l.S | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sysdeps/i386/fpu/e_exp2l.S b/sysdeps/i386/fpu/e_exp2l.S index 2bf9a25727..c4cb73d589 100644 --- a/sysdeps/i386/fpu/e_exp2l.S +++ b/sysdeps/i386/fpu/e_exp2l.S @@ -5,8 +5,21 @@ */ #include <machine/asm.h> +#include <i386-math-asm.h> +DEFINE_LDBL_MIN + +#ifdef PIC +# define MO(op) op##@GOTOFF(%ecx) +#else +# define MO(op) op +#endif + + .text ENTRY(__ieee754_exp2l) +#ifdef PIC + LOAD_PIC_REG (cx) +#endif fldt 4(%esp) /* I added the following ugly construct because exp(+-Inf) resulted in NaN. The ugliness results from the bright minds at Intel. @@ -35,6 +48,7 @@ ENTRY(__ieee754_exp2l) faddp /* 2^(fract(x)) */ fscale /* e^x */ fstp %st(1) + LDBL_CHECK_FORCE_UFLOW_NONNEG_NAN ret 1: testl $0x200, %eax /* Test sign. */ |