Hi,
I just noticed that the 'large' memory model version of SDCC's STM8
standard library does not contain many of the optimised routines that
the regular 'medium' version includes - namely these:
- __divsint
- __divslong
- __divulong
- __fast_long_neg
- __modsint
- __modslong
- __modulong
- __mulint
- __mullong
- _strcmp
- _strcpy
Is there any particular reason why these have not been included in the
'large' library?
To my knowledge, the only way that 'large' implementations would differ
is in the use of some 'far' instruction variants (e.g. callf, retf) and
different stack pointer offsets for function args. At least, those are
the only differences I see when comparing the code of routines common to
both.
Discovered because I had some code doing a bunch of uint32_t
multiplications, and was wondering why it was so much slower after I
compiled it with --model-large. Now I know why...
Regards,
Basil Hussain
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user