diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:31:50 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:31:50 +0100 |
commit | d421cfc9bd0275f1d81bd8757b80ff568c7b2826 (patch) | |
tree | 46b47f0c1b7a64e2697516b627be8464d15ab797 /sysdeps/x86_64/fpu/e_expl.S | |
parent | 1cbf52cde38c2c2c2d8ffdd55cd73f864d79abda (diff) | |
parent | b4578bab30f72cddd2cf38abfb39f9c8dc892249 (diff) |
Merge commit 'refs/top-bases/t/no-hp-timing' into t/no-hp-timing
Diffstat (limited to 'sysdeps/x86_64/fpu/e_expl.S')
-rw-r--r-- | sysdeps/x86_64/fpu/e_expl.S | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sysdeps/x86_64/fpu/e_expl.S b/sysdeps/x86_64/fpu/e_expl.S index a919780390..1c21f03ddc 100644 --- a/sysdeps/x86_64/fpu/e_expl.S +++ b/sysdeps/x86_64/fpu/e_expl.S @@ -127,9 +127,20 @@ ENTRY(IEEE754_EXPL) #endif 3: FLDLOG /* 1 log2(base) */ fmul %st(1), %st /* 1 x log2(base) */ +#ifdef USE_AS_EXPM1L + /* Set round-to-nearest temporarily. */ + fstcw -4(%rsp) + movl $0xf3ff, %edx + andl -4(%rsp), %edx + movl %edx, -8(%rsp) + fldcw -8(%rsp) +#endif frndint /* 1 i */ fld %st(1) /* 2 x */ frndint /* 2 xi */ +#ifdef USE_AS_EXPM1L + fldcw -4(%rsp) +#endif fld %st(1) /* 3 i */ fldt MO(c0) /* 4 c0 */ fld %st(2) /* 5 xi */ |