https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125752
--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-16 branch has been updated by Georg-Johann Lay <[email protected]>: https://gcc.gnu.org/g:cb50f90574afd3183b98b08cbabe0563020862bd commit r16-9182-gcb50f90574afd3183b98b08cbabe0563020862bd Author: Georg-Johann Lay <[email protected]> Date: Sun Jun 28 12:08:04 2026 +0200 AVR: ad target/125752 - Simplify double -> 64-bit fixed conversions. When converting a fixed-point value to double, there is no need to use ldexp to adjust for FBIT of the result. Instead, FBIT can be added to the double exponent without any further ado. When the input is +/-0.0 then the outcome of adding FBIT to the exponent is a small number that __fix[uns]dfdi converts to 0. PR target/125752 libgcc/config/avr/libf7/ * libf7.c (d_to_ufx, d_to_sfx): Remove prototypes. (__fractdfda, __fractdfuda, __fractdfta, __fractdfuta) (__fractdfdq, __fractdfudq): Move implementation to... * libf7-asm.sx: ...here. (d_to_fx64): Remove. * libf7-common.mk (F7_ASM_PARTS): Add D2dq, D2udq, D2da, D2uda, D2ta, D2uta. (F7F_asm): Remove d_to_fx64. * t-libf7 (LIBF7_DF_CONV): Remove fractdfda, fractdfta, fractdfdq, fractdfuda, fractdfuta, fractdfudq. * f7-renames.h: Rebuild. (cherry picked from commit 997a7e79258e7209718c5366b6a1d3be31c76b8b)
