From b2a64460ba9aca39e92731da67cc6344acb483bc Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 24 Sep 2015 22:25:30 +0000 Subject: 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 . (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 . [!USE_AS_EXPM1L] (cmin): Replace with use of DEFINE_LDBL_MIN. (IEEE754_EXPL): Use LDBL_CHECK_FORCE_UFLOW_NONNEG. --- ChangeLog | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 851dfc0918..4105a9ec77 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2015-09-24 Joseph Myers + * sysdeps/x86_64/fpu/x86_64-math-asm.h: New file. + * sysdeps/x86_64/fpu/e_exp2l.S: Include . + (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 . + [!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. -- cgit 1.4.1