diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-04-01 15:13:31 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-04-01 15:13:31 +0000 |
commit | e8eaba2b25948c0e60f70c33c5c52aad70bbf5fc (patch) | |
tree | 020566c0ffd2d27131ee7bac45eea5560a4732bd /sysdeps/ia64/fpu/e_exp.S | |
parent | e3166b6660ce5f0640242a4806a380bb651a2291 (diff) |
Updated to fedora-glibc-20050401T1444
Diffstat (limited to 'sysdeps/ia64/fpu/e_exp.S')
-rw-r--r-- | sysdeps/ia64/fpu/e_exp.S | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sysdeps/ia64/fpu/e_exp.S b/sysdeps/ia64/fpu/e_exp.S index 5ae8afeb99..d22fd18b77 100644 --- a/sysdeps/ia64/fpu/e_exp.S +++ b/sysdeps/ia64/fpu/e_exp.S @@ -1,7 +1,7 @@ .file "exp.s" -// Copyright (c) 2000 - 2002, Intel Corporation +// Copyright (c) 2000 - 2003, Intel Corporation // All rights reserved. // // Contributed 2000 by the Intel Numerics Group, Intel Corporation @@ -52,6 +52,7 @@ // 05/20/02 Cleaned up namespace and sf0 syntax // 09/07/02 Force inexact flag // 11/15/02 Split underflow path into zero/nonzero; eliminated fma in main path +// 05/30/03 Set inexact flag on unmasked overflow/underflow // API //============================================================== @@ -602,7 +603,7 @@ EXP_CERTAIN_OVERFLOW: } { .mfb mov GR_Parameter_TAG = 14 - fma.d.s0 FR_RESULT = fTmp, fTmp, f0 // Set I,O and +INF result + fma.d.s0 FR_RESULT = fTmp, fTmp, fTmp // Set I,O and +INF result br.cond.sptk __libm_error_region } ;; @@ -685,6 +686,13 @@ EXP_CERTAIN_UNDERFLOW: } ;; +{ .mfi + nop.m 0 + fmerge.se fTmp = fTmp, fLn2_by_128_lo // Small with signif lsb 1 + nop.i 0 +} +;; + { .mfb nop.m 0 fma.d.s0 f8 = fTmp, fTmp, f0 // Set I,U, tiny (+0.0) result @@ -730,6 +738,7 @@ EXP_UNDERFLOW_ZERO: GLOBAL_IEEE754_END(exp) + LOCAL_LIBM_ENTRY(__libm_error_region) .prologue { .mfi |