Repository navigation
Shipping progress #480
Description
Activity
Can we add WAMR, Wasmtime, and Lucet to that list? Perhaps WAVM and SSVM as well?
(Should we update the implementation status document for those runtimes as well?)
Now that the proposal is finalized, the more fine-grained status documents aren't as useful IMO because support has become more or less binary.
Reacted by Andrew Brown and LinzCan we add Wasmer to the list? Thanks!
Reacted by Thomas LivelyCan we add https://github.com/wasdk/wasmparser too? (note this is not the .rs one, this is used by Chrome DevTools iiuc)
Reacted by Thomas LivelyInteresting, I've never seen that one before. Added!
For authors of tools, https://github.com/ngzhian/simd-opcodes might be handy, it's just a csv of opcodes (in int and hex) and names of instructions (and also signature, if it takes a memarg, and how many immediates they take). This might be useful for tools to use to generate whatever they need to in order to update their opcodes/add new opcodes.
Reacted by Thomas Lively and Linz@tlively I just realized that CodeMirror is missing from the list above. Without CodeMirror support (in the
wastmode), SIMD instructions syntax highlighting will be wrong/confusing to developers in their DevTools.Reacted by Thomas Lively and Linzwasdk/wasmparser has the changes in 5.0.1 (see wasdk/wasmparser#92 (comment))
Reacted by Thomas LivelyV8 update just got merged in https://crrev.com/c/2728432, it will be in version 9.1.54 (once I know the Chrome Canary version I'll share it here.)
Reacted by Maratyszcza, Thomas Lively, Syrus Akbary, Peter Wong, Linz, Arun Etm and Deepti GandluriReacted by Peter Wong, Linz and Deepti GandluriCodeMirror is updated codemirror/codemirror5#6613 (should be in 5.59.5, based on numberings so far).
As of this commit, WAVM supports the final SIMD proposal.
Reacted by Syrus Akbary, Maratyszcza, Linz, Thomas Lively and Deepti GandluriChrome canary supports SIMD on by default as of 91.0.4442.4 on Linux, and 91.0.4441.0+ on other platforms (Windows, Mac, Android).
Reacted by Thomas Lively and MaratyszczaI updated LLVM's status. All operations LLVM supports have the correct names and numbers, but it does not yet support all the new operations. wasm_simd128.h also has not yet been updated, but its planned changes are discussed in #342.
Reacted by Evan Nemerson, Linz, Maratyszcza and Deepti Gandluriwabt 1.0.22 is up to date (WebAssembly/wabt#1650)
Reacted by Evan Nemerson, Maratyszcza and Deepti GandluriThanks for working on that, @ngzhian!
Firefox 89 (now in Nightly) on x86/x64 is believed to have all instructions with final opcode assignments.
Reacted by Deepti Gandluri, Thomas Lively, Linz, Kagami Sascha Rosylight, Maratyszcza and Ben ArnettReacted by Deepti Gandluri, Linz and MaratyszczaWasmer now supports the final SIMD opcodes (with all spectests passing) for x86 and aarch64 in
master🚀More info: wasmerio/wasmer#2156
Reacted by Thomas Lively, Ivan 🦀 and LinzThe Rust language support for the simd proposal is in the home stretch and things are about to become stable and much more difficult to change after that point. A high-level summary of Rust's support is:
- Check here to see what's becoming stable
- nightly documentation of intrinsics
- If everything proceeds apace support will be in stable Rust 1.54, to be released on July 29th 2021
If anyone is curious feel free to check out the APIs and/or naming and such. Always willing to hear feedback on that! The tracking issue is in "FCP" as of this moment. This means that there's another week or so for any final concerns to be raised. If no concerns are raised then these will become stable on the nightly channel for Rust and will get released as part of Rust 1.54.
Once this all lands the
std::arch::wasm32module in Rust's standard library (and the correspondingcore::arch::wasm32module) will have all the necessary functions/intrinsics/types to generate wasm binaries that use this proposal.Reacted by Thomas Lively, Arun Etm, Peter Wong, Deepti Gandluri and repiNode.js now supports the final SIMD opcodes as of version 16.4.0, since V8 was updated to 9.1.269.36 (nodejs/node#38273).
Reacted by Thomas Lively, Maratyszcza, Syrus Akbary and Linz
This issue is meant to track which projects have updated their implementation to match the final proposal and have shipped by default, if applicable.
master