[fpc-devel] FillWord, FillDWord and FillQWord are very poorly optimised on Win64 (notsureabout x86-64 on Linux)

J. Gareth Moreton gareth at moreton-family.com
Fri Nov 3 03:38:25 CET 2017


Patch submitted.

https://bugs.freepascal.org/view.php?id=32637

Note that this hasn't been tested on Linux yet because I don't have the correct facilities and configuration to 
do that - I think the code is correct but it will need testing.  It has been tested under Windows rather 
thoroughly, testing different input values, memory sizes that are not powers of two and also memory blocks that 
are slightly misaligned (but not so much that you're trying to, for example, write a 16-bit Word to memory that 
has an odd-numbered pointer address).

If anyone knows how to add some SEH code to account for "push %rdi" (Linux doesn't have this problem), I'd be 
most grateful.  I hope it's at least a good start.

Yours faithfully,

J. Gareth Moreton



More information about the fpc-devel mailing list