alexcrichton opened PR #11785 from alexcrichton:revert to bytecodealliance:main:
This reverts #11748 as fuzzing turned up a differential execution error which bisected to this PR. The original failing test case is:
<details>
<summary><code>testcase0.wat</code></summary>
(module (type (;0;) (func (param i32 i32) (result i32))) (global (;0;) (mut i32) i32.const 0) (global (;1;) (mut i32) i32.const 1000) (export "r_ coatin-1not r e*_e*A__se*r ,r,r_ coatin-1not r e*_e*A__se*_," (func 0)) (export "r,r_ coatin-1not r e*_,r,rt_co ain-1not r _ coatin-1not r e*\u{1f},r,rt_co ain-1not r ,_,r,r_ ocatin-0not r ,r,r_ " (global 0)) (elem (;0;) func) (func (;0;) (type 0) (param i32 i32) (result i32) global.get 1 i32.eqz if ;; label = @1 unreachable end global.get 1 i32.const 1 i32.sub global.set 1 local.get 1 local.set 0 local.get 1 i32.popcnt i32.popcnt i32.extend8_s i32.popcnt i64.extend_i32_u i64.clz i64.clz i64.extend8_s i32.const -131072 local.tee 1 i32.extend8_s i32.popcnt local.set 0 i64.extend8_s local.get 1 i32.extend8_s local.get 0 i32.lt_s i64.extend_i32_u i64.popcnt i64.shr_u local.get 0 local.set 0 i32.const 825060969 local.get 0 i32.lt_s local.set 0 i64.ctz i64.clz i64.ctz elem.drop 0 i64.clz i64.ctz elem.drop 0 i64.ctz i32.const -513 local.get 1 i32.xor local.set 1 local.get 0 i64.extend_i32_u i64.or i64.extend8_s i64.ctz local.get 1 i64.extend_i32_u i64.shr_s i64.clz i64.extend8_s i32.const -131072 local.tee 1 i32.extend8_s i32.extend8_s local.set 0 i32.const 825060969 local.get 0 i32.lt_s local.set 0 i64.extend8_s local.get 1 i32.extend8_s local.get 0 i32.lt_s i32.ctz i32.extend8_s i64.extend_i32_u i64.gt_s local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 i32.lt_s local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 i32.lt_s local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s i32.popcnt i64.extend_i32_u i64.clz i64.clz i64.extend8_s i64.extend8_s elem.drop 0 i64.extend8_s local.get 1 i32.extend8_s local.get 0 i32.lt_s i32.ctz i32.extend8_s i64.extend_i32_u i64.gt_s local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 i32.lt_s local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 i32.lt_s local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 i32.lt_s local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s i32.popcnt i64.extend_i32_u i64.clz i64.clz i64.extend8_s i64.extend8_s elem.drop 0 i64.extend8_s local.get 1 i32.extend8_s local.get 0 i32.lt_s i32.ctz i32.extend8_s i64.extend_i32_u i64.gt_s local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 i32.lt_s local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 i32.lt_s local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s local.set 1 local.get 1 local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 i32.lt_s local.set 0 local.get 1 local.set 0 local.get 1 i32.popcnt i32.extend8_s i32.extend8_s i32.popcnt i64.extend_i32_u i64.clz i64.clz i64.extend8_s i64.extend8_s elem.drop 0 i64.extend8_s local.get 1 i32.extend8_s local.get 0 i32.lt_s i32.ctz i32.extend8_s i64.extend_i32_u i64.gt_s local.get 1 i32.xor local.set 0 local.get 0 local.set 0 i32.const 808283753 local.get 0 global.get 0 i32.xor global.set 0 ) (func (export "x") (result i32) i32.const -1 i32.const -1 call 0 drop global.get 0) )</details>
and
wasm-tools shrink-minimized version is attached to this PR as a regression test as well.
alexcrichton requested fitzgen for a review on PR #11785.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #11785.
alexcrichton requested wasmtime-core-reviewers for a review on PR #11785.
cfallin submitted PR review:
Thanks for triaging!
cfallin has enabled auto merge for PR #11785.
cfallin merged PR #11785.
Last updated: Dec 06 2025 at 06:05 UTC