diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-09-24 22:25:30 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-09-24 22:25:30 +0000 |
commit | b2a64460ba9aca39e92731da67cc6344acb483bc (patch) | |
tree | 213e279495212accf939a0d03c10e16c131963cc /ChangeLog | |
parent | 1a19b8894f93878f99025096ec1d3b6af7db6f78 (diff) | |
download | glibc-b2a64460ba9aca39e92731da67cc6344acb483bc.zip glibc-b2a64460ba9aca39e92731da67cc6344acb483bc.tar.gz glibc-b2a64460ba9aca39e92731da67cc6344acb483bc.tar.bz2 |
Refactor x86_64 libm code forcing underflow exceptions.
This patch refactors code in sysdeps/x86_64/fpu that forces underflow
exceptions and closely follows corresponding i386 code to use common
macros in x86_64-math-asm.h for that purpose. This is mainly about
keeping the code similar to the i386 code as far as possible, since
each macro apart from DEFINE_LDBL_MIN ends up used only once. It
would be possible to do a further refactoring to share these macros
between i386 and x86_64 (with i386 using the fcomip / fucomip versions
when building for i686 and above), but I have no immediate plans to do
so.
Tested for x86_64.
* sysdeps/x86_64/fpu/x86_64-math-asm.h: New file.
* sysdeps/x86_64/fpu/e_exp2l.S: Include <x86_64-math-asm.h>.
(ldbl_min): Replace with use of DEFINE_LDBL_MIN.
(__ieee754_exp2l): Use LDBL_CHECK_FORCE_UFLOW_NONNEG_NAN.
* sysdeps/x86_64/fpu/e_expl.S: Include <x86_64-math-asm.h>.
[!USE_AS_EXPM1L] (cmin): Replace with use of DEFINE_LDBL_MIN.
(IEEE754_EXPL): Use LDBL_CHECK_FORCE_UFLOW_NONNEG.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -1,5 +1,13 @@ 2015-09-24 Joseph Myers <joseph@codesourcery.com> + * sysdeps/x86_64/fpu/x86_64-math-asm.h: New file. + * sysdeps/x86_64/fpu/e_exp2l.S: Include <x86_64-math-asm.h>. + (ldbl_min): Replace with use of DEFINE_LDBL_MIN. + (__ieee754_exp2l): Use LDBL_CHECK_FORCE_UFLOW_NONNEG_NAN. + * sysdeps/x86_64/fpu/e_expl.S: Include <x86_64-math-asm.h>. + [!USE_AS_EXPM1L] (cmin): Replace with use of DEFINE_LDBL_MIN. + (IEEE754_EXPL): Use LDBL_CHECK_FORCE_UFLOW_NONNEG. + * sysdeps/i386/fpu/e_atanh.S (__ieee754_atanh) [PIC]: Use LOAD_PIC_REG. |