Can someone recommend a good book on writing (assembly) vector code ?
Thanks,
Adriaan van Os

Mailing lists / fpc-pascal / 2020-05
6 messages · 4 people · –
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Can someone recommend a good book on writing (assembly) vector code ?
Thanks,
Adriaan van Os
Op 2020-05-01 om 10:44 schreef Adriaan van Os:
Can someone recommend a good book on writing (assembly) vector code ?
No, but you can ask questions here. I've done some minor x86_64 assembler work for image processing. Things like format conversions, uniform lighting, rotate, erosion/dilation etc.
Can someone recommend a good book on writing (assembly) vector code ? Adriaan van Os
I found that this repository have some free ebooks about assembly but maybe not specific to vector code https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md#assembly-language
I also wrote vector operation utility in assembly with SIMD in case you are interested https://github.com/zamronypj/oprsimd
Zamrony P. Juhara
https://v3.juhara.com
https://github.com/zamronypj
Fano Framework
https://fanoframework.github.io
mod_pascal
https://zamronypj.github.io/mod_pascal
On Fri, May 1, 2020 at 16:25, Adriaan van Os wrote: Can someone recommend a good book on writing (assembly) vector code ?
Thanks,
Adriaan van Os
Zamrony P. Juhara wroteI found that this repository have some free ebooks about assembly but maybe not specific to vector code
Thanks for the links.
No, but you can ask questions here. I've done some minor x86_64 assembler work for image processing. Things like format conversions, uniform lighting, rotate, erosion/dilation etc.
Thanks for offering. I am particularly interested in knowing the tricks that can be done with masking, e.g. to prevent branching. In the first place to get an idea what can be done with vector code and what not. I guess I should read the Intel and AMD processor docs first.
Regards,
Adriaan van Os
Op 2020-05-02 om 07:46 schreef Adriaan van Os:
Well, saturation often avoids branches, as well as built in min/max instructions.
pcmpgtb and friends are kind of the x86 setcc like instructions. Store the result of a comparison(s) to a register.
Can someone recommend a good book on writing (assembly) vector code ?
Although it's not what you asking for, you may find some examples at (look for "procedure AVXAdd"):
https://github.com/joaopauloschuler/neural-api/blob/master/neural/neuralvolume.pas
In the case that you are looking for X86 SIMD, you can have a look at: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions