Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for WebAssembly SIMD128 #212

Open
TerrorJack opened this issue Feb 1, 2023 · 2 comments
Open

Add support for WebAssembly SIMD128 #212

TerrorJack opened this issue Feb 1, 2023 · 2 comments

Comments

@TerrorJack
Copy link
Contributor

The WebAssembly spec already supports 128-bit fixed-width SIMD opcodes, see the spec and the clang builtins for details.

I'm wondering if the simdutf maintainers are interested in accepting a port to WebAssembly SIMD128. This won't be worked on immediately (for Safari it's only in TP and not release yet), but having a tracking ticket is good anyway, and I'm curious to hear what you folks think :)

@lemire
Copy link
Member

lemire commented Feb 1, 2023

Not only would it be welcome, but we would be happy to help.

@easyaspi314
Copy link
Contributor

easyaspi314 commented May 19, 2023

WASM is a blatant copy of very similar to NEON (just without half vectors), so it would probably be an easy port — especially since the emscripten toolchain includes a polyfill arm_neon.h from SIMDe.

I know that for xxHash, the arm_neon.h header had solid performance with literally no changes, so it could probably get away with only a few specializations. (e.g. alternative paths when half vectors are used)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants