[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:21:15 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125752
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-15 branch has been updated by Georg-Johann Lay
<gjl@gcc.gnu.org>:
https://gcc.gnu.org/g:4beef96eba0034595f27db768d37e7a40d7e4b5c
commit r15-11322-g4beef96eba0034595f27db768d37e7a40d7e4b5c
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