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)

Reply via email to