Age | Commit message (Collapse) | Author |
|
Continuing the preparation for additional _FloatN / _FloatNx function
aliases, this patch makes alpha libm function implementations use
libm_alias_double to define function aliases. This also simplifies
the code because the compatibility for long double = double is handled
by libm_alias_double instead of locally in each source file.
Tested with build-many-glibcs.py for alpha-linux-gnu that installed
stripped shared libraries are unchanged by the patch.
* sysdeps/alpha/fpu/s_ceil.c: Include <libm-alias-double.h>.
(ceil): Define using libm_alias_double.
* sysdeps/alpha/fpu/s_copysign.c: Include <libm-alias-double.h>.
(copysign): Define using libm_alias_double.
* sysdeps/alpha/fpu/s_fabs.c: Include <libm-alias-double.h>.
(fabs): Define using libm_alias_double.
* sysdeps/alpha/fpu/s_floor.c: Include <libm-alias-double.h>.
(floor): Define using libm_alias_double.
* sysdeps/alpha/fpu/s_fmax.S: Include <libm-alias-double.h>.
(fmax): Define using libm_alias_double.
* sysdeps/alpha/fpu/s_fmin.S: Include <libm-alias-double.h>.
(fmin): Define using libm_alias_double.
* sysdeps/alpha/fpu/s_lrint.c: Include <libm-alias-double.h>.
(lrint): Define using libm_alias_double.
(llrint): Likewise.
* sysdeps/alpha/fpu/s_lround.c: Include <libm-alias-double.h>.
(lround): Define using libm_alias_double.
(llround): Likewise.
* sysdeps/alpha/fpu/s_rint.c: Include <libm-alias-double.h>.
(rint): Define using libm_alias_double.
* sysdeps/alpha/fpu/s_trunc.c: Include <libm-alias-double.h>.
(trunc): Define using libm_alias_double.
|
|
|
|
The alpha version of ceil wrongly return sNaN for sNaN input. Fix that
by checking for NaN and by returning the input value added with itself
in that case.
Finally remove the code to handle inexact exception, ceil should never
generate such an exception.
Changelog:
* sysdeps/alpha/fpu/s_ceil.c (__ceil): Add argument with itself
when it is a NaN.
[_IEEE_FP_INEXACT] Remove.
* sysdeps/alpha/fpu/s_ceilf.c (__ceilf): Likewise.
|
|
|
|
|
|
Also fixed the following whitespace nits to satisfy the push:
sysdeps/alpha/alphaev6/memset.S:142: space before tab in indent.
sysdeps/alpha/configure:1: new blank line at EOF.
sysdeps/alpha/fpu/e_sqrt.c:126: space before tab in indent.
sysdeps/alpha/preconfigure:1: new blank line at EOF.
sysdeps/unix/sysv/linux/alpha/syscalls.list:1: new blank line at EOF.
|
|
2008-11-25 Roland McGrath <roland@redhat.com>
* sysdeps/alpha, sysdeps/unix/bsd/osf/alpha,
sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha,
sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha,
sysdeps/mach/alpha, sysdeps/mach/hurd/alpha:
Subdirectories moved to ports repository.
* configure.in (base_machine): Remove alpha case.
|
|
* sysdeps/alpha/fpu/s_ceilf.c: Likewise.
* sysdeps/alpha/fpu/s_floor.c: Likewise.
* sysdeps/alpha/fpu/s_floorf.c: Likewise.
* sysdeps/alpha/fpu/s_rint.c: Likewise.
* sysdeps/alpha/fpu/s_rintf.c: Likewise.
* sysdeps/alpha/fpu/s_fmax.S: New file.
* sysdeps/alpha/fpu/s_fmaxf.S: New file.
* sysdeps/alpha/fpu/s_fmin.S: New file.
* sysdeps/alpha/fpu/s_fminf.S: New file.
* sysdeps/alpha/fpu/s_isnan.c: New file.
* sysdeps/alpha/fpu/s_isnanf.c: New file.
* sysdeps/alpha/fpu/s_llrint.c: New file.
* sysdeps/alpha/fpu/s_llrintf.c: New file.
* sysdeps/alpha/fpu/s_lrint.c: New file.
* sysdeps/alpha/fpu/s_lrintf.c: New file.
* sysdeps/alpha/fpu/s_nearbyint.c: New file.
* sysdeps/alpha/fpu/s_nearbyintf.c: New file.
* sysdeps/alpha/fpu/bits/mathinline.h (__floorf, __floor): Remove.
(__fdimf, fdimf, __fdim, fdim): Remove.
(__signbitf, __signbit, __signbitl): Use gcc builtin if available.
(__isnanf, __isnan, __isnanl): New.
2007-03-14 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/fpu/s_ceil.c: Rewrite without branches.
* sysdeps/alpha/fpu/s_ceilf.c: Likewise.
* sysdeps/alpha/fpu/s_floor.c: Likewise.
* sysdeps/alpha/fpu/s_floorf.c: Likewise.
* sysdeps/alpha/fpu/s_rint.c: Likewise.
* sysdeps/alpha/fpu/s_rintf.c: Likewise.
* sysdeps/alpha/fpu/s_fmax.S: New file.
* sysdeps/alpha/fpu/s_fmaxf.S: New file.
* sysdeps/alpha/fpu/s_fmin.S: New file.
* sysdeps/alpha/fpu/s_fminf.S: New file.
* sysdeps/alpha/fpu/s_isnan.c: New file.
* sysdeps/alpha/fpu/s_isnanf.c: New file.
* sysdeps/alpha/fpu/s_llrint.c: New file.
* sysdeps/alpha/fpu/s_llrintf.c: New file.
* sysdeps/alpha/fpu/s_lrint.c: New file.
* sysdeps/alpha/fpu/s_lrintf.c: New file.
* sysdeps/alpha/fpu/s_nearbyint.c: New file.
* sysdeps/alpha/fpu/s_nearbyintf.c: New file.
* sysdeps/alpha/fpu/bits/mathinline.h (__floorf, __floor): Remove.
(__fdimf, fdimf, __fdim, fdim): Remove.
(__signbitf, __signbit, __signbitl): Use gcc builtin if available.
(__isnanf, __isnan, __isnanl): New.
|
|
* sysdeps/alpha/fpu/s_ceil.c: Include math_ldbl_opt.h, add
compat_symbol if LONG_DOUBLE_COMPAT.
* sysdeps/alpha/fpu/s_copysign.c: Likewise.
* sysdeps/alpha/fpu/s_fabs.c: Likewise.
* sysdeps/alpha/fpu/s_floor.c: Likewise.
* sysdeps/alpha/fpu/s_rint.c: Likewise.
* sysdeps/alpha/soft-fp/e_sqrtl.c: New file.
* sysdeps/alpha/Implies: Add ieee754/ldbl-128.
* sysdeps/unix/sysv/linux/alpha/bits/wordsize.h: New file.
* sysdeps/unix/sysv/linux/alpha/Implies: Add ieee754/ldbl-64-128,
ieee754/ldbl-opt.
* sysdeps/alpha/bits/mathdef.h (__NO_LONG_DOUBLE_MATH): Remove.
* sysdeps/unix/sysv/linux/alpha/nldbl-abi.h: New file.
* sysdeps/unix/sysv/linux/alpha/Makefile
[$(subdir) = math] (libm-routines): Add multc3, divtc3.
|
|
|
|
|
|
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
|
|
of arithmetic instructions.
* sysdeps/alpha/fpu/s_ceil.c: Use round to -inf instead of playing
with the fpcr. Protect from INV exception.
* sysdeps/alpha/fpu/s_ceilf.c: Likewise.
* sysdeps/alpha/fpu/s_floor.c: Protect from INV exception.
* sysdeps/alpha/fpu/s_floorf.c: Likewise.
* sysdeps/alpha/fpu/s_copysign.c: New.
* sysdeps/alpha/fpu/s_copysignf.c: New.
* sysdeps/alpha/fpu/s_fabs.c: New.
* sysdeps/alpha/fpu/s_fabsf.c: New.
* sysdeps/alpha/fpu/s_rint.c: New.
* sysdeps/alpha/fpu/s_rintf.c: New.
* sysdeps/alpha/fpu/fraiseexcpt.c: Use get/set_fp_control instead
of arithmetic instructions.
* sysdeps/alpha/fpu/s_ceil.c: Use round to -inf instead of playing
with the fpcr. Protect from INV exception.
* sysdeps/alpha/fpu/s_ceilf.c: Likewise.
* sysdeps/alpha/fpu/s_floor.c: Protect from INV exception.
* sysdeps/alpha/fpu/s_floorf.c: Likewise.
* sysdeps/alpha/fpu/s_copysign.c: New.
* sysdeps/alpha/fpu/s_copysignf.c: New.
* sysdeps/alpha/fpu/s_fabs.c: New.
* sysdeps/alpha/fpu/s_fabsf.c: New.
* sysdeps/alpha/fpu/s_rint.c: New.
* sysdeps/alpha/fpu/s_rintf.c: New.
|
|
1998-08-23 Ricahrd Henderson <rth@cygnus.com>
* sysdeps/alpha/elf/crtbegin.S: Fix .prologue; no pv used.
* sysdeps/alpha/elf/crtend.S: Likewise.
* sysdeps/alpha/elf/start.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Fix .prologue;
non-standard pv usage.
* sysdeps/unix/sysv/linux/alpha/brk.S: Use jmp macro for relaxation.
* sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/select.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise.
* sysdeps/alpha/fpu/e_sqrt.c: Use the asm version when the input is
a finite non-denormal, deferring to the full IEEE version otherwise.
* sysdeps/alpha/fpu/bits/mathinline.h (__floorf, __floor):
Early out for -0. Optimize for !_IEEE_FP_INEXACT.
* sysdeps/alpha/fpu/s_floor.c: New.
* sysdeps/alpha/fpu/s_floorf.c: New.
* sysdeps/alpha/fpu/s_ceil.c: New.
* sysdeps/alpha/fpu/s_ceilf.c: New.
|