[Bug target/125752] [avr] Missing 64-bit fixed point <-> 64-bit double conversions
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Jun 28 10:22:44 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125752
--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Georg-Johann Lay
<gjl@gcc.gnu.org>:
https://gcc.gnu.org/g:5f3e4237ca0b2f410a718b7cf2a3481cf7635a60
commit r14-12708-g5f3e4237ca0b2f410a718b7cf2a3481cf7635a60
Author: Georg-Johann Lay <avr@gjlay.de>
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)
More information about the Gcc-bugs
mailing list