src/arch/wasm/CodeGen.zig | 168 ++++++++++++++++++++++++++------ src/arch/wasm/Emit.zig | 30 ++++++ src/arch/wasm/Mir.zig | 60 ++++++++++++ test/behavior.zig | 42 ++++---- test/behavior/align.zig | 3 - test/behavior/bugs/10970.zig | 4 + test/behavior/bugs/1421.zig | 5 + test/behavior/bugs/1442.zig | 4 + test/behavior/bugs/1607.zig | 5 + test/behavior/bugs/3742.zig | 5 + test/behavior/bugs/5398.zig | 5 + test/behavior/bugs/5474.zig | 8 ++ test/behavior/bugs/5487.zig | 5 + test/behavior/bugs/726.zig | 11 +++ test/behavior/bugs/828.zig | 5 + test/behavior/enum.zig | 1 - test/behavior/error.zig | 3 - test/behavior/field_parent_ptr.zig | 9 ++ test/behavior/math.zig | 1 - test/behavior/merge_error_sets.zig | 5 + test/behavior/null.zig | 1 - test/behavior/ptrcast.zig | 1 - test/behavior/sizeof_and_typeof.zig | 14 +++ test/behavior/struct_contains_null_ptr_itself.zig | 5 + test/behavior/switch.zig | 1 - test/behavior/switch_prong_err_enum.zig | 5 + test/behavior/switch_prong_implicit_cast.zig | 5 + test/behavior/union.zig | 1 - test/behavior/var_args.zig | 3 - 29 files changed, 347 insertions(+), 68 deletions(-)