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
.wasttests 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
.wastTests Passing
fitzgen edited issue #9783:
Let's get all
.wasttests 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
.wastTests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
fitzgen edited issue #9783:
Let's get all
.wasttests 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
.wastTests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wasttests are passing and which are failing under Pulley, see theWastTest::should_failmethod incrates/wast-util/src/lib.rs.
fitzgen edited issue #9783:
Let's get all
.wasttests 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
.wastTests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wasttests are passing and which are failing under Pulley, see theWastTest::should_failmethod 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
.wasttests 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
.wastTests PassingNote that we have docs for contributing to Wasmtime and Cranelift in general as well.
For the most up-to-date list of which
.wasttests are passing and which are failing under Pulley, see theWastTest::should_failmethod incrates/wast-util/src/lib.rs.
alexcrichton commented on issue #9783:
Thanks again to everyone who helped out with this!
Last updated: Dec 13 2025 at 21:03 UTC