aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ia64/fpu/s_expm1l.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-03-31 10:02:53 +0000
committerUlrich Drepper <drepper@redhat.com>2005-03-31 10:02:53 +0000
commitee6189855aab3a9be8f3c2d95ce2b2cd17db4ec2 (patch)
treecf3e2fe1f9be5b358033fd927a0bd922542e04a1 /sysdeps/ia64/fpu/s_expm1l.S
parent4d6302cf51b16a129addf7687c91490c40a7225c (diff)
downloadglibc-ee6189855aab3a9be8f3c2d95ce2b2cd17db4ec2.zip
glibc-ee6189855aab3a9be8f3c2d95ce2b2cd17db4ec2.tar.gz
glibc-ee6189855aab3a9be8f3c2d95ce2b2cd17db4ec2.tar.bz2
* sysdeps/unix/sysv/linux/x86_64/getcontext.S: Use functionally
equivalent, but shorter instructions. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise. * sysdeps/x86_64/strchr.S: Likewise. * sysdeps/x86_64/memset.S: Likewise. * sysdeps/x86_64/strcspn.S: Likewise. * sysdeps/x86_64/strcmp.S: Likewise. * sysdeps/x86_64/elf/start.S: Likewise. * sysdeps/x86_64/strspn.S: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. * sysdeps/x86_64/bsd-_setjmp.S: Likewise. * sysdeps/x86_64/bsd-setjmp.S: Likewise. * sysdeps/x86_64/strtok.S: Likewise.
Diffstat (limited to 'sysdeps/ia64/fpu/s_expm1l.S')
-rw-r--r--sysdeps/ia64/fpu/s_expm1l.S19
1 files changed, 4 insertions, 15 deletions
diff --git a/sysdeps/ia64/fpu/s_expm1l.S b/sysdeps/ia64/fpu/s_expm1l.S
index 069856d..5f135fa 100644
--- a/sysdeps/ia64/fpu/s_expm1l.S
+++ b/sysdeps/ia64/fpu/s_expm1l.S
@@ -49,6 +49,7 @@
// used data8 for long double table values
// 03/11/03 Improved accuracy and performance, corrected missing inexact flags
// 04/17/03 Eliminated misplaced and unused data label
+// 12/15/03 Eliminated call to error support on expm1l underflow
//
//*********************************************************************
//
@@ -677,6 +678,7 @@ GLOBAL_IEEE754_ENTRY(expm1l)
GLOBAL_IEEE754_END(expm1l)
+
GLOBAL_IEEE754_ENTRY(expl)
//
// Set p7 false for exp, p6 true
@@ -1287,28 +1289,14 @@ EXP_POSSIBLE_UNDERFLOW:
{ .mfi
nop.m 999
-(p7) fclass.m.unc p12, p0 = FR_ftz, 0x00F // If expm1, FTZ result denorm, zero?
- nop.i 999
-}
-;;
-
-{ .mfi
- nop.m 999
(p6) fclass.m.unc p11, p0 = FR_ftz, 0x00F // If exp, FTZ result denorm or zero?
nop.i 999
}
;;
{ .mfb
-(p12) mov GR_Parameter_TAG = 40 // expm1 underflow
- fmerge.s FR_X = f8,f8 // Save x for error call
-(p12) br.cond.spnt __libm_error_region // Branch on expm1 underflow
-}
-;;
-
-{ .mib
(p11) mov GR_Parameter_TAG = 13 // exp underflow
- nop.i 999
+ fmerge.s FR_X = f8,f8 // Save x for error call
(p11) br.cond.spnt __libm_error_region // Branch on exp underflow
}
;;
@@ -1389,6 +1377,7 @@ EXP_64_UNSUPPORTED:
;;
GLOBAL_IEEE754_END(expl)
+
LOCAL_LIBM_ENTRY(__libm_error_region)
.prologue
{ .mfi