[Bug target/125409] [avr] Missing fixed-point conversions from / to [u]int24_t
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon May 25 17:22:22 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125409
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Georg-Johann Lay
<gjl@gcc.gnu.org>:
https://gcc.gnu.org/g:80597dcd3432ff9a29e45a5f97f5e788943b2638
commit r13-10340-g80597dcd3432ff9a29e45a5f97f5e788943b2638
Author: Georg-Johann Lay <avr@gjlay.de>
Date: Sun May 24 22:16:46 2026 +0200
AVR: target/125409 - Add fixed-point conversions to / from [u]int24_t.
The test cases ran into
ld: undefined reference to `__fractunssapsi'
ld: undefined reference to `__fractunspsisa'
etc. because the backend didn't implement these conversions.
The worker function that outputs fixed-point conversions inline,
avr_out_fract, is generic enough to handle 24-bit integral modes, so
adding PSImode to the mode iterators in avr-fixed.md fixes the issue.
PR target/125409
gcc/
* config/avr/avr-fixed.md (FIXED_A, FIXED_B): Add PSI to iterators.
gcc/testsuite/
* gcc.target/avr/torture/pr125409.h: New file.
* gcc.target/avr/torture/pr125409-fx24-ssk.c: New test.
* gcc.target/avr/torture/pr125409-fx24-ssr.c: New test.
* gcc.target/avr/torture/pr125409-fx24-suk.c: New test.
* gcc.target/avr/torture/pr125409-fx24-sur.c: New test.
* gcc.target/avr/torture/pr125409-fx24-usk.c: New test.
* gcc.target/avr/torture/pr125409-fx24-usr.c: New test.
* gcc.target/avr/torture/pr125409-fx24-uuk.c: New test.
* gcc.target/avr/torture/pr125409-fx24-uur.c: New test.
(cherry picked from commit 29e4b7f1100ad3dd611da6fc3314a41978c5fc25)
More information about the Gcc-bugs
mailing list