Am 01.11.2017 05:58 schrieb "J. Gareth Moreton" <gar...@moreton-family.com>:
Would it be worth opening up a bug report for this, with the attached assembler routines as suggestions? I haven't worked out how to implement internal functions into the compiler yet, and I rather clear it with you guys first before I make such an addition. I had a thought that the simple routines above could be used for when compiling for small code size, while larger, more advanced ones are used for when compiling for speed. Improvements like these are always welcome. Two points however: The Fill* routines are not part of the compiler, but of the RTL (the Pascal routines are in rtl/inc/generic.inc, the assembly ones reside in rtl/CPU/CPU.inc) and they aren't handled differently depending on the current optimization flags, so a one-size-fits-all is needed (look at e.g. the i386 ones). I also think that you might need to handle memory that isn't correctly aligned for the assembler instructions (I didn't look at your routines in detail so I don't know whether they'd need to be adjusted for that). A check of the i386 routines will probably help here as well. Regards, Sven
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel