2026-06-26 Release Manager * GCC 14.4.0 released. 2026-06-11 Georg-Johann Lay Backported from master: 2026-06-11 Georg-Johann Lay PR target/125752 * libf7-asm.sx (ufx64_to_d, d_to_fx64): New DEFUNs. (__fractdadf, __fractudadf, __fracttadf, __fractutadf) (__fractdqdf, __fractudqdf): New _DEFUNs. * libf7-common.mk (F7_ASM_PARTS) Add: fx2D, D2fx, dq2D, udq2D, da2D, uda2D, ta2D uta2D. (F7F): Add d_to_fx64, ufx64_to_d, sfx64_to_d. * libf7.c (d_to_ufx, d_to_sfx): New protos. (__fractdfda, __fractdfuda, __fractdfta, __fractdfuta) (__fractdfdq, __fractdfudq): New modules. * t-libf7 (LIBF7_DF_CONV): Add fractdfda, fractdfta, fractdfdq, fractdfuda, fractdfuta, fractdfudq. * f7-renames.h: Rebuild. 2025-10-09 Georg-Johann Lay Backported from master: 2025-10-09 Georg-Johann Lay PR target/122222 * libf7-asm.sx (D_floatsidf, D_floatunsidf): New modules. * libf7-common.mk (F7_ASM_PARTS): Add D_floatsidf, D_floatunsidf. (F7F, g_dx): Remove floatunsidf, floatsidf. * libf7.c (f7_set_s32): Don't alias to f7_floatsidf. (f7_set_u32): Don't alias to f7_floatunsidf. * f7-renames.h: Rebuild * f7-wraps.h: Rebuild. 2025-10-09 Georg-Johann Lay Backported from master: 2025-10-09 Georg-Johann Lay PR target/122220 * libf7-asm.sx (to_integer): Return 0x80... on negative overflow. 2025-10-09 Georg-Johann Lay Backported from master: 2025-10-09 Georg-Johann Lay PR target/122210 * libf7-common.mk (F7_ASM_PARTS): Add D2 modules. * libf7-asm.sx: Implement the D2 modules. 2025-10-09 Georg-Johann Lay Backported from master: 2025-10-09 Georg-Johann Lay PR target/122210 * libf7-common.mk (F7_ASM_PARTS): Add 2D modules. * libf7-asm.sx: Implement the 2D modules. 2025-10-09 Georg-Johann Lay Backported from master: 2025-10-06 Georg-Johann Lay * libf7-common.mk (F7_ASM_PARTS): Add D_sincos. * libf7-asm.sx: (D_sincos): New module implements sincos / sincosl. 2025-10-09 Georg-Johann Lay Backported from master: 2025-10-06 Georg-Johann Lay PR target/122177 * libf7-common.mk (m_ddd): Remove: fmin, fmax. (F7_ASM_PARTS): Add: D_fminfmax. * libf7-asm.sx (D_fmanfmax): New module. * f7-wraps.h: Rebuild. 2025-10-09 Georg-Johann Lay Backported from master: 2025-10-06 Georg-Johann Lay * libf7-common.mk (g_xdd_cmp): Remove le, lt, ge, gt, ne, eq, unord. (F7_ASM_PARTS): Add D_cmp, D_eq, D_ne, D_ge, D_gt, D_le, D_lt, D_unord. * libf7-asm.sx (D_cmp, D_eq, D_ne, D_ge, D_gt, D_le, D_lt, D_unord): New modules. * f7-wraps.h: Rebuild. 2025-10-09 Georg-Johann Lay Backported from master: 2025-05-27 Georg-Johann Lay PR target/120442 * libf7-common.mk (LIBF_C_PARTS, m_ddd): Add fdim. * libf7.h (f7_fdim): New proto. * libf7.c (f7_fdim): New function. * f7renames.sh (f7_fdim): Add rename. * f7-wraps.h: Rebuild * f7-renames.h: Rebuild 2025-05-27 Georg-Johann Lay Backported from master: 2025-05-27 Georg-Johann Lay PR target/120441 * libf7.c (f7_exp): Limit aa->expo to 10 (not to 9). 2025-05-23 Release Manager * GCC 14.3.0 released. 2024-08-01 Release Manager * GCC 14.2.0 released. 2024-06-01 Georg-Johann Lay Backported from master: 2024-06-01 Georg-Johann Lay PR target/115317 * libf7-asm.sx (__isinf): Map -Inf to -1. 2024-05-09 Georg-Johann Lay Backported from master: 2024-05-08 Georg-Johann Lay PR target/114981 * libf7-common.mk (F7_ASM_PARTS): Add D_powi * libf7-asm.sx (F7MOD_D_powi_, __powidf2): New module and function. * libf7.c (f7_powi): Fix last (wrong) statement. Tweak trivial multiplications with 1.0. 2024-05-07 Release Manager * GCC 14.1.0 released. 2023-11-14 Georg-Johann Lay * libf7-const.def [F7MOD_sinh_]: Add MiniMax polynomial. * libf7.c (f7_sinh): Use it instead of (exp(x) - exp(-x)) / 2 when |x| < 0.5 to avoid loss of precision due to cancellation. 2023-11-12 Georg-Johann Lay * libf7-asm.sx (sqrt_approx): Rewrite. * libf7.c (f7_sqrt): Use it instead of sqrt_worker. (sqrt_worker): Remove. 2023-11-08 Georg-Johann Lay * libf7-asm.sx (mul_mant) [AVR_HAVE_MUL]: Tweak code. 2023-10-18 Georg-Johann Lay * libf7-asm.sx (mul_mant): Implement for devices without MUL. * asm-defs.h (wmov) [!HAVE_MUL]: Fix regno computation. * t-libf7 (F7_ASM_FLAGS): Add -g0. 2023-10-17 Georg-Johann Lay * f7-renames.h: Re-renerate. 2023-10-17 Georg-Johann Lay * libf7.h (F7_SIZEOF): New macro. * libf7-asm.sx: Use F7_SIZEOF instead of magic number "10". (F7MOD_D_fma_, __fma): New module and function. (fma) [-mdouble=64]: Define as alias for __fma. (fmal) [-mlong-double=64]: Define as alias for __fma. * libf7-common.mk (F7_ASM_PARTS): Add D_fma. 2023-10-12 Georg-Johann Lay * libf7.c (F7MOD_atan2_, f7_atan2): New module and function. * libf7.h: Adjust comments. * libf7-common.mk (CALL_PROLOGUES): Add atan2. 2023-10-05 Georg-Johann Lay * libf7.h (F7_PURE): Remove all occurrences. * libf7.c: Same. 2023-10-05 Georg-Johann Lay * libf7.h (F7_FLAGNO_plusx, F7_FLAG_plusx): New macros. * libf7.c (f7_horner): Handle F7_FLAG_plusx in highest coefficient. * libf7-const.def [F7MOD_atan_]: Denominator: Set F7_FLAG_plusx and omit highest term. [F7MOD_asinacos_]: Use rational function with normalized denominator. 2022-09-19 Georg-Johann Lay PR target/99184 * libf7-asm.sx (to_integer, to_unsigned): Don't round 16-bit and 32-bit integers. 2020-06-23 David Edelsohn * t-libf7: Use -include. 2020-01-08 Georg-Johann Lay Implement 64-bit double functions. PR target/92055 * t-libf7: New file. * t-libf7-math: New file. * t-libf7-math-symbols: New file. * libf7-common.mk: New file. * libf7-asm-object.mk: New file. * libf7-c-object.mk: New file. * asm-defs.h: New file. * libf7.h: New file. * libf7.c: New file. * libf7-asm.sx: New file. * libf7-array.def: New file. * libf7-const.def: New file. * libf7-constdef.h: New file. * f7renames.sh: New script. * f7wraps.sh: New script. * f7-renames.h: New generated file. * f7-wraps.h: New generated file.