simd-everywhere / simde

Implementations of SIMD instruction sets for systems which don't natively support them.
https://simd-everywhere.github.io/blog/
MIT License
2.28k stars 237 forks source link

update list of fully implemented instruction sets #1152

Closed mr-c closed 4 months ago

Torinde commented 4 months ago

"SSE4.1 List including CRC32" - I think the CRC32 instructions are some of the "non-SIMD" SSE4.2, not SSE4.1.

Related question is if SIMDe implements the non-SIMD instructions of MMX, SSE, SSE2, SSE3? From a cursory search I did it seems the answer is no.

Also, would you like to have Issues raised for:

mr-c commented 4 months ago

Good catch, I'll split out CRC32 separately since our SSE4.2 support is incomplete.

And https://github.com/simd-everywhere/implementation-status/blob/main/x86.md#vpclmulqdq is implemented, so I'll add it to the list

Happy to have new issues for AVX512-VAES, SSE4a, FMA4 and others, sure. Please double check https://github.com/simd-everywhere/implementation-status/blob/main/x86.md in case it is already done, but not documented.

If you or your collaborators are interested in implementing some of these, we can have a video call where I can walk you through adding a new intrinsic implementation.

Torinde commented 4 months ago

OK, created a few Issues.

Looking at implementation status/x86.md:

mr-c commented 4 months ago
  • SSE Implemented: 239 of 241 (99.17%), but listed on the main page as complete
  • AVX Implemented: 296 of 298 (99.33%), but listed on the main page as complete

See https://github.com/simd-everywhere/simde?tab=readme-ov-file#caveats

Please create issues or PRs for the others, thanks!