https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88877
--- Comment #11 from Umesh Kalappa <umesh.kalappa0 at gmail dot com> --- >>To make slightly better code we could make the soft float routines be prototyped? having the prototype also no luck here like $cat test.c #include <stdio.h> double __floatunsidf(unsigned int ); int main () { unsigned int x=-1; double d=x; printf("%lf",d); return 0; } $./ccppc -mcpu=e6500 -mabi=elfv2 -msoft-float -m64 test.c $./a.out 9223372036854775810.000000 while Expected output is: 4294967295.000000 >>Maybe it is because not many people use soft-float with 64bit which explains >>why this has not been seen before. But we do have this case ,where we ended up using the soft float and any suggestions on @kamllesh fix ,where we don't promote for libcalls ?