-
Notifications
You must be signed in to change notification settings - Fork 7
Description
https://github.com/simd-everywhere/simde is a bunch of headers that implements one platform's SIMD intrinsics using either another platform's or just a heavily-hinted generic loop. It might be a good idea to use its version of SSE2 and/or AVX2 to get a non-zero amount of SIMD on platforms such as PPC (AltiVec), RISC-V (two separate things they have), even WASM (yeah sure, run a prime test in a browser, why not?)
Also SIMDE works with intrinsics, so might need to dig up some older version written in intrinsics instead of full inline assembly.
On the same note the generic-vector stuff in type.h seem to be largely redundant with GCC Vector Extensions (https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html), which has nicer syntax and is also supported by clang, though migrating existing member accesses might be quite a headache. Should be compatible with native and SIMDE intrins.