[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