<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">Am 01.11.2017 05:58 schrieb "J. Gareth Moreton" <<a href="mailto:gareth@moreton-family.com">gareth@moreton-family.com</a>>:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Would it be worth opening up a bug report for this, with the attached assembler routines as suggestions? I<br>
haven't worked out how to implement internal functions into the compiler yet, and I rather clear it with you<br>
guys first before I make such an addition.  I had a thought that the simple routines above could be used for<br>
when compiling for small code size, while larger, more advanced ones are used for when compiling for speed.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Improvements like these are always welcome. Two points however:</div><div dir="auto">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). </div><div dir="auto">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. </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven</div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div></div>