Hi to all, thanks for the explanations
I've made a little test app with 3 clones of the same record. One for Pure Pascal, One for SSE, and the 3rd for AVX
I've included the basic vectors functions (Length, Distance, DotProduct, CrossProduct, Normalize,....
I've putted some comment
I'll suggest you to see specialy the SSE DotProduct function in comment you'll find 3 others versions (SSE1, SSE2, SSE3 and SS4 tests)
This is just a test so some functions are not optimized yet
The App compile without any exceptions or compilater's warnings
In order to make a comparison between our pc and configuration
My PC
- CPU : AMD A10-7870K Radeon R7, 12 Compute Cores 4C+8G
- Supported Instructions : MMX (+), SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4A, AMD 64, NX, VMX, AES, AVX, FMA3, FMA4
- OS : Windows 10 64-bit
- DEV : Lazarus 1.8rc4 / FPC 3.0.2
All suggestions are welcome.
Notice : the unit is for 64-bit and Windows, for others see the comment on the top of the unit