[wasm] Add Vector128 and PackedSimd support to the jiterpreter; add PackedSimd to...
authorKatelyn Gadd <kg@luminance.org>
Sun, 7 May 2023 05:11:33 +0000 (22:11 -0700)
committerGitHub <noreply@github.com>
Sun, 7 May 2023 05:11:33 +0000 (22:11 -0700)
commit7c75cbfcaa69d9995799254c7610adb1a0378679
tree57a6354b83afdd56479cb056a8bafa868d0b4ff5
parentd7c94a8b5e29aa8f83981476b95c61ce313f6a72
[wasm] Add Vector128 and PackedSimd support to the jiterpreter; add PackedSimd to the interpreter (#82773)

* Add PackedSIMD support to the interpreter (off by default)
* Add SIMD support to the jiterpreter
* Add runtime options governing interpreter vector128 and packedsimd support
* Add some R4 vector128 operations to the interpreter
* Fix jiterpreter MINT_POPCNT_I8 implementation
* Enable compiling the runtime with wasm simd support so that intrinsics can be used
* Add browser-bench measurements for packing vector128
23 files changed:
src/mono/CMakeLists.txt
src/mono/mono/mini/interp/interp-internals.h
src/mono/mono/mini/interp/interp-simd-intrins.def
src/mono/mono/mini/interp/interp-simd.c
src/mono/mono/mini/interp/interp-simd.h
src/mono/mono/mini/interp/interp.c
src/mono/mono/mini/interp/mintops.h
src/mono/mono/mini/interp/simd-methods.def
src/mono/mono/mini/interp/transform-simd.c
src/mono/mono/utils/options-def.h
src/mono/sample/wasm/browser-bench/Vector.cs
src/mono/wasm/runtime/CMakeLists.txt
src/mono/wasm/runtime/cwraps.ts
src/mono/wasm/runtime/genmintops.py
src/mono/wasm/runtime/jiterpreter-interp-entry.ts
src/mono/wasm/runtime/jiterpreter-jit-call.ts
src/mono/wasm/runtime/jiterpreter-opcodes.ts
src/mono/wasm/runtime/jiterpreter-support.ts
src/mono/wasm/runtime/jiterpreter-trace-generator.ts
src/mono/wasm/runtime/jiterpreter.ts
src/mono/wasm/runtime/wasm-simd-feature-detect.wasm [new file with mode: 0644]
src/mono/wasm/runtime/wasm-simd-feature-detect.wat [new file with mode: 0644]
src/mono/wasm/wasm.proj