diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-08-19 16:58:09 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-08-19 16:58:09 +0000 |
commit | 60f0e64b3c13cf717fd49d327dbbca88568ca647 (patch) | |
tree | 06093754479c7bbe18bed7bb50a905358290f42f /sysdeps/alpha/fpu/bits | |
parent | 277723d891149ded87f4d7fbb080575c722bdf75 (diff) | |
download | glibc-60f0e64b3c13cf717fd49d327dbbca88568ca647.tar glibc-60f0e64b3c13cf717fd49d327dbbca88568ca647.tar.gz glibc-60f0e64b3c13cf717fd49d327dbbca88568ca647.tar.bz2 glibc-60f0e64b3c13cf717fd49d327dbbca88568ca647.zip |
Update.
* malloc/mtrace.pl (usage): Inform about --help.
2000-08-19 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (new_heap): try harder to get an aligned chunk of
size HEAP_MAX_SIZE.
2000-08-19 Andreas Jaeger <aj@suse.de>
* shlib-versions: Remove libnss_db, libdb and libdb1.
2000-08-19 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/alpha/readdir.c: Move...
* sysdeps/unix/sysv/linux/ia64/readdir.c: ...here and
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: ...here.
* sysdeps/unix/sysv/linux/alpha/readdir_r.c: Move...
* sysdeps/unix/sysv/linux/ia64/readdir_r.c: ...here and
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: ...here.
* sysdeps/unix/sysv/linux/alpha/readdir64.c: Remove.
* sysdeps/unix/sysv/linux/alpha/readdir64_r.c: Remove.
* sysdeps/unix/sysv/linux/alpha/getdents64.c: Remove.
* sysdeps/unix/sysv/linux/alpha/getdents.c: Only use for non-LFS
getdents.
* sysdeps/unix/sysv/linux/readdir64.c: Remove versioning.
* sysdeps/unix/sysv/linux/readdir64_r.c: Likewise.
2000-08-18 Jakub Jelinek <jakub@redhat.com>
* include/glob.h (__glob64): Add prototype.
* sysdeps/generic/glob.c: If GLOB_ONLY_P is defined, only
define glob and glob_in_dir.
* sysdeps/unix/sysv/linux/i386/Versions: Add glob64@@GLIBC_2.2.
* sysdeps/unix/sysv/linux/arm/Versions: Likewise.
* sysdeps/unix/sysv/linux/powerpc/Versions: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
* sysdeps/unix/sysv/linux/i386/glob64.c: New file.
* sysdeps/unix/sysv/linux/arm/glob64.c: New file.
* sysdeps/unix/sysv/linux/powerpc/glob64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/glob64.c: New file.
2000-08-18 Jakub Jelinek <jakub@redhat.com>
* malloc/Makefile (memusage): libmemusage.so is installed in slibdir.
2000-08-17 Andreas Jaeger <aj@suse.de>
* math/test-fenv.c (fe_single_test): New function.
(fe_env_tests): Use fe_single_test.
(feenable_test): New tests for feenable/fedisable and
fegetexcpetions.
(feexcp_mask_test): New function.
(feexcp_nomask_test): New function.
2000-08-19 Richard Henderson <rth@cygnus.com>
* sysdeps/alpha/fpu/fenv_libc.h: New file.
* sysdeps/alpha/fpu/fclrexcpt.c: Use it.
* sysdeps/alpha/fpu/fegetenv.c: Likewise.
* sysdeps/alpha/fpu/fesetround.c: Likewise.
* sysdeps/alpha/fpu/fegetround.c: Likewise.
* sysdeps/alpha/fpu/fgetexcptflg.c: Likewise.
* sysdeps/alpha/fpu/fraiseexcpt.c: Likewise.
* sysdeps/alpha/fpu/ftestexcept.c: Likewise.
* sysdeps/alpha/fpu/fedisblxcpt.c: Likewise. Use the smaller mask.
* sysdeps/alpha/fpu/feenablxcpt.c: Likewise.
* sysdeps/alpha/fpu/fegetexcept.c: Likewise.
* sysdeps/alpha/fpu/feholdexcpt.c: Retain the SWCR_MAP bits.
* sysdeps/alpha/fpu/fesetenv.c: Likewise.
* sysdeps/alpha/fpu/feupdateenv.c: Likewise.
* sysdeps/alpha/fpu/fsetexcptflg.c: Likewise.
* sysdeps/alpha/fpu/bits/fenv.h (FE_DENORMAL): New.
(FE_MAP_DMZ, FE_MAP_UMZ, FE_NONIEEE_ENV): New.
2000-08-19 Andreas Jaeger <aj@suse.de>
Diffstat (limited to 'sysdeps/alpha/fpu/bits')
-rw-r--r-- | sysdeps/alpha/fpu/bits/fenv.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/sysdeps/alpha/fpu/bits/fenv.h b/sysdeps/alpha/fpu/bits/fenv.h index 82b85debcd..b6d9b98c86 100644 --- a/sysdeps/alpha/fpu/bits/fenv.h +++ b/sysdeps/alpha/fpu/bits/fenv.h @@ -36,6 +36,11 @@ enum { +#ifdef __USE_GNU + FE_DENORMAL = 1UL << 22, +#define FE_DENORMAL FE_DENORMAL +#endif + FE_INEXACT = 1UL << 21, #define FE_INEXACT FE_INEXACT @@ -51,12 +56,10 @@ enum FE_INVALID = 1UL << 17, #define FE_INVALID FE_INVALID - FE_ALL_EXCEPT = - (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + FE_ALL_EXCEPT = 0x3f << 17 #define FE_ALL_EXCEPT FE_ALL_EXCEPT }; - /* Alpha chips support all four defined rouding modes. Note that code must be compiled to use dynamic rounding (/d) instructions @@ -81,6 +84,19 @@ enum #define FE_UPWARD FE_UPWARD }; +#ifdef __USE_GNU +/* On later hardware, and later kernels for earlier hardware, we can forcibly + underflow denormal inputs and outputs. This can speed up certain programs + significantly, usually without affecting accuracy. */ +enum + { + FE_MAP_DMZ = 1UL << 12, /* Map denorm inputs to zero */ +#define FE_MAP_DMZ FE_MAP_DMZ + + FE_MAP_UMZ = 1UL << 13, /* Map underflowed outputs to zero */ +#define FE_MAP_UMZ FE_MAP_UMZ + }; +#endif /* Type representing exception flags. */ typedef unsigned long int fexcept_t; @@ -96,6 +112,10 @@ typedef unsigned long int fenv_t; #ifdef __USE_GNU /* Floating-point environment where none of the exceptions are masked. */ # define FE_NOMASK_ENV ((fenv_t *) 0x880000000000003eUL) + +/* Floating-point environment with (processor-dependent) non-IEEE floating + point. In this case, mapping denormals to zero. */ +# define FE_NONIEEE_ENV ((fenv_t *) 0x8800000000003000UL) #endif /* The system calls to talk to the kernel's FP code. */ |