nim_simd
nim_simd copied to clipboard
sse3 ssse3 sse4.1 and sse4.2
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.
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.