]> git.ipfire.org Git - thirdparty/gcc.git/commit
AVR: Speed up IEEE double comparisons.
authorGeorg-Johann Lay <avr@gjlay.de>
Sun, 5 Oct 2025 18:56:56 +0000 (20:56 +0200)
committerGeorg-Johann Lay <avr@gjlay.de>
Mon, 6 Oct 2025 15:19:50 +0000 (17:19 +0200)
commite5731a4bc50e95245cb628505142e0adff0bb79e
tree4d0d8f4097925d2f6f955871d9eb772b91e5a5fa
parentad2991b27490cabcf54d8926a52976ca19de3afc
AVR: Speed up IEEE double comparisons.

IEEE double can be compared without first converting them to
the internal representation.

libgcc/config/avr/libf7/
* libf7-common.mk (g_xdd_cmp): Remove le, lt, ge, gt, ne, eq, unord.
(F7_ASM_PARTS): Add D_cmp, D_eq, D_ne, D_ge, D_gt, D_le, D_lt, D_unord.
* libf7-asm.sx (D_cmp, D_eq, D_ne, D_ge, D_gt, D_le, D_lt, D_unord):
New modules.
* f7-wraps.h: Rebuild.

gcc/testsuite/
* gcc.target/avr/cmpdi-1.c: New test.
gcc/testsuite/gcc.target/avr/cmpdi-1.c [new file with mode: 0644]
libgcc/config/avr/libf7/f7-wraps.h
libgcc/config/avr/libf7/libf7-asm.sx
libgcc/config/avr/libf7/libf7-common.mk