summary refs log tree commit diff
path: root/sysdeps/alpha/soft-fp/sfp-machine.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove sysdeps/alpha/soft-fp directory.Joseph Myers2018-05-231-99/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per <https://sourceware.org/ml/libc-alpha/2014-10/msg00369.html>, there should not be separate sysdeps/<arch>/soft-fp directories when those are used by all configurations that use sysdeps/<arch>, and, more generally, should not be sysdeps/foo/Implies files pointing to a subdirectory foo/bar. This patch eliminates the sysdeps/alpha/soft-fp directory accordingly, merging its contents into sysdeps/alpha. Tested with build-many-glibcs.py that installed stripped shared libraries for alpha-linux-gnu are unchanged by this patch. * sysdeps/alpha/Implies: Remove alpha/soft-fp. * sysdeps/alpha/Makefile [$(subdir) = soft-fp] (sysdep_routines): Add functions moved from .... [$(subdir) = math] (CPPFLAGS): Add -I../soft-fp. Moved from .... * sysdeps/alpha/soft-fp/Makefile: ... here. Remove file. * sysdeps/alpha/Versions (libc): Add GLIBC_2.3.4 symbols moved from .... * sysdeps/alpha/soft-fp/Versions: ... here. Remove file. * sysdeps/alpha/soft-fp/e_sqrtl.c: Move to .... * sysdeps/alpha/e_sqrtl.c: ... here. * sysdeps/alpha/soft-fp/local-soft-fp.h: Move to .... * sysdeps/alpha/local-soft-fp.h: ... here. * sysdeps/alpha/soft-fp/ots_add.c: Move to .... * sysdeps/alpha/ots_add.c: ... here. * sysdeps/alpha/soft-fp/ots_cmp.c: Move to .... * sysdeps/alpha/ots_cmp.c: ... here. * sysdeps/alpha/soft-fp/ots_cmpe.c: Move to .... * sysdeps/alpha/ots_cmpe.c: ... here. * sysdeps/alpha/soft-fp/ots_cvtqux.c: Move to .... * sysdeps/alpha/ots_cvtqux.c: ... here. * sysdeps/alpha/soft-fp/ots_cvtqx.c: Move to .... * sysdeps/alpha/ots_cvtqx.c: ... here. * sysdeps/alpha/soft-fp/ots_cvttx.c: Move to .... * sysdeps/alpha/ots_cvttx.c: ... here. * sysdeps/alpha/soft-fp/ots_cvtxq.c: Move to .... * sysdeps/alpha/ots_cvtxq.c: ... here. * sysdeps/alpha/soft-fp/ots_cvtxt.c: Move to .... * sysdeps/alpha/ots_cvtxt.c: ... here. * sysdeps/alpha/soft-fp/ots_div.c: Move to .... * sysdeps/alpha/ots_div.c: ... here. * sysdeps/alpha/soft-fp/ots_mul.c: Move to .... * sysdeps/alpha/ots_mul.c: ... here. * sysdeps/alpha/soft-fp/ots_nintxq.c: Move to .... * sysdeps/alpha/ots_nintxq.c: ... here. * sysdeps/alpha/soft-fp/ots_sub.c: Move to .... * sysdeps/alpha/ots_sub.c: ... here. * sysdeps/alpha/soft-fp/sfp-machine.h: Move to .... * sysdeps/alpha/sfp-machine.h: ... here.
* Update copyright dates with scripts/update-copyrights.Joseph Myers2018-01-011-1/+1
| | | | | | | * All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. * locale/programs/charmap-kw.h: Regenerated. * locale/programs/locfile-kw.h: Likewise.
* Update copyright dates with scripts/update-copyrights.Joseph Myers2017-01-011-1/+1
|
* Update copyright dates with scripts/update-copyrights.Joseph Myers2016-01-041-1/+1
|
* Update copyright dates with scripts/update-copyrights.Joseph Myers2015-01-021-1/+1
|
* alpha: Fix exception raising from soft-fpRichard Henderson2014-08-051-4/+4
| | | | | | Use the SSI_IEEE_RAISE_EXCEPTION function as from feraiseexcept, instead of __ieee_get+set_fp_status. Always raise the FP exceptions from float-to-integer conversion.
* soft-fp: support after-rounding tininess detection.Joseph Myers2014-02-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IEEE 754-2008 defines two ways in which tiny results can be detected, "before rounding" (based on the infinite-precision result) and "after rounding" (based on the result when rounded to normal precision as if the exponent range were unbounded). All binary operations on an architecture must use the same choice of how tininess is detected. soft-fp has so far implemented only before-rounding tininess detection. This patch adds support for after-rounding tininess detection. A new macro _FP_TININESS_AFTER_ROUNDING is added that sfp-machine.h must define (soft-fp is meant to be self-contained so the existing tininess.h files aren't used here, though the information going in sfp-machine.h has been taken from them). The soft-fp macros dealing with raising underflow exceptions then handle the cases where the choice matters specially, rounding a copy of the input to the appropriate precision to see if a value that's tiny before rounding isn't tiny after rounding. Tested for mips64 using GCC trunk (which now uses soft-fp on MIPS, so supporting exceptions and rounding modes for long double where not previously supported - this is the immediate motivation for doing this patch now) together with (a) a patch to sysdeps/mips/math-tests.h to enable exceptions / rounding modes tests for long double for GCC 4.9 and later, and (b) corresponding changes applied to libgcc's soft-fp and sfp-machine.h files. In the libgcc context this is also tested on x86_64 (also an after-rounding architecture) with testcases for __float128 that I intend to add to the GCC testsuite when updating soft-fp there. (To be clear: this patch does not fix any glibc bugs that were user-visible in past releases, since after-rounding architectures didn't use soft-fp in any affected case with support for floating-point exceptions - so there is no corresponding Bugzilla bug. Rather, it works together with the GCC changes to use soft-fp on MIPS to allow previously absent long double functionality to work properly, and allows soft-fp to be used in glibc on after-rounding architectures in cases where it couldn't previously be used.) * soft-fp/op-common.h (_FP_DECL): Mark exponent as possibly unused. (_FP_PACK_SEMIRAW): Determine tininess based on rounding shifted value if _FP_TININESS_AFTER_ROUNDING and unrounded value is in subnormal range. (_FP_PACK_CANONICAL): Determine tininess based on rounding to normal precision if _FP_TININESS_AFTER_ROUNDING and unrounded value has largest subnormal exponent. * soft-fp/soft-fp.h [FP_NO_EXCEPTIONS] (_FP_TININESS_AFTER_ROUNDING): Undefine and redefine to 0. * sysdeps/aarch64/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): New macro. * sysdeps/alpha/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/arm/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/mips/mips64/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/mips/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/powerpc/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/sh/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/sparc/sparc64/soft-fp/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise. * sysdeps/tile/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): Likewise.
* Relocate alpha from ports to libcRichard Henderson2014-02-121-0/+97
| | | | | | | | | | 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.
* Moved alpha to ports repository.Roland McGrath2008-11-261-94/+0
| | | | | | | | | | | 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.
* * soft-fp/quad.h (union _FP_UNION_Q): Add longs structure. * ↵Richard Henderson2004-03-061-19/+78
| | | | | | | | | | | | | | | | | | | sysdeps/alpha/Implies: Add alpha/soft-fp. * sysdeps/alpha/soft-fp/sfp-machine.h: Rewrite for GEM interface. * sysdeps/alpha/Subdirs, sysdeps/alpha/soft-fp/Makefile, sysdeps/alpha/soft-fp/Versions, sysdeps/alpha/soft-fp/local-soft-fp.h, sysdeps/alpha/soft-fp/ots_add.c, sysdeps/alpha/soft-fp/ots_cmp.c, sysdeps/alpha/soft-fp/ots_cmpe.c, sysdeps/alpha/soft-fp/ots_cvtqux.c, sysdeps/alpha/soft-fp/ots_cvtqx.c, sysdeps/alpha/soft-fp/ots_cvttx.c, sysdeps/alpha/soft-fp/ots_cvtxq.c, sysdeps/alpha/soft-fp/ots_cvtxt.c, sysdeps/alpha/soft-fp/ots_div.c, sysdeps/alpha/soft-fp/ots_mul.c, sysdeps/alpha/soft-fp/ots_nintxq.c, sysdeps/alpha/soft-fp/ots_sub.c: New files. 2004-03-06 Richard Henderson <rth@redhat.com> * soft-fp/quad.h (union _FP_UNION_Q): Add longs structure. * sysdeps/alpha/Implies: Add alpha/soft-fp. * sysdeps/alpha/soft-fp/sfp-machine.h: Rewrite for GEM interface. * sysdeps/alpha/Subdirs, sysdeps/alpha/soft-fp/Makefile, sysdeps/alpha/soft-fp/Versions, sysdeps/alpha/soft-fp/local-soft-fp.h, sysdeps/alpha/soft-fp/ots_add.c, sysdeps/alpha/soft-fp/ots_cmp.c, sysdeps/alpha/soft-fp/ots_cmpe.c, sysdeps/alpha/soft-fp/ots_cvtqux.c, sysdeps/alpha/soft-fp/ots_cvtqx.c, sysdeps/alpha/soft-fp/ots_cvttx.c, sysdeps/alpha/soft-fp/ots_cvtxq.c, sysdeps/alpha/soft-fp/ots_cvtxt.c, sysdeps/alpha/soft-fp/ots_div.c, sysdeps/alpha/soft-fp/ots_mul.c, sysdeps/alpha/soft-fp/ots_nintxq.c, sysdeps/alpha/soft-fp/ots_sub.c: New files.
* Moved from soft-fp/sysdeps/sparc/sparc64/s_scalbnl.cAndreas Jaeger2000-09-051-0/+35