Aurelien Jarno
116ff9ad18
alpha: fix corner cases in ceil, floor, rint.
...
Partial revert of bebc49030c
. Even with the revert, ceil and floor are
still faster than libcpml's equivalent.
Fixes bug 5350.
Signed-off-by: Matt Turner <mattst88@gmail.com>
2010-05-04 09:01:40 -07:00
Richard Henderson
bebc49030c
* 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.
2007-03-14 17:44:14 +00:00
Roland McGrath
92ed9d7ad1
2006-01-31 Jakub Jelinek <jakub@redhat.com>
...
* sysdeps/unix/sysv/linux/alpha/fpu/Implies: New file.
* 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.
2006-02-01 03:13:45 +00:00
Andreas Jaeger
3214b89b32
Update to LGPL v2.1.
2001-07-06 04:56:23 +00:00
Richard Henderson
9dc874df52
* 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.
2000-03-20 20:32:11 +00:00
Richard Henderson
d7bb0de178
* 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.
1998-08-23 04:09:49 +00:00