jackmott / nim_simd

Nim experiment for a write once run optimum simd anywhere *at runtime* library
MIT License
30 stars 1 forks source link

sse3 ssse3 sse4.1 and sse4.2 #1

Open RedBeard0531 opened 6 years ago

RedBeard0531 commented 6 years ago

There's a ton of good stuff between sse2 and avx, including pshuffb to swizzle 16 bytes in an arbitrary way and pcmpXstrX, the swiss-army knife of byte processing. Also, while it isn't really simd, the crc32c instruction is in sse4.2 for some reason. Not sure if that is in or out of scope for this project, but worth considering.

jackmott commented 6 years ago

oh absolutely, this is just a start. feel free to add to it! the base bindings I'm using are from: https://github.com/bsegovia/x86_simd.nim

so the stuff for SSE3 / 4 is there.