As seen at bug report #3509709, sdcc's sprintf does not handle float by default, which makes it non-compliant wrt. the standard. On the other hand float support ahs some overhead, which some may not be happy with. I thus suggest the following solution:
1) Make sprintf handle float by default.
2) Offer an additional function, e.g. __sdcc_nofloat_sprintf that does not handle float and thus is smaller and faster.
That way there are no nasty surprises when using sprintf, and there still is a way to save some code size.