[fpc-devel] Vectorization

J. Gareth Moreton gareth at moreton-family.com
Thu Dec 14 21:29:27 CET 2017


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

I've made a patch that hopefully fixes this bug, as well as provide some future expansion for vectorization.

There are a few new internal sizes such as "OS_MF128" that serve to ensure the most optimal move command is 
used (out of MOVAPS, MOVAPD and MOVDQA), since using the wrong one incurs a performance penalty.

If the data is unaligned, the compiler will use MOVUPS/MOVUPD/MOVDQU instead, but if it detects the correct 
byte alignment (16) on a variable, it will use the aligned commands.

Let me know how it works out.

Gareth aka. Kit



More information about the fpc-devel mailing list