Simd: Opcode renumbering progress tracking

Created on 1 May 2020  ยท  12Comments  ยท  Source: WebAssembly/simd

We have started upating projects to use the new opcodes proposed in #209 according the process described in #129. This issue tracks the progress of the update for various projects. Feel free to comment on the progress of the update for any additional projects you may know about.

  • โœ… V8: merged and available from jsvu
  • โœ… LLVM: merged upstream
  • โœ… Binaryen: merged upstream
  • โœ… WABT: released in 1.0.15
  • โœ… Emscripten: released in 1.39.15
  • โœ… wasmparser.rs: released in 0.52
  • โœ… Chrome: released to Stable in 84
  • โœ… Firefox Nightly
  • โœ… Node: Released in 14.6.
  • ๐Ÿ“ Rust: LLVM PR merged, rust-lang/rust PR to follow
  • โ” ImplementationStatus.md, BinarySIMD.md, and tests in this repo
tracking

Most helpful comment

Just wanted to confirm that the current status makes SIMD work end-to-end, see https://github.com/zeux/meshoptimizer/pull/141:

  • Built using emscripten tot (available as a binary release via emsdk install tot, no need to build anything manually)
  • Tested in CI using node-v8 lkgr Linux build
  • Also works in Chrome Canary on Windows

Which was basically painless :)

All 12 comments

Can we add wasmparser.rs?

Sure, what's its status right now?

WIP

Would be great to also track binary releases and dependent tools:

  • Enscripten latest
  • jsvu/v8 nightly (this might be ready? Unsure)
  • Chrome Canary
  • Chrome Stable (this will take time obviously)
  • node nightly
  • node stable (this will take time, as well as one above)

This is available in the V8 nightly version from 8.4.268 onwards, and the Chrome Canary version 84.0.4133.0 on Windows, Mac and Android (Linux, iOS still catching up). It should eventually be released to stable on Chrome 84. It looks like the latest node update was to V8 8.1.307.31, so it will take some time, but depending on ABI compatibility, it might be possible to have 8.4 in Node.js 14. Another place to try this out in Node is node-v8 which is an automatically updated experimental version of Node.js with the V8 lkgr.

wasmparser.rs changed the encoding in 0.52

Just wanted to confirm that the current status makes SIMD work end-to-end, see https://github.com/zeux/meshoptimizer/pull/141:

  • Built using emscripten tot (available as a binary release via emsdk install tot, no need to build anything manually)
  • Tested in CI using node-v8 lkgr Linux build
  • Also works in Chrome Canary on Windows

Which was basically painless :)

node.js 14.6 supports new opcode encoding now.

And so does Chrome 84 (which is a release build)

Thanks! Updated the opening post.

FWIW, so does Firefox (still Nightly-only).

Closing this because I am not aware of further work that needs to be done here.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sirinath picture sirinath  ยท  9Comments

omnisip picture omnisip  ยท  3Comments

lars-t-hansen picture lars-t-hansen  ยท  5Comments

tlively picture tlively  ยท  6Comments

ngzhian picture ngzhian  ยท  7Comments