Skip to content

Add SIMD128 support to the wasm backend

Most WebAssembly runtimes as of today supports 128bits fixed-width SIMD, and it's also supported by LLVM. So it's possible for us to support it in the wasm backend, a good portion of GHC SIMD primops can be lowered to wasm SIMD128 opcodes directly.

I don't see any particular difficulty in this, but it does take some time to implement. And it's a rather low priority feature request, should be postponed given:

  • There still exist issue with -dcmm-lint and SIMD in GHC (#22297 (closed)).
    • Update: the related issue has been fixed
  • JavaScriptCore still doesn't support it yet, and WebKit-based browsers do have a market share we'd like to not ignore.
    • Update: it's supported since safari 16.4
Edited by Cheng Shao
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information