fitzgen edited issue #9783.
github-actions[bot] commented on issue #9783:
Subscribe to Label Action
cc @cfallin, @fitzgen
<details>
This issue or pull request has been labeled: "isle"Thus the following users have been cc'd because of the following labels:
- cfallin: isle
- fitzgen: isle
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
fitzgen edited issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter.
This is a good first issue for new contributors that are somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc.
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests Passing
fitzgen edited issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter. When using Pulley, Wasmtime still uses Cranelift for optimizations, but Cranelift ultimately emits Pulley bytecode instead of machine code. Then, Wasmtime uses Pulley's interpreter to interpret the bytecode, instead of executing native machine code.
<details> <summary>Diagram of the compiler pipeline with Pulley</summary>
+------+ | Wasm | +------+ | | Wasm-to-CLIF translation (Wasmtime) | V +------+ | CLIF | +------+ | | mid-end optimizations (Cranelift) | V +------+ | CLIF | +------+ | | ISLE lowering rules (Cranelift) | V +-----------------+ | Pulley bytecode | +-----------------+
</details>
This is a good first issue for new contributors that are already somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc. To help out with this effort, follow this guide:
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
fitzgen edited issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter. When using Pulley, Wasmtime still uses Cranelift for optimizations, but Cranelift ultimately emits Pulley bytecode instead of machine code. Then, Wasmtime uses Pulley's interpreter to interpret the bytecode, instead of executing native machine code.
<details> <summary>Diagram of the compiler pipeline with Pulley</summary>
+------+ | Wasm | +------+ | | Wasm-to-CLIF translation (Wasmtime) | V +------+ | CLIF | +------+ | | mid-end optimizations (Cranelift) | V +------+ | CLIF | +------+ | | ISLE lowering rules (Cranelift) | V +-----------------+ | Pulley bytecode | +-----------------+
</details>
This is a good first issue for new contributors that are already somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc. To help out with this effort, follow this guide:
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wast
tests are passing and which are failing under Pulley, see theWastTest::should_fail
method incrates/wast-util/src/lib.rs
.
fitzgen edited issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter. When using Pulley, Wasmtime still uses Cranelift (our optimizing compiler) for optimizations, but Cranelift ultimately emits Pulley bytecode instead of machine code. Then, Wasmtime uses Pulley's interpreter to interpret the bytecode, instead of executing native machine code.
<details> <summary>Diagram of the compiler pipeline with Pulley</summary>
+------+ | Wasm | +------+ | | Wasm-to-CLIF translation (Wasmtime) | V +------+ | CLIF | +------+ | | mid-end optimizations (Cranelift) | V +------+ | CLIF | +------+ | | ISLE lowering rules (Cranelift) | V +-----------------+ | Pulley bytecode | +-----------------+
</details>
This is a good first issue for new contributors that are already somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc. To help out with this effort, follow this guide:
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wast
tests are passing and which are failing under Pulley, see theWastTest::should_fail
method incrates/wast-util/src/lib.rs
.
Xuanwo commented on issue #9783:
For newcomers to this issue:
- [ ] "misc_testsuite/simd/canonicalize-nan.wast"
- [ ] "misc_testsuite/simd/issue_3327_bnot_lowering.wast"
- [ ] "misc_testsuite/simd/v128-select.wast"
- [ ] "spec_testsuite/proposals/annotations/simd_lane.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i32x4_relaxed_trunc.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_dot_product.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/simd_lane.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_dot_product.wast"
- [ ] "spec_testsuite/proposals/memory64/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/memory64/i32x4_relaxed_trunc.wast"
- [ ] "spec_testsuite/simd_f32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9897
- [ ] "spec_testsuite/simd_f32x4_cmp.wast"
- [ ] "spec_testsuite/simd_f32x4_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_f64x2_arith.wast"
- [ ] "spec_testsuite/simd_f64x2_cmp.wast"
- [ ] "spec_testsuite/simd_f64x2_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_i16x8_extadd_pairwise_i8x16.wast"
- [ ] "spec_testsuite/simd_i16x8_q15mulr_sat_s.wast"
- [ ] "spec_testsuite/simd_i16x8_sat_arith.wast"
- [ ] "spec_testsuite/simd_i32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9907
- [ ] "spec_testsuite/simd_i32x4_dot_i16x8.wast"
- [ ] "spec_testsuite/simd_i32x4_extadd_pairwise_i16x8.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f32x4.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f64x2.wast"
- [ ] "spec_testsuite/simd_i64x2_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_sat_arith.wast"
- [ ] "spec_testsuite/simd_lane.wast"
- [ ] "spec_testsuite/simd_load.wast"
- [ ] "spec_testsuite/simd_splat.wast"
alexcrichton edited a comment on issue #9783:
For newcomers to this issue:
- [ ] "misc_testsuite/simd/canonicalize-nan.wast"
- [ ] "misc_testsuite/simd/issue_3327_bnot_lowering.wast"
- [ ] "misc_testsuite/simd/v128-select.wast"
- [ ] "spec_testsuite/proposals/annotations/simd_lane.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i32x4_relaxed_trunc.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_dot_product.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/simd_lane.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_dot_product.wast"
- [ ] "spec_testsuite/proposals/memory64/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/memory64/i32x4_relaxed_trunc.wast"
- [x] "spec_testsuite/simd_f32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9897
- [ ] "spec_testsuite/simd_f32x4_cmp.wast"
- [ ] "spec_testsuite/simd_f32x4_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_f64x2_arith.wast"
- [ ] "spec_testsuite/simd_f64x2_cmp.wast"
- [ ] "spec_testsuite/simd_f64x2_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_i16x8_extadd_pairwise_i8x16.wast"
- [ ] "spec_testsuite/simd_i16x8_q15mulr_sat_s.wast"
- [ ] "spec_testsuite/simd_i16x8_sat_arith.wast"
- [ ] "spec_testsuite/simd_i32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9907
- [ ] "spec_testsuite/simd_i32x4_dot_i16x8.wast"
- [ ] "spec_testsuite/simd_i32x4_extadd_pairwise_i16x8.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f32x4.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f64x2.wast"
- [ ] "spec_testsuite/simd_i64x2_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_sat_arith.wast"
- [ ] "spec_testsuite/simd_lane.wast"
- [ ] "spec_testsuite/simd_load.wast"
- [ ] "spec_testsuite/simd_splat.wast"
alexcrichton edited a comment on issue #9783:
For newcomers to this issue:
- [ ] "misc_testsuite/simd/canonicalize-nan.wast"
- [ ] "misc_testsuite/simd/issue_3327_bnot_lowering.wast"
- [ ] "misc_testsuite/simd/v128-select.wast"
- [ ] "spec_testsuite/proposals/annotations/simd_lane.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i32x4_relaxed_trunc.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_dot_product.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/simd_lane.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_dot_product.wast"
- [ ] "spec_testsuite/proposals/memory64/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/memory64/i32x4_relaxed_trunc.wast"
- [x] "spec_testsuite/simd_f32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9897
- [ ] "spec_testsuite/simd_f32x4_cmp.wast"
- [ ] "spec_testsuite/simd_f32x4_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_f64x2_arith.wast"
- [ ] "spec_testsuite/simd_f64x2_cmp.wast"
- [ ] "spec_testsuite/simd_f64x2_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_i16x8_extadd_pairwise_i8x16.wast"
- [ ] "spec_testsuite/simd_i16x8_q15mulr_sat_s.wast"
- [ ] "spec_testsuite/simd_i16x8_sat_arith.wast"
- [x] "spec_testsuite/simd_i32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9907
- [ ] "spec_testsuite/simd_i32x4_dot_i16x8.wast"
- [ ] "spec_testsuite/simd_i32x4_extadd_pairwise_i16x8.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f32x4.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f64x2.wast"
- [ ] "spec_testsuite/simd_i64x2_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_sat_arith.wast"
- [ ] "spec_testsuite/simd_lane.wast"
- [ ] "spec_testsuite/simd_load.wast"
- [ ] "spec_testsuite/simd_splat.wast"
Xuanwo edited a comment on issue #9783:
For newcomers to this issue:
- [ ] "misc_testsuite/simd/canonicalize-nan.wast"
- [ ] "misc_testsuite/simd/issue_3327_bnot_lowering.wast"
- [ ] "misc_testsuite/simd/v128-select.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i32x4_relaxed_trunc.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_dot_product.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_dot_product.wast"
- [ ] "spec_testsuite/proposals/memory64/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/memory64/i32x4_relaxed_trunc.wast"
- [x] "spec_testsuite/simd_f32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9897
- [ ] "spec_testsuite/simd_f32x4_cmp.wast"
- [ ] "spec_testsuite/simd_f32x4_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_f64x2_arith.wast"
- [ ] "spec_testsuite/simd_f64x2_cmp.wast"
- [ ] "spec_testsuite/simd_f64x2_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_i16x8_extadd_pairwise_i8x16.wast"
- [ ] "spec_testsuite/simd_i16x8_q15mulr_sat_s.wast"
- [ ] "spec_testsuite/simd_i16x8_sat_arith.wast"
- [x] "spec_testsuite/simd_i32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9907
- [ ] "spec_testsuite/simd_i32x4_dot_i16x8.wast"
- [ ] "spec_testsuite/simd_i32x4_extadd_pairwise_i16x8.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f32x4.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f64x2.wast"
- [ ] "spec_testsuite/simd_i64x2_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_sat_arith.wast"
- [ ] "spec_testsuite/simd_load.wast"
- [ ] "spec_testsuite/simd_splat.wast"
- [ ] https://github.com/bytecodealliance/wasmtime/pull/9910
- [ ] "spec_testsuite/simd_lane.wast"
- [ ] "spec_testsuite/proposals/memory64/simd_lane.wast"
- [ ] "spec_testsuite/proposals/annotations/simd_lane.wast"
Xuanwo edited a comment on issue #9783:
For newcomers to this issue:
- [ ] "misc_testsuite/simd/canonicalize-nan.wast"
- [ ] "misc_testsuite/simd/issue_3327_bnot_lowering.wast"
- [ ] "misc_testsuite/simd/v128-select.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i32x4_relaxed_trunc.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/memory64/i32x4_relaxed_trunc.wast"
- [x] "spec_testsuite/simd_f32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9897
- [ ] "spec_testsuite/simd_f32x4_cmp.wast"
- [ ] "spec_testsuite/simd_f32x4_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_f64x2_arith.wast"
- [ ] "spec_testsuite/simd_f64x2_cmp.wast"
- [ ] "spec_testsuite/simd_f64x2_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_i16x8_q15mulr_sat_s.wast"
- [ ] "spec_testsuite/simd_i16x8_sat_arith.wast"
- [x] "spec_testsuite/simd_i32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9907
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f32x4.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f64x2.wast"
- [ ] "spec_testsuite/simd_i64x2_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_arith2.wast"
- [ ] "spec_testsuite/simd_i8x16_sat_arith.wast"
- [ ] "spec_testsuite/simd_load.wast"
- [ ] "spec_testsuite/simd_splat.wast"
[ ] https://github.com/bytecodealliance/wasmtime/pull/9910
- "spec_testsuite/simd_lane.wast"
- "spec_testsuite/proposals/memory64/simd_lane.wast"
- "spec_testsuite/proposals/annotations/simd_lane.wast"[ ] https://github.com/bytecodealliance/wasmtime/pull/9912
- "spec_testsuite/proposals/relaxed-simd/relaxed_dot_product.wast"
- "spec_testsuite/proposals/memory64/relaxed_dot_product.wast"
- "spec_testsuite/simd_i16x8_extadd_pairwise_i8x16.wast"
- "spec_testsuite/simd_i32x4_dot_i16x8.wast"
- "spec_testsuite/simd_i32x4_extadd_pairwise_i16x8.wast"
Xuanwo edited a comment on issue #9783:
For newcomers to this issue:
- [ ] "misc_testsuite/simd/canonicalize-nan.wast"
- [ ] "misc_testsuite/simd/issue_3327_bnot_lowering.wast"
- [ ] "misc_testsuite/simd/v128-select.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i32x4_relaxed_trunc.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/memory64/i32x4_relaxed_trunc.wast"
- [x] "spec_testsuite/simd_f32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9897
- [ ] "spec_testsuite/simd_f32x4_cmp.wast"
- [ ] "spec_testsuite/simd_f32x4_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_f64x2_arith.wast"
- [ ] "spec_testsuite/simd_f64x2_cmp.wast"
- [ ] "spec_testsuite/simd_f64x2_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_i16x8_q15mulr_sat_s.wast"
- [x] "spec_testsuite/simd_i32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9907
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f32x4.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f64x2.wast"
- [ ] "spec_testsuite/simd_load.wast"
- [ ] "spec_testsuite/simd_splat.wast"
[ ] https://github.com/bytecodealliance/wasmtime/pull/9910
- "spec_testsuite/simd_lane.wast"
- "spec_testsuite/proposals/memory64/simd_lane.wast"
- "spec_testsuite/proposals/annotations/simd_lane.wast"[ ] https://github.com/bytecodealliance/wasmtime/pull/9912
- "spec_testsuite/proposals/relaxed-simd/relaxed_dot_product.wast"
- "spec_testsuite/proposals/memory64/relaxed_dot_product.wast"
- "spec_testsuite/simd_i16x8_extadd_pairwise_i8x16.wast"
- "spec_testsuite/simd_i32x4_dot_i16x8.wast"
- "spec_testsuite/simd_i32x4_extadd_pairwise_i16x8.wast"
- [ ] https://github.com/bytecodealliance/wasmtime/pull/9908
- "spec_testsuite/simd_i16x8_sat_arith.wast"
- "spec_testsuite/simd_i64x2_arith2.wast"
- "spec_testsuite/simd_i8x16_arith2.wast"
- "spec_testsuite/simd_i8x16_sat_arith.wast"
Xuanwo edited a comment on issue #9783:
For newcomers to this issue, here is all the remaining tasks avaiable:
- [ ] "misc_testsuite/simd/canonicalize-nan.wast"
- [ ] "misc_testsuite/simd/issue_3327_bnot_lowering.wast"
- [ ] "misc_testsuite/simd/v128-select.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/i32x4_relaxed_trunc.wast"
- [ ] "spec_testsuite/proposals/relaxed-simd/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/relaxed_madd_nmadd.wast"
- [ ] "spec_testsuite/proposals/memory64/i16x8_relaxed_q15mulr_s.wast"
- [ ] "spec_testsuite/proposals/memory64/i32x4_relaxed_trunc.wast"
- [x] "spec_testsuite/simd_f32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9897
- [ ] "spec_testsuite/simd_f32x4_cmp.wast"
- [ ] "spec_testsuite/simd_f32x4_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_f64x2_arith.wast"
- [ ] "spec_testsuite/simd_f64x2_cmp.wast"
- [ ] "spec_testsuite/simd_f64x2_pmin_pmax.wast"
- [ ] "spec_testsuite/simd_i16x8_q15mulr_sat_s.wast"
- [x] "spec_testsuite/simd_i32x4_arith.wast" https://github.com/bytecodealliance/wasmtime/pull/9907
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f32x4.wast"
- [ ] "spec_testsuite/simd_i32x4_trunc_sat_f64x2.wast"
- [ ] "spec_testsuite/simd_load.wast"
- [ ] "spec_testsuite/simd_splat.wast"
[ ] https://github.com/bytecodealliance/wasmtime/pull/9910
- "spec_testsuite/simd_lane.wast"
- "spec_testsuite/proposals/memory64/simd_lane.wast"
- "spec_testsuite/proposals/annotations/simd_lane.wast"[ ] https://github.com/bytecodealliance/wasmtime/pull/9912
- "spec_testsuite/proposals/relaxed-simd/relaxed_dot_product.wast"
- "spec_testsuite/proposals/memory64/relaxed_dot_product.wast"
- "spec_testsuite/simd_i16x8_extadd_pairwise_i8x16.wast"
- "spec_testsuite/simd_i32x4_dot_i16x8.wast"
- "spec_testsuite/simd_i32x4_extadd_pairwise_i16x8.wast"
- [ ] https://github.com/bytecodealliance/wasmtime/pull/9908
- "spec_testsuite/simd_i16x8_sat_arith.wast"
- "spec_testsuite/simd_i64x2_arith2.wast"
- "spec_testsuite/simd_i8x16_arith2.wast"
- "spec_testsuite/simd_i8x16_sat_arith.wast"
takaebato commented on issue #9783:
Hi! I'd like to try tackling some of them!
alexcrichton closed issue #9783:
Let's get all
.wast
tests passing under Pulley!Pulley is Wasmtime's portable, optimizing interpreter. When using Pulley, Wasmtime still uses Cranelift (our optimizing compiler) for optimizations, but Cranelift ultimately emits Pulley bytecode instead of machine code. Then, Wasmtime uses Pulley's interpreter to interpret the bytecode, instead of executing native machine code.
<details> <summary>Diagram of the compiler pipeline with Pulley</summary>
+------+ | Wasm | +------+ | | Wasm-to-CLIF translation (Wasmtime) | V +------+ | CLIF | +------+ | | mid-end optimizations (Cranelift) | V +------+ | CLIF | +------+ | | ISLE lowering rules (Cranelift) | V +-----------------+ | Pulley bytecode | +-----------------+
</details>
This is a good first issue for new contributors that are already somewhat familiar with Rust development and are excited to dive into Wasmtime/Cranelift/compilers/interpreters/etc. To help out with this effort, follow this guide:
Guide: How to Add Missing Instructions to Pulley and Get
.wast
Tests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wast
tests are passing and which are failing under Pulley, see theWastTest::should_fail
method incrates/wast-util/src/lib.rs
.
alexcrichton commented on issue #9783:
Thanks again to everyone who helped out with this!
Last updated: Jan 24 2025 at 00:11 UTC