[fpc-devel] avr port: rtl, unit system

Florian Klämpfl florian at freepascal.org
Mon Apr 27 21:13:38 CEST 2015

Am 26.04.2015 um 23:39 schrieb Georg Hieber:
> Hello,
> I started to implement parts of the rtl system unit for avr in assembler. First results are
> encouraging: fpc_move takes 29 opcodes compared to 104 of the Pascal version already optimized for
> the platform, and 23:150 for fpc_mul_word.
> Of course, I want to be as efficient as possible in this task, and first convert routines that are
> either
>     -    called often, to reduce execution time,     or
>     -    linked into most binaries, to reduce code size.
> I made my own priority list, starting with the essential string routines and arithmetic helpers, but
> due to lack of experience I certainly overlooked things or overestimated others. So, question to
> everybody:
> Which are according to your experience / opinion the library routines that profit most from being
> implemented in assembler, considering an embedded environment? (so, nothing about file I/O, system
> call wrappers, etc.)

As you said, arithmetics and string helpers, further, "bit fiddling routines" (bsr, bsf, rol, ror,
sar), fillchar and maybe the set helpers.

More information about the fpc-devel mailing list