On 2/22/25 8:10 AM, Jan Dubiec wrote:
This patch fixes SFtype to UDWtype (aka float to unsigned long long)
conversion on targets without DFmode like e.g. H8/300H. It solely relies
on SFtype->UWtype and UWtype->UDWtype conversions/casts. The existing code
in line 2218 (counter = a) assigns/casts a float which is *always* not
lesser
than Wtype_MAXp1_F to an UWtype int which of course does not have enough
capacity.
2025-02-22 Jan Dubiec <j...@o2.pl>
PR target/116363
libgcc/ChangeLog:
* libgcc2.c (__fixunssfDI): Fix SFtype to UDWtype conversion for
targets
without LIBGCC2_HAS_DF_MODE defined
Sorry this has taken so long to resolve. Too much to do and patches
affecting something like the H8 rarely bubble to the top.
Anyway, this has been repeatedly bootstrapped & regression tested on
aarch64, ppc64le and other targets. It's also been many dozens of
regression testing cycles on the various embedded targets.
Given it relies on intermediate casts working it should be quite safe.
If that capability doesn't work, then we've got much bigger problems.
Pushed to the trunk. Thanks again for your patience.
Jeff