From 348a56f0dee3bd0a52ec1babe306464fe6c55c52 Mon Sep 17 00:00:00 2001 From: Suhyeon Ryu <702fbtngus@kaist.ac.kr> Date: Mon, 26 Feb 2024 17:38:19 +0900 Subject: [PATCH] added vcvtop: simd 96.17% --- spectec/spec/wasm-3.0/3-numerics.watsup | 22 +- spectec/test-frontend/TEST.md | 45 +- spectec/test-interpreter/TEST.md | 1705 +++++------ .../test-latex/spec-gen.include-wasm-1.0.tex | 2706 +++++++++++++++++ spectec/test-middlend/TEST.md | 284 +- spectec/test-prose/TEST.md | 56 +- spectec/test-splice/TEST.md | 2 + 7 files changed, 3744 insertions(+), 1076 deletions(-) create mode 100644 spectec/test-latex/spec-gen.include-wasm-1.0.tex diff --git a/spectec/spec/wasm-3.0/3-numerics.watsup b/spectec/spec/wasm-3.0/3-numerics.watsup index 9f805035fe..bea0409f00 100644 --- a/spectec/spec/wasm-3.0/3-numerics.watsup +++ b/spectec/spec/wasm-3.0/3-numerics.watsup @@ -222,6 +222,8 @@ def $vbinop(shape, vbinop_(shape), vec_(V128), vec_(V128)) : vec_(V128)* hint(show %2#_%1#(%3, %4)) def $vrelop(shape, vrelop_(shape), vec_(V128), vec_(V128)) : vec_(V128) hint(show %2#_%1#(%3, %4)) +def $vcvtop(shape_1, shape_2, vcvtop, sx?, lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) + hint(show %3#$_((%1,%2))^(%5)#((%6))) def $vunop(imm X N, ABS, v128_1) = v128 -- if lane_1* = $lanes_(imm X N, v128_1) @@ -417,8 +419,24 @@ def $vrelop(F64 X N, GE, v128_1, v128_2) = v128 -- if lane_3* = $ext(1, 64, S, $fge(64, lane_1, lane_2))* -- if v128 = $invlanes_(I64 X N, lane_3*) -def $vcvtop(shape_1, shape_2, vcvtop, sx?, lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) - hint(show %3#$_((%1,%2))^(%5)#((%6))) +def $vcvtop(I8 X N_1, I16 X N_2, EXTEND, sx, i8) = i16 + -- if i16 = $ext(8, 16, sx, i8) +def $vcvtop(I16 X N_1, I32 X N_2, EXTEND, sx, i16) = i32 + -- if i32 = $ext(16, 32, sx, i16) +def $vcvtop(I32 X N_1, I64 X N_2, EXTEND, sx, i32) = i64 + -- if i64 = $ext(32, 64, sx, i32) +def $vcvtop(F32 X N_1, I32 X N_2, TRUNC_SAT, sx, f32) = i32 + -- if i32 = $trunc_sat(32, 32, sx, f32) +def $vcvtop(F64 X N_1, I32 X N_2, TRUNC_SAT, sx, f64) = i32 + -- if i32 = $trunc_sat(64, 32, sx, f64) +def $vcvtop(I32 X N_1, F32 X N_2, CONVERT, sx, i32) = f32 + -- if f32 = $convert(32, 32, sx, i32) +def $vcvtop(I32 X N_1, F64 X N_2, CONVERT, sx, i32) = f64 + -- if f64 = $convert(32, 64, sx, i32) +def $vcvtop(F64 X N_1, F32 X N_2, DEMOTE, sx, f64) = f32 + -- if f32 = $demote(64, 32, f64) +def $vcvtop(F32 X N_1, F64 X N_2, PROMOTE, sx, f32) = f64 + -- if f64 = $promote(32, 64, f32) def $vextunop(ishape_1, ishape_2, vextunop_(ishape_1, ishape_2), sx, vec_(V128)) : vec_(V128) hint(show %3#$_((%1,%2))^(%5)#((%6))) diff --git a/spectec/test-frontend/TEST.md b/spectec/test-frontend/TEST.md index c700c830a4..49af783701 100644 --- a/spectec/test-frontend/TEST.md +++ b/spectec/test-frontend/TEST.md @@ -1939,12 +1939,45 @@ def $vrelop(shape : shape, vrelop_ : vrelop_(shape), vec_ : vec_(V128_vnn), vec_ ;; 3-numerics.watsup def $vcvtop(shape_1 : shape, shape_2 : shape, vcvtop : vcvtop, sx?, lane_ : lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i8 : lane_($lanetype(`%X%`(I8_lanetype, N_1))), i16 : lane_($lanetype(`%X%`(I16_lanetype, N_2)))}(`%X%`(I8_lanetype, N_1), `%X%`(I16_lanetype, N_2), EXTEND_vcvtop, ?(sx), i8) = i16 + -- if (i16 = $ext(8, 16, sx, i8)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i16 : lane_($lanetype(`%X%`(I16_lanetype, N_1))), i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(I16_lanetype, N_1), `%X%`(I32_lanetype, N_2), EXTEND_vcvtop, ?(sx), i16) = i32 + -- if (i32 = $ext(16, 32, sx, i16)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), i64 : lane_($lanetype(`%X%`(I64_lanetype, N_2)))}(`%X%`(I32_lanetype, N_1), `%X%`(I64_lanetype, N_2), EXTEND_vcvtop, ?(sx), i32) = i64 + -- if (i64 = $ext(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F32_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f32) = i32 + -- if (i32 = $trunc_sat(32, 32, sx, f32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F64_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f64) = i32 + -- if (i32 = $trunc_sat(64, 32, sx, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f32 : f32}(`%X%`(I32_lanetype, N_1), `%X%`(F32_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f32 + -- if (f32 = $convert(32, 32, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f64 : f64}(`%X%`(I32_lanetype, N_1), `%X%`(F64_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f64 + -- if (f64 = $convert(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, f32 : f32}(`%X%`(F64_lanetype, N_1), `%X%`(F32_lanetype, N_2), DEMOTE_vcvtop, ?(sx), f64) = f32 + -- if (f32 = $demote(64, 32, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, f64 : f64}(`%X%`(F32_lanetype, N_1), `%X%`(F64_lanetype, N_2), PROMOTE_vcvtop, ?(sx), f32) = f64 + -- if (f64 = $promote(32, 64, f32)) ;; 3-numerics.watsup def $vextunop(ishape_1 : ishape, ishape_2 : ishape, vextunop_ : vextunop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn)) : vec_(V128_vnn) ;; 3-numerics.watsup def $vextbinop(ishape_1 : ishape, ishape_2 : ishape, vextbinop_ : vextbinop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn), vec_ : vec_(V128_vnn)) : vec_(V128_vnn) + ;; 3-numerics.watsup + def $vextbinop{inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), c : vec_(V128_vnn), cj_1 : iN($lsize((inn_1 : inn <: lanetype))), cj_2 : iN($lsize((inn_1 : inn <: lanetype))), ci_1* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*, ci_2* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*}(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2), DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), sx, c_1, c_2) = c + -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_1)) + -- if (ci_2*{ci_2} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_2)) + -- if ($concat_(syntax iN($lsize((inn_1 : inn <: lanetype))), [cj_1 cj_2]*{}) = $imul($lsize((inn_1 : inn <: lanetype)), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_1), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_2))*{ci_1 ci_2}) + -- if (c = $invlanes_(`%X%`((inn_1 : inn <: lanetype), N_1), $iadd($lsize((inn_1 : inn <: lanetype)), cj_1, cj_2)^N_1{})) ;; 3-numerics.watsup def $vishiftop(ishape : ishape, vshiftop_ : vshiftop_(ishape), lane_ : lane_($lanetype((ishape : ishape <: shape))), u32 : u32) : lane_($lanetype((ishape : ishape <: shape))) @@ -4374,7 +4407,7 @@ relation Step_pure: `%*_~>%*`(admininstr*, admininstr*) rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*}: `%*_~>%*`([VCONST_admininstr(V128_vectype, c) VBITMASK_admininstr(`%X%`((inn : inn <: imm), N))], [CONST_admininstr(I32_numtype, ci)]) -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn : inn <: lanetype), N), c)) - -- if ($ibits(32, ci) = $ilt($size((inn : inn <: valtype)), S_sx, ci_1, 0)*{ci_1}) + -- if ($ibits(32, ci) = $ilt($lsize((inn : inn <: lanetype)), S_sx, ci_1, 0)*{ci_1}) ;; 8-reduction.watsup rule vnarrow{c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c : vec_(V128_vnn), ci_1* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, ci_2* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, cj_1* : iN($size((inn_2 : inn <: valtype)))*, cj_2* : iN($size((inn_2 : inn <: valtype)))*}: @@ -4867,16 +4900,16 @@ relation Step_read: `%~>%*`(config, admininstr*) -- if (c = $ext(N, 128, U_sx, j)) ;; 8-reduction.watsup - rule vload_lane-oob{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) + rule vload_lane-oob{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) -- if (((i + (mo.OFFSET_memop : uN(32) <: nat)) + (N / 8)) > |$mem(z, x).DATA_meminst|) ;; 8-reduction.watsup - rule vload_lane-val{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat, c : vec_(vt), k : nat, imm : imm, M : M}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(vt, c)]) + rule vload_lane-val{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat, c : vec_(V128_vnn), k : nat, imm : imm, M : M}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(V128_vectype, c)]) -- if ($ibytes(N, k) = $mem(z, x).DATA_meminst[(i + (mo.OFFSET_memop : uN(32) <: nat)) : (N / 8)]) -- if (N = $lsize((imm : imm <: lanetype))) - -- if (M = ($size((vt : vectype <: valtype)) / N)) + -- if (M = ($size(V128_valtype) / N)) -- if (c = $invlanes_(`%X%`((imm : imm <: lanetype), M), $lanes_(`%X%`((imm : imm <: lanetype), M), c_1)[[j] = (k : nat <: lane_($lanetype(`%X%`((imm : imm <: lanetype), M))))])) ;; 8-reduction.watsup diff --git a/spectec/test-interpreter/TEST.md b/spectec/test-interpreter/TEST.md index 98ab4e3ce6..7c7d94f9d5 100644 --- a/spectec/test-interpreter/TEST.md +++ b/spectec/test-interpreter/TEST.md @@ -20544,110 +20544,110 @@ watsup 0.4 generator - 1/17 (5.88%) ===== ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast ===== -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:13.1-15.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:16.1-18.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:19.1-21.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:22.1-24.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:25.1-27.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:28.1-30.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:31.1-33.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:34.1-36.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:37.1-39.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:40.1-42.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:43.1-45.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:46.1-48.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:49.1-51.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:52.1-54.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:55.1-57.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:58.1-60.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:61.1-63.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:64.1-66.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:67.1-69.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:70.1-72.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:73.1-75.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:76.1-78.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:79.1-81.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:82.1-84.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:85.1-87.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:88.1-90.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:93.1-95.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:96.1-98.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:99.1-101.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:102.1-104.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:105.1-107.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:108.1-110.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:111.1-113.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:114.1-116.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:117.1-119.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:120.1-122.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:123.1-125.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:126.1-128.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:129.1-131.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:132.1-134.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:135.1-137.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:138.1-140.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:141.1-143.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:144.1-146.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:147.1-149.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:150.1-152.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:153.1-155.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:156.1-158.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:159.1-161.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:162.1-164.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:165.1-167.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:168.1-170.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:173.1-175.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:176.1-178.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:179.1-181.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:182.1-184.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:185.1-187.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:188.1-190.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:191.1-193.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:194.1-196.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:197.1-199.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:200.1-202.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:203.1-205.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:206.1-208.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:209.1-211.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:212.1-214.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:215.1-217.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:218.1-220.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:221.1-223.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:224.1-226.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:227.1-229.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:230.1-232.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:233.1-235.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:236.1-238.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:239.1-241.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:242.1-244.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:245.1-247.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:248.1-250.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:253.1-255.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:256.1-258.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:259.1-261.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:262.1-264.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:265.1-267.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:268.1-270.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:271.1-273.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:274.1-276.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:277.1-279.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:280.1-282.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:283.1-285.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:286.1-288.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:289.1-291.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:292.1-294.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:295.1-297.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:298.1-300.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:301.1-303.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:304.1-306.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:307.1-309.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:310.1-312.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:313.1-315.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:316.1-318.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:319.1-321.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:322.1-324.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:325.1-327.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:328.1-330.111 (Failure("Algorithm not found: VEXTMUL")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:13.1-15.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:16.1-18.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:19.1-21.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:22.1-24.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:25.1-27.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:28.1-30.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:31.1-33.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:34.1-36.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:37.1-39.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:40.1-42.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:43.1-45.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:46.1-48.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:49.1-51.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:52.1-54.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:55.1-57.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:58.1-60.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:61.1-63.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:64.1-66.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:67.1-69.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:70.1-72.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:73.1-75.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:76.1-78.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:79.1-81.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:82.1-84.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:85.1-87.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:88.1-90.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:93.1-95.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:96.1-98.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:99.1-101.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:102.1-104.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:105.1-107.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:108.1-110.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:111.1-113.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:114.1-116.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:117.1-119.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:120.1-122.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:123.1-125.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:126.1-128.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:129.1-131.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:132.1-134.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:135.1-137.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:138.1-140.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:141.1-143.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:144.1-146.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:147.1-149.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:150.1-152.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:153.1-155.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:156.1-158.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:159.1-161.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:162.1-164.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:165.1-167.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:168.1-170.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:173.1-175.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:176.1-178.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:179.1-181.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:182.1-184.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:185.1-187.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:188.1-190.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:191.1-193.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:194.1-196.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:197.1-199.126 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:200.1-202.126 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:203.1-205.126 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:206.1-208.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:209.1-211.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:212.1-214.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:215.1-217.126 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:218.1-220.126 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:221.1-223.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:224.1-226.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:227.1-229.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:230.1-232.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:233.1-235.86 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:236.1-238.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:239.1-241.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:242.1-244.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:245.1-247.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:248.1-250.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:253.1-255.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:256.1-258.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:259.1-261.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:262.1-264.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:265.1-267.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:268.1-270.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:271.1-273.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:274.1-276.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:277.1-279.127 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:280.1-282.127 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:283.1-285.127 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:286.1-288.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:289.1-291.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:292.1-294.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:295.1-297.127 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:298.1-300.127 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:301.1-303.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:304.1-306.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:307.1-309.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:310.1-312.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:313.1-315.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:316.1-318.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:319.1-321.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:322.1-324.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:325.1-327.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i16x8_extmul_i8x16.wast:328.1-330.111 (Failure("Invalid DSL function call: vextbinop")) - 1/105 (0.95%) ===== ../../test-interpreter/spec-test-2/simd/simd_i16x8_q15mulr_sat_s.wast ===== @@ -21631,32 +21631,32 @@ watsup 0.4 generator - 2/435 (0.46%) ===== ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast ===== -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:10.1-12.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:13.1-15.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:16.1-18.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:19.1-21.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:22.1-24.75 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:25.1-27.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:28.1-30.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:31.1-33.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:34.1-36.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:37.1-39.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:40.1-42.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:43.1-45.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:46.1-48.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:49.1-51.91 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:52.1-54.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:55.1-57.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:58.1-60.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:61.1-63.107 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:64.1-66.107 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:67.1-69.107 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:70.1-72.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:73.1-75.75 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:76.1-78.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:79.1-81.91 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:82.1-84.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:85.1-87.71 (Failure("Algorithm not found: VDOT")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:10.1-12.71 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:13.1-15.71 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:16.1-18.71 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:19.1-21.71 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:22.1-24.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:25.1-27.71 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:28.1-30.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:31.1-33.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:34.1-36.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:37.1-39.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:40.1-42.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:43.1-45.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:46.1-48.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:49.1-51.91 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:52.1-54.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:55.1-57.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:58.1-60.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:61.1-63.107 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:64.1-66.107 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:67.1-69.107 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:70.1-72.71 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:73.1-75.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:76.1-78.71 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:79.1-81.91 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:82.1-84.87 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_dot_i16x8.wast:85.1-87.71 (Failure("Invalid DSL function call: vextbinop")) - 1/27 (3.70%) ===== ../../test-interpreter/spec-test-2/simd/simd_i32x4_extadd_pairwise_i16x8.wast ===== @@ -21679,110 +21679,110 @@ watsup 0.4 generator - 1/17 (5.88%) ===== ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast ===== -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:13.1-15.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:16.1-18.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:19.1-21.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:22.1-24.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:25.1-27.82 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:28.1-30.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:31.1-33.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:34.1-36.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:37.1-39.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:40.1-42.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:43.1-45.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:46.1-48.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:49.1-51.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:52.1-54.98 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:55.1-57.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:58.1-60.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:61.1-63.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:64.1-66.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:67.1-69.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:70.1-72.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:73.1-75.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:76.1-78.82 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:79.1-81.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:82.1-84.98 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:85.1-87.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:88.1-90.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:93.1-95.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:96.1-98.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:99.1-101.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:102.1-104.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:105.1-107.83 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:108.1-110.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:111.1-113.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:114.1-116.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:117.1-119.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:120.1-122.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:123.1-125.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:126.1-128.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:129.1-131.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:132.1-134.99 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:135.1-137.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:138.1-140.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:141.1-143.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:144.1-146.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:147.1-149.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:150.1-152.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:153.1-155.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:156.1-158.83 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:159.1-161.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:162.1-164.99 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:165.1-167.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:168.1-170.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:173.1-175.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:176.1-178.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:179.1-181.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:182.1-184.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:185.1-187.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:188.1-190.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:191.1-193.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:194.1-196.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:197.1-199.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:200.1-202.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:203.1-205.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:206.1-208.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:209.1-211.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:212.1-214.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:215.1-217.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:218.1-220.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:221.1-223.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:224.1-226.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:227.1-229.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:230.1-232.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:233.1-235.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:236.1-238.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:239.1-241.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:242.1-244.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:245.1-247.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:248.1-250.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:253.1-255.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:256.1-258.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:259.1-261.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:262.1-264.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:265.1-267.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:268.1-270.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:271.1-273.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:274.1-276.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:277.1-279.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:280.1-282.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:283.1-285.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:286.1-288.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:289.1-291.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:292.1-294.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:295.1-297.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:298.1-300.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:301.1-303.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:304.1-306.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:307.1-309.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:310.1-312.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:313.1-315.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:316.1-318.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:319.1-321.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:322.1-324.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:325.1-327.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:328.1-330.103 (Failure("Algorithm not found: VEXTMUL")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:13.1-15.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:16.1-18.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:19.1-21.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:22.1-24.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:25.1-27.82 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:28.1-30.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:31.1-33.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:34.1-36.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:37.1-39.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:40.1-42.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:43.1-45.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:46.1-48.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:49.1-51.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:52.1-54.98 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:55.1-57.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:58.1-60.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:61.1-63.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:64.1-66.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:67.1-69.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:70.1-72.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:73.1-75.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:76.1-78.82 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:79.1-81.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:82.1-84.98 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:85.1-87.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:88.1-90.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:93.1-95.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:96.1-98.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:99.1-101.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:102.1-104.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:105.1-107.83 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:108.1-110.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:111.1-113.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:114.1-116.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:117.1-119.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:120.1-122.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:123.1-125.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:126.1-128.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:129.1-131.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:132.1-134.99 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:135.1-137.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:138.1-140.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:141.1-143.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:144.1-146.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:147.1-149.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:150.1-152.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:153.1-155.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:156.1-158.83 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:159.1-161.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:162.1-164.99 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:165.1-167.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:168.1-170.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:173.1-175.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:176.1-178.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:179.1-181.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:182.1-184.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:185.1-187.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:188.1-190.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:191.1-193.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:194.1-196.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:197.1-199.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:200.1-202.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:203.1-205.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:206.1-208.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:209.1-211.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:212.1-214.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:215.1-217.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:218.1-220.118 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:221.1-223.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:224.1-226.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:227.1-229.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:230.1-232.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:233.1-235.78 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:236.1-238.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:239.1-241.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:242.1-244.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:245.1-247.114 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:248.1-250.102 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:253.1-255.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:256.1-258.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:259.1-261.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:262.1-264.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:265.1-267.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:268.1-270.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:271.1-273.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:274.1-276.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:277.1-279.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:280.1-282.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:283.1-285.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:286.1-288.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:289.1-291.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:292.1-294.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:295.1-297.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:298.1-300.119 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:301.1-303.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:304.1-306.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:307.1-309.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:310.1-312.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:313.1-315.79 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:316.1-318.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:319.1-321.103 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:322.1-324.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:325.1-327.115 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i32x4_extmul_i16x8.wast:328.1-330.103 (Failure("Invalid DSL function call: vextbinop")) - 1/105 (0.95%) ===== ../../test-interpreter/spec-test-2/simd/simd_i32x4_trunc_sat_f32x4.wast ===== @@ -22315,110 +22315,110 @@ watsup 0.4 generator - 1/103 (0.97%) ===== ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast ===== -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:13.1-15.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:16.1-18.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:19.1-21.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:22.1-24.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:25.1-27.76 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:28.1-30.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:31.1-33.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:34.1-36.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:37.1-39.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:40.1-42.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:43.1-45.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:46.1-48.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:49.1-51.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:52.1-54.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:55.1-57.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:58.1-60.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:61.1-63.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:64.1-66.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:67.1-69.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:70.1-72.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:73.1-75.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:76.1-78.76 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:79.1-81.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:82.1-84.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:85.1-87.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:88.1-90.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:93.1-95.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:96.1-98.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:99.1-101.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:102.1-104.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:105.1-107.77 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:108.1-110.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:111.1-113.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:114.1-116.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:117.1-119.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:120.1-122.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:123.1-125.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:126.1-128.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:129.1-131.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:132.1-134.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:135.1-137.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:138.1-140.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:141.1-143.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:144.1-146.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:147.1-149.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:150.1-152.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:153.1-155.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:156.1-158.77 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:159.1-161.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:162.1-164.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:165.1-167.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:168.1-170.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:173.1-175.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:176.1-178.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:179.1-181.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:182.1-184.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:185.1-187.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:188.1-190.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:191.1-193.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:194.1-196.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:197.1-199.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:200.1-202.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:203.1-205.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:206.1-208.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:209.1-211.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:212.1-214.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:215.1-217.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:218.1-220.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:221.1-223.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:224.1-226.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:227.1-229.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:230.1-232.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:233.1-235.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:236.1-238.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:239.1-241.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:242.1-244.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:245.1-247.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:248.1-250.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:253.1-255.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:256.1-258.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:259.1-261.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:262.1-264.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:265.1-267.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:268.1-270.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:271.1-273.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:274.1-276.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:277.1-279.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:280.1-282.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:283.1-285.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:286.1-288.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:289.1-291.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:292.1-294.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:295.1-297.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:298.1-300.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:301.1-303.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:304.1-306.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:307.1-309.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:310.1-312.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:313.1-315.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:316.1-318.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:319.1-321.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:322.1-324.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:325.1-327.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:328.1-330.95 (Failure("Algorithm not found: VEXTMUL")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:13.1-15.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:16.1-18.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:19.1-21.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:22.1-24.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:25.1-27.76 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:28.1-30.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:31.1-33.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:34.1-36.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:37.1-39.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:40.1-42.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:43.1-45.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:46.1-48.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:49.1-51.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:52.1-54.94 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:55.1-57.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:58.1-60.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:61.1-63.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:64.1-66.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:67.1-69.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:70.1-72.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:73.1-75.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:76.1-78.76 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:79.1-81.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:82.1-84.94 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:85.1-87.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:88.1-90.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:93.1-95.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:96.1-98.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:99.1-101.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:102.1-104.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:105.1-107.77 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:108.1-110.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:111.1-113.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:114.1-116.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:117.1-119.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:120.1-122.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:123.1-125.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:126.1-128.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:129.1-131.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:132.1-134.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:135.1-137.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:138.1-140.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:141.1-143.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:144.1-146.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:147.1-149.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:150.1-152.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:153.1-155.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:156.1-158.77 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:159.1-161.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:162.1-164.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:165.1-167.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:168.1-170.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:173.1-175.74 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:176.1-178.74 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:179.1-181.74 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:182.1-184.74 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:185.1-187.92 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:188.1-190.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:191.1-193.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:194.1-196.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:197.1-199.112 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:200.1-202.112 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:203.1-205.112 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:206.1-208.92 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:209.1-211.92 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:212.1-214.92 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:215.1-217.112 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:218.1-220.112 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:221.1-223.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:224.1-226.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:227.1-229.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:230.1-232.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:233.1-235.74 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:236.1-238.92 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:239.1-241.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:242.1-244.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:245.1-247.110 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:248.1-250.94 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:253.1-255.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:256.1-258.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:259.1-261.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:262.1-264.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:265.1-267.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:268.1-270.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:271.1-273.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:274.1-276.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:277.1-279.113 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:280.1-282.113 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:283.1-285.113 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:286.1-288.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:289.1-291.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:292.1-294.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:295.1-297.113 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:298.1-300.113 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:301.1-303.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:304.1-306.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:307.1-309.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:310.1-312.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:313.1-315.75 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:316.1-318.93 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:319.1-321.95 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:322.1-324.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:325.1-327.111 (Failure("Invalid DSL function call: vextbinop")) +- Test failed at ../../test-interpreter/spec-test-2/simd/simd_i64x2_extmul_i32x4.wast:328.1-330.95 (Failure("Invalid DSL function call: vextbinop")) - 1/105 (0.95%) ===== ../../test-interpreter/spec-test-2/simd/simd_i8x16_arith.wast ===== @@ -24202,11 +24202,7 @@ Expect: 26_984 : [i32] - 141/141 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_boolean.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_boolean.wast:57.1-58.64 (Backend_interpreter.Exception.MissingReturnValue) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_boolean.wast:59.1-60.64 (Backend_interpreter.Exception.MissingReturnValue) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_boolean.wast:107.1-108.64 (Backend_interpreter.Exception.MissingReturnValue) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_boolean.wast:109.1-110.64 (Backend_interpreter.Exception.MissingReturnValue) -- 257/261 (98.47%) +- 261/261 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_const.wast ===== - 577/577 (100.00%) @@ -24280,36 +24276,6 @@ Expect: 26_984 : [i32] - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:171.1-172.83 (Failure("Wasm value stack underflow")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:173.1-174.91 (Failure("Wasm value stack underflow")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:175.1-176.93 (Failure("Wasm value stack underflow")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:182.1-183.83 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:184.1-185.83 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:186.1-187.87 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:188.1-189.119 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:190.1-191.123 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:192.1-193.127 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:194.1-195.115 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:196.1-197.115 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:200.1-201.111 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:202.1-203.115 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:204.1-205.111 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:206.1-207.115 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:208.1-209.103 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:213.1-214.83 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:215.1-216.83 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:217.1-218.119 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:219.1-220.119 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:221.1-222.119 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:223.1-224.127 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:225.1-226.127 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:227.1-228.127 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:229.1-230.127 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:231.1-232.127 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:233.1-234.127 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:235.1-236.127 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:237.1-238.115 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:239.1-240.119 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:243.1-244.111 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:245.1-246.111 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:247.1-248.110 (Failure("Invalid DSL function call: vcvtop")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:253.1-254.79 (Failure("Wasm value stack underflow")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:255.1-256.81 (Failure("Wasm value stack underflow")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:257.1-258.79 (Failure("Wasm value stack underflow")) @@ -24425,9 +24391,6 @@ Expect: 26_984 : [i32] - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:592.1-594.82 (Backend_interpreter.Exception.MissingReturnValue) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:595.1-597.122 (Backend_interpreter.Exception.MissingReturnValue) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:598.1-600.102 (Backend_interpreter.Exception.MissingReturnValue) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:758.1-760.87 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:761.1-763.88 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:764.1-766.88 (Failure("Invalid DSL function call: vcvtop")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:768.1-770.124 (Backend_interpreter.Exception.MissingReturnValue) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:771.1-773.98 (Backend_interpreter.Exception.MissingReturnValue) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:774.1-776.125 (Backend_interpreter.Exception.MissingReturnValue) @@ -24444,7 +24407,7 @@ Expect: 26_984 : [i32] - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:808.1-810.100 (Backend_interpreter.Exception.MissingReturnValue) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:811.1-813.86 (Backend_interpreter.Exception.MissingReturnValue) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_conversions.wast:814.1-816.101 (Backend_interpreter.Exception.MissingReturnValue) -- 2/234 (0.85%) +- 35/234 (14.96%) ===== ../../test-interpreter/spec-test-3/simd/simd_f32x4.wast ===== - 774/774 (100.00%) @@ -24505,110 +24468,110 @@ Expect: 26_984 : [i32] - 1/17 (5.88%) ===== ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:13.1-15.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:16.1-18.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:19.1-21.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:22.1-24.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:25.1-27.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:28.1-30.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:31.1-33.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:34.1-36.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:37.1-39.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:40.1-42.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:43.1-45.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:46.1-48.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:49.1-51.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:52.1-54.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:55.1-57.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:58.1-60.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:61.1-63.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:64.1-66.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:67.1-69.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:70.1-72.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:73.1-75.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:76.1-78.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:79.1-81.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:82.1-84.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:85.1-87.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:88.1-90.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:93.1-95.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:96.1-98.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:99.1-101.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:102.1-104.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:105.1-107.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:108.1-110.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:111.1-113.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:114.1-116.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:117.1-119.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:120.1-122.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:123.1-125.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:126.1-128.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:129.1-131.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:132.1-134.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:135.1-137.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:138.1-140.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:141.1-143.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:144.1-146.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:147.1-149.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:150.1-152.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:153.1-155.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:156.1-158.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:159.1-161.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:162.1-164.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:165.1-167.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:168.1-170.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:173.1-175.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:176.1-178.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:179.1-181.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:182.1-184.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:185.1-187.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:188.1-190.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:191.1-193.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:194.1-196.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:197.1-199.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:200.1-202.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:203.1-205.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:206.1-208.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:209.1-211.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:212.1-214.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:215.1-217.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:218.1-220.126 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:221.1-223.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:224.1-226.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:227.1-229.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:230.1-232.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:233.1-235.86 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:236.1-238.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:239.1-241.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:242.1-244.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:245.1-247.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:248.1-250.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:253.1-255.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:256.1-258.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:259.1-261.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:262.1-264.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:265.1-267.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:268.1-270.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:271.1-273.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:274.1-276.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:277.1-279.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:280.1-282.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:283.1-285.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:286.1-288.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:289.1-291.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:292.1-294.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:295.1-297.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:298.1-300.127 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:301.1-303.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:304.1-306.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:307.1-309.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:310.1-312.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:313.1-315.87 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:316.1-318.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:319.1-321.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:322.1-324.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:325.1-327.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:328.1-330.111 (Failure("Algorithm not found: VEXTMUL")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:13.1-15.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:16.1-18.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:19.1-21.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:22.1-24.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:25.1-27.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:28.1-30.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:31.1-33.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:34.1-36.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:37.1-39.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:40.1-42.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:43.1-45.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:46.1-48.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:49.1-51.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:52.1-54.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:55.1-57.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:58.1-60.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:61.1-63.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:64.1-66.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:67.1-69.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:70.1-72.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:73.1-75.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:76.1-78.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:79.1-81.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:82.1-84.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:85.1-87.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:88.1-90.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:93.1-95.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:96.1-98.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:99.1-101.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:102.1-104.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:105.1-107.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:108.1-110.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:111.1-113.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:114.1-116.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:117.1-119.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:120.1-122.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:123.1-125.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:126.1-128.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:129.1-131.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:132.1-134.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:135.1-137.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:138.1-140.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:141.1-143.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:144.1-146.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:147.1-149.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:150.1-152.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:153.1-155.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:156.1-158.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:159.1-161.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:162.1-164.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:165.1-167.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:168.1-170.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:173.1-175.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:176.1-178.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:179.1-181.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:182.1-184.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:185.1-187.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:188.1-190.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:191.1-193.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:194.1-196.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:197.1-199.126 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:200.1-202.126 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:203.1-205.126 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:206.1-208.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:209.1-211.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:212.1-214.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:215.1-217.126 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:218.1-220.126 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:221.1-223.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:224.1-226.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:227.1-229.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:230.1-232.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:233.1-235.86 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:236.1-238.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:239.1-241.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:242.1-244.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:245.1-247.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:248.1-250.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:253.1-255.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:256.1-258.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:259.1-261.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:262.1-264.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:265.1-267.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:268.1-270.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:271.1-273.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:274.1-276.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:277.1-279.127 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:280.1-282.127 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:283.1-285.127 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:286.1-288.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:289.1-291.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:292.1-294.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:295.1-297.127 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:298.1-300.127 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:301.1-303.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:304.1-306.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:307.1-309.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:310.1-312.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:313.1-315.87 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:316.1-318.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:319.1-321.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:322.1-324.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:325.1-327.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i16x8_extmul_i8x16.wast:328.1-330.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) - 1/105 (0.95%) ===== ../../test-interpreter/spec-test-3/simd/simd_i16x8_q15mulr_sat_s.wast ===== @@ -24684,32 +24647,32 @@ Expect: 0 0 0 0 0 0 0 0 : [v128] - 435/435 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:10.1-12.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:13.1-15.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:16.1-18.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:19.1-21.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:22.1-24.75 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:25.1-27.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:28.1-30.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:31.1-33.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:34.1-36.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:37.1-39.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:40.1-42.103 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:43.1-45.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:46.1-48.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:49.1-51.91 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:52.1-54.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:55.1-57.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:58.1-60.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:61.1-63.107 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:64.1-66.107 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:67.1-69.107 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:70.1-72.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:73.1-75.75 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:76.1-78.71 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:79.1-81.91 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:82.1-84.87 (Failure("Algorithm not found: VDOT")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:85.1-87.71 (Failure("Algorithm not found: VDOT")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:10.1-12.71 (Failure("Invalid Invalid iadd: ListV[0x20, [0x0, 0x0, 0x0, 0x0], [0x0, 0x0, 0x0, 0x0]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:13.1-15.71 (Failure("Invalid Invalid iadd: ListV[0x20, [0x0, 0x0, 0x0, 0x0], [0x0, 0x0, 0x0, 0x0]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:16.1-18.71 (Failure("Invalid Invalid iadd: ListV[0x20, [0x1, 0x1, 0x1, 0x1], [0x1, 0x1, 0x1, 0x1]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:19.1-21.71 (Failure("Invalid Invalid iadd: ListV[0x20, [0x0, 0x0, 0x0, 0x0], [0x0, 0x0, 0x0, 0x0]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:22.1-24.75 (Failure("Invalid Invalid iadd: ListV[0x20, [0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF], [0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:25.1-27.71 (Failure("Invalid Invalid iadd: ListV[0x20, [0x1, 0x1, 0x1, 0x1], [0x1, 0x1, 0x1, 0x1]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:28.1-30.103 (Failure("Invalid Invalid iadd: ListV[0x20, [0xFFFC000, 0xFFFC000, 0xFFFC000, 0xFFFC000], [0xFFFC000, 0xFFFC000, 0xFFFC000, 0xFFFC000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:31.1-33.103 (Failure("Invalid Invalid iadd: ListV[0x20, [0x10000000, 0x10000000, 0x10000000, 0x10000000], [0x10000000, 0x10000000, 0x10000000, 0x10000000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:34.1-36.103 (Failure("Invalid Invalid iadd: ListV[0x20, [0xFFFC000, 0xFFFC000, 0xFFFC000, 0xFFFC000], [0xFFFC000, 0xFFFC000, 0xFFFC000, 0xFFFC000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:37.1-39.103 (Failure("Invalid Invalid iadd: ListV[0x20, [0x10000000, 0x10000000, 0x10000000, 0x10000000], [0x10000000, 0x10000000, 0x10000000, 0x10000000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:40.1-42.103 (Failure("Invalid Invalid iadd: ListV[0x20, [0x10004000, 0x10004000, 0x10004000, 0x10004000], [0x10004000, 0x10004000, 0x10004000, 0x10004000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:43.1-45.87 (Failure("Invalid Invalid iadd: ListV[0x20, [0x7FFD, 0x7FFD, 0x7FFD, 0x7FFD], [0x7FFD, 0x7FFD, 0x7FFD, 0x7FFD]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:46.1-48.87 (Failure("Invalid Invalid iadd: ListV[0x20, [0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE], [0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:49.1-51.91 (Failure("Invalid Invalid iadd: ListV[0x20, [0xFFFF8000, 0xFFFF8000, 0xFFFF8000, 0xFFFF8000], [0xFFFF8000, 0xFFFF8000, 0xFFFF8000, 0xFFFF8000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:52.1-54.87 (Failure("Invalid Invalid iadd: ListV[0x20, [0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE], [0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:55.1-57.87 (Failure("Invalid Invalid iadd: ListV[0x20, [0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF], [0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:58.1-60.87 (Failure("Invalid Invalid iadd: ListV[0x20, [0x8000, 0x8000, 0x8000, 0x8000], [0x8000, 0x8000, 0x8000, 0x8000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:61.1-63.107 (Failure("Invalid Invalid iadd: ListV[0x20, [0x3FFF0001, 0x3FFF0001, 0x3FFF0001, 0x3FFF0001], [0x3FFF0001, 0x3FFF0001, 0x3FFF0001, 0x3FFF0001]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:64.1-66.107 (Failure("Invalid Invalid iadd: ListV[0x20, [0x40000000, 0x40000000, 0x40000000, 0x40000000], [0x40000000, 0x40000000, 0x40000000, 0x40000000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:67.1-69.107 (Failure("Invalid Invalid iadd: ListV[0x20, [0x3FFF8000, 0x3FFF8000, 0x3FFF8000, 0x3FFF8000], [0x3FFF8000, 0x3FFF8000, 0x3FFF8000, 0x3FFF8000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:70.1-72.71 (Failure("Invalid Invalid iadd: ListV[0x20, [0x0, 0x0, 0x0, 0x0], [0x0, 0x0, 0x0, 0x0]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:73.1-75.75 (Failure("Invalid Invalid iadd: ListV[0x20, [0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF], [0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:76.1-78.71 (Failure("Invalid Invalid iadd: ListV[0x20, [0x1, 0x1, 0x1, 0x1], [0x1, 0x1, 0x1, 0x1]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:79.1-81.91 (Failure("Invalid Invalid iadd: ListV[0x20, [0xFFFF8001, 0xFFFF8001, 0xFFFF8001, 0xFFFF8001], [0xFFFF8001, 0xFFFF8001, 0xFFFF8001, 0xFFFF8001]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:82.1-84.87 (Failure("Invalid Invalid iadd: ListV[0x20, [0x8000, 0x8000, 0x8000, 0x8000], [0x8000, 0x8000, 0x8000, 0x8000]]")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_dot_i16x8.wast:85.1-87.71 (Failure("Invalid Invalid iadd: ListV[0x20, [0x1, 0x1, 0x1, 0x1], [0x1, 0x1, 0x1, 0x1]]")) - 1/27 (3.70%) ===== ../../test-interpreter/spec-test-3/simd/simd_i32x4_extadd_pairwise_i16x8.wast ===== @@ -24732,216 +24695,114 @@ Expect: 0 0 0 0 0 0 0 0 : [v128] - 1/17 (5.88%) ===== ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:13.1-15.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:16.1-18.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:19.1-21.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:22.1-24.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:25.1-27.82 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:28.1-30.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:31.1-33.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:34.1-36.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:37.1-39.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:40.1-42.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:43.1-45.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:46.1-48.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:49.1-51.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:52.1-54.98 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:55.1-57.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:58.1-60.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:61.1-63.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:64.1-66.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:67.1-69.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:70.1-72.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:73.1-75.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:76.1-78.82 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:79.1-81.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:82.1-84.98 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:85.1-87.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:88.1-90.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:93.1-95.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:96.1-98.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:99.1-101.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:102.1-104.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:105.1-107.83 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:108.1-110.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:111.1-113.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:114.1-116.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:117.1-119.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:120.1-122.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:123.1-125.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:126.1-128.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:129.1-131.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:132.1-134.99 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:135.1-137.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:138.1-140.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:141.1-143.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:144.1-146.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:147.1-149.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:150.1-152.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:153.1-155.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:156.1-158.83 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:159.1-161.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:162.1-164.99 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:165.1-167.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:168.1-170.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:173.1-175.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:176.1-178.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:179.1-181.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:182.1-184.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:185.1-187.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:188.1-190.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:191.1-193.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:194.1-196.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:197.1-199.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:200.1-202.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:203.1-205.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:206.1-208.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:209.1-211.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:212.1-214.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:215.1-217.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:218.1-220.118 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:221.1-223.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:224.1-226.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:227.1-229.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:230.1-232.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:233.1-235.78 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:236.1-238.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:239.1-241.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:242.1-244.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:245.1-247.114 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:248.1-250.102 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:253.1-255.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:256.1-258.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:259.1-261.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:262.1-264.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:265.1-267.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:268.1-270.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:271.1-273.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:274.1-276.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:277.1-279.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:280.1-282.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:283.1-285.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:286.1-288.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:289.1-291.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:292.1-294.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:295.1-297.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:298.1-300.119 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:301.1-303.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:304.1-306.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:307.1-309.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:310.1-312.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:313.1-315.79 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:316.1-318.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:319.1-321.103 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:322.1-324.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:325.1-327.115 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:328.1-330.103 (Failure("Algorithm not found: VEXTMUL")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:13.1-15.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:16.1-18.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:19.1-21.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:22.1-24.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:25.1-27.82 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:28.1-30.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:31.1-33.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:34.1-36.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:37.1-39.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:40.1-42.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:43.1-45.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:46.1-48.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:49.1-51.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:52.1-54.98 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:55.1-57.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:58.1-60.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:61.1-63.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:64.1-66.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:67.1-69.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:70.1-72.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:73.1-75.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:76.1-78.82 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:79.1-81.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:82.1-84.98 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:85.1-87.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:88.1-90.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:93.1-95.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:96.1-98.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:99.1-101.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:102.1-104.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:105.1-107.83 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:108.1-110.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:111.1-113.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:114.1-116.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:117.1-119.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:120.1-122.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:123.1-125.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:126.1-128.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:129.1-131.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:132.1-134.99 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:135.1-137.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:138.1-140.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:141.1-143.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:144.1-146.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:147.1-149.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:150.1-152.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:153.1-155.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:156.1-158.83 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:159.1-161.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:162.1-164.99 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:165.1-167.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:168.1-170.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:173.1-175.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:176.1-178.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:179.1-181.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:182.1-184.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:185.1-187.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:188.1-190.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:191.1-193.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:194.1-196.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:197.1-199.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:200.1-202.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:203.1-205.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:206.1-208.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:209.1-211.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:212.1-214.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:215.1-217.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:218.1-220.118 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:221.1-223.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:224.1-226.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:227.1-229.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:230.1-232.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:233.1-235.78 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:236.1-238.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:239.1-241.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:242.1-244.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:245.1-247.114 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:248.1-250.102 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:253.1-255.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:256.1-258.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:259.1-261.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:262.1-264.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:265.1-267.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:268.1-270.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:271.1-273.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:274.1-276.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:277.1-279.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:280.1-282.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:283.1-285.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:286.1-288.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:289.1-291.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:292.1-294.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:295.1-297.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:298.1-300.119 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:301.1-303.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:304.1-306.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:307.1-309.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:310.1-312.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:313.1-315.79 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:316.1-318.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:319.1-321.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:322.1-324.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:325.1-327.115 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_extmul_i16x8.wast:328.1-330.103 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) - 1/105 (0.95%) ===== ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:10.1-11.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:12.1-13.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:14.1-15.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:16.1-17.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:18.1-19.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:20.1-21.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:22.1-23.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:24.1-25.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:26.1-27.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:28.1-29.117 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:30.1-31.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:32.1-33.117 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:34.1-35.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:36.1-37.117 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:38.1-39.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:40.1-41.117 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:42.1-43.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:44.1-45.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:46.1-47.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:48.1-49.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:50.1-51.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:52.1-53.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:54.1-55.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:56.1-57.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:58.1-59.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:60.1-61.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:62.1-63.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:64.1-65.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:66.1-67.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:68.1-69.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:70.1-71.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:72.1-73.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:74.1-75.117 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:76.1-77.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:78.1-79.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:80.1-81.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:82.1-83.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:84.1-85.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:86.1-87.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:88.1-89.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:90.1-91.117 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:92.1-93.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:94.1-95.117 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:96.1-97.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:98.1-99.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:100.1-101.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:102.1-103.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:104.1-105.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:106.1-107.85 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:108.1-109.109 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:110.1-111.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:114.1-115.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:116.1-117.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:118.1-119.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:120.1-121.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:122.1-123.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:124.1-125.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:126.1-127.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:128.1-129.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:130.1-131.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:132.1-133.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:134.1-135.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:136.1-137.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:138.1-139.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:140.1-141.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:142.1-143.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:144.1-145.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:146.1-147.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:148.1-149.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:150.1-151.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:152.1-153.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:154.1-155.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:156.1-157.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:158.1-159.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:160.1-161.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:162.1-163.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:164.1-165.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:166.1-167.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:168.1-169.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:170.1-171.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:172.1-173.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:174.1-175.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:176.1-177.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:178.1-179.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:180.1-181.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:182.1-183.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:184.1-185.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:186.1-187.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:188.1-189.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:190.1-191.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:192.1-193.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:194.1-195.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:196.1-197.113 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:198.1-199.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:200.1-201.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:202.1-203.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:204.1-205.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:206.1-207.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:208.1-209.81 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:210.1-211.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:212.1-213.109 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f32x4.wast:214.1-215.113 (Failure("Invalid DSL function call: vcvtop")) -- 1/103 (0.97%) +- 103/103 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f64x2.wast ===== - Test failed at ../../test-interpreter/spec-test-3/simd/simd_i32x4_trunc_sat_f64x2.wast:10.1-11.82 (Failure("Wasm value stack underflow")) @@ -25058,110 +24919,110 @@ Expect: 0 0 0 0 0 0 0 0 : [v128] - 103/103 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:13.1-15.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:16.1-18.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:19.1-21.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:22.1-24.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:25.1-27.76 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:28.1-30.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:31.1-33.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:34.1-36.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:37.1-39.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:40.1-42.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:43.1-45.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:46.1-48.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:49.1-51.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:52.1-54.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:55.1-57.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:58.1-60.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:61.1-63.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:64.1-66.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:67.1-69.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:70.1-72.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:73.1-75.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:76.1-78.76 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:79.1-81.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:82.1-84.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:85.1-87.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:88.1-90.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:93.1-95.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:96.1-98.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:99.1-101.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:102.1-104.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:105.1-107.77 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:108.1-110.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:111.1-113.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:114.1-116.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:117.1-119.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:120.1-122.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:123.1-125.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:126.1-128.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:129.1-131.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:132.1-134.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:135.1-137.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:138.1-140.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:141.1-143.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:144.1-146.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:147.1-149.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:150.1-152.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:153.1-155.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:156.1-158.77 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:159.1-161.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:162.1-164.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:165.1-167.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:168.1-170.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:173.1-175.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:176.1-178.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:179.1-181.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:182.1-184.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:185.1-187.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:188.1-190.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:191.1-193.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:194.1-196.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:197.1-199.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:200.1-202.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:203.1-205.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:206.1-208.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:209.1-211.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:212.1-214.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:215.1-217.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:218.1-220.112 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:221.1-223.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:224.1-226.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:227.1-229.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:230.1-232.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:233.1-235.74 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:236.1-238.92 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:239.1-241.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:242.1-244.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:245.1-247.110 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:248.1-250.94 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:253.1-255.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:256.1-258.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:259.1-261.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:262.1-264.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:265.1-267.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:268.1-270.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:271.1-273.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:274.1-276.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:277.1-279.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:280.1-282.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:283.1-285.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:286.1-288.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:289.1-291.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:292.1-294.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:295.1-297.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:298.1-300.113 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:301.1-303.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:304.1-306.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:307.1-309.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:310.1-312.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:313.1-315.75 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:316.1-318.93 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:319.1-321.95 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:322.1-324.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:325.1-327.111 (Failure("Algorithm not found: VEXTMUL")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:328.1-330.95 (Failure("Algorithm not found: VEXTMUL")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:13.1-15.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:16.1-18.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:19.1-21.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:22.1-24.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:25.1-27.76 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:28.1-30.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:31.1-33.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:34.1-36.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:37.1-39.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:40.1-42.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:43.1-45.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:46.1-48.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:49.1-51.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:52.1-54.94 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:55.1-57.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:58.1-60.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:61.1-63.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:64.1-66.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:67.1-69.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:70.1-72.110 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:73.1-75.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:76.1-78.76 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:79.1-81.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:82.1-84.94 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:85.1-87.92 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:88.1-90.74 (Failure("Algorithm not found: VEXBINOP")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:93.1-95.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:96.1-98.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:99.1-101.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:102.1-104.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:105.1-107.77 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:108.1-110.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:111.1-113.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:114.1-116.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:117.1-119.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:120.1-122.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:123.1-125.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:126.1-128.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:129.1-131.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:132.1-134.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:135.1-137.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:138.1-140.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:141.1-143.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:144.1-146.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:147.1-149.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:150.1-152.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:153.1-155.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:156.1-158.77 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:159.1-161.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:162.1-164.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:165.1-167.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:168.1-170.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:173.1-175.74 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:176.1-178.74 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:179.1-181.74 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:182.1-184.74 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:185.1-187.92 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:188.1-190.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:191.1-193.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:194.1-196.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:197.1-199.112 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:200.1-202.112 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:203.1-205.112 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:206.1-208.92 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:209.1-211.92 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:212.1-214.92 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:215.1-217.112 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:218.1-220.112 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:221.1-223.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:224.1-226.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:227.1-229.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:230.1-232.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:233.1-235.74 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:236.1-238.92 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:239.1-241.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:242.1-244.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:245.1-247.110 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:248.1-250.94 (Failure("Invalid assignment on value (EXTMUL LOW): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:253.1-255.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:256.1-258.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:259.1-261.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:262.1-264.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:265.1-267.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:268.1-270.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:271.1-273.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:274.1-276.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:277.1-279.113 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:280.1-282.113 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:283.1-285.113 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:286.1-288.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:289.1-291.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:292.1-294.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:295.1-297.113 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:298.1-300.113 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:301.1-303.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:304.1-306.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:307.1-309.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:310.1-312.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:313.1-315.75 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:316.1-318.93 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:319.1-321.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:322.1-324.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:325.1-327.111 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) +- Test failed at ../../test-interpreter/spec-test-3/simd/simd_i64x2_extmul_i32x4.wast:328.1-330.95 (Failure("Invalid assignment on value (EXTMUL HIGH): CaseE (DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), []) @3-numerics.watsup:446.42-446.45")) - 1/105 (0.95%) ===== ../../test-interpreter/spec-test-3/simd/simd_i8x16_arith.wast ===== @@ -25329,83 +25190,7 @@ Expect: 0 0 0 0 0 0 0 0 : [v128] - Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:323.1-324.94 (Failure("Wasm value stack underflow")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:325.1-326.94 (Failure("Wasm value stack underflow")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:327.1-328.94 (Failure("Wasm value stack underflow")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:330.1-331.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:332.1-333.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:334.1-335.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:336.1-337.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:338.1-339.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:340.1-341.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:342.1-343.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:344.1-345.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:346.1-347.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:348.1-349.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:350.1-351.95 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:352.1-353.95 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:354.1-355.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:356.1-357.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:358.1-359.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:360.1-361.95 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:362.1-363.95 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:364.1-365.77 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:366.1-367.95 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:369.1-370.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:371.1-372.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:373.1-374.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:375.1-376.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:377.1-378.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:379.1-380.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:381.1-382.75 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:383.1-384.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:385.1-386.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:387.1-388.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:389.1-390.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:391.1-392.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:393.1-394.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:395.1-396.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:397.1-398.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:399.1-400.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:401.1-402.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:403.1-404.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:405.1-406.93 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:408.1-409.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:410.1-411.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:412.1-413.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:414.1-415.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:416.1-417.76 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:418.1-419.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:420.1-421.76 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:422.1-423.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:424.1-425.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:426.1-427.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:428.1-429.94 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:430.1-431.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:432.1-433.94 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:434.1-435.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:436.1-437.76 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:438.1-439.94 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:440.1-441.94 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:442.1-443.94 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:444.1-445.76 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:447.1-448.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:449.1-450.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:451.1-452.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:453.1-454.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:455.1-456.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:457.1-458.74 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:459.1-460.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:461.1-462.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:463.1-464.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:465.1-466.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:467.1-468.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:469.1-470.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:471.1-472.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:473.1-474.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:475.1-476.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:477.1-478.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:479.1-480.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:481.1-482.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_int_to_int_extend.wast:483.1-484.92 (Failure("Invalid DSL function call: vcvtop")) -- 1/229 (0.44%) +- 77/229 (33.62%) ===== ../../test-interpreter/spec-test-3/simd/simd_lane.wast ===== - Test failed at ../../test-interpreter/spec-test-3/simd/simd_lane.wast:292.1-295.70 (Failure("Failed Array.get on base [] and index 0: IdxP (AccE (IterE (VarE (ci), [ci], *), IdxP (VarE (k)))) @")) @@ -25448,134 +25233,20 @@ Expect: 0 0 0 0 0 0 0 0 : [v128] - 2/2 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_load.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load.wast:110.1-110.92 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load.wast:118.1-118.87 (Failure("Invalid DSL function call: vcvtop")) - Test failed at ../../test-interpreter/spec-test-3/simd/simd_load.wast:127.1-127.134 (Failure("Failed Array.get on base [] and index 15: IdxP (AccE (IterE (VarE (ci), [ci], *), IdxP (VarE (k)))) @")) -- 28/31 (90.32%) +- 30/31 (96.77%) ===== ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:105.1-107.82 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:108.1-110.82 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:111.1-113.82 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:114.1-116.83 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:117.1-119.83 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:120.1-122.83 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:123.1-125.83 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:126.1-128.83 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:129.1-130.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:131.1-132.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:133.1-134.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:135.1-136.92 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:137.1-138.92 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:139.1-140.92 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:141.1-142.92 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:143.1-144.92 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:145.1-147.90 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:148.1-150.90 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:151.1-153.90 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:154.1-156.90 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:157.1-159.90 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:160.1-162.90 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:163.1-165.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:166.1-168.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:169.1-171.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:172.1-174.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:175.1-177.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:178.1-180.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:181.1-183.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:184.1-186.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:187.1-189.91 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load16_lane.wast:190.1-192.91 (Not_found) -- 1/33 (3.03%) +- 33/33 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:69.1-71.79 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:72.1-74.79 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:75.1-77.79 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:78.1-80.80 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:81.1-82.88 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:83.1-84.88 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:85.1-86.88 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:87.1-88.89 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:89.1-91.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:92.1-94.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:95.1-97.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:98.1-100.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:101.1-103.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:104.1-106.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:107.1-109.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:110.1-112.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:113.1-115.87 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:116.1-118.88 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:119.1-121.88 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load32_lane.wast:122.1-124.88 (Not_found) -- 1/21 (4.76%) +- 21/21 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:45.1-47.85 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:48.1-50.85 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:51.1-52.94 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:53.1-54.94 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:55.1-57.93 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:58.1-60.93 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:61.1-63.93 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:64.1-66.93 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:67.1-69.93 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:70.1-72.93 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:73.1-75.93 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load64_lane.wast:76.1-78.93 (Not_found) -- 1/13 (7.69%) +- 13/13 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast ===== -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:153.1-155.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:156.1-158.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:159.1-161.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:162.1-164.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:165.1-167.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:168.1-170.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:171.1-173.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:174.1-176.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:177.1-179.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:180.1-182.95 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:183.1-185.97 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:186.1-188.97 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:189.1-191.97 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:192.1-194.97 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:195.1-197.97 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:198.1-200.97 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:201.1-202.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:203.1-204.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:205.1-206.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:207.1-208.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:209.1-210.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:211.1-212.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:213.1-214.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:215.1-216.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:217.1-218.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:219.1-220.104 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:221.1-222.107 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:223.1-224.107 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:225.1-226.107 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:227.1-228.107 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:229.1-230.107 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:231.1-232.107 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:233.1-235.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:236.1-238.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:239.1-241.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:242.1-244.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:245.1-247.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:248.1-250.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:251.1-253.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:254.1-256.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:257.1-259.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:260.1-262.103 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:263.1-265.105 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:266.1-268.105 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:269.1-271.105 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:272.1-274.105 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:275.1-277.105 (Not_found) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_load8_lane.wast:278.1-280.105 (Not_found) -- 1/49 (2.04%) +- 49/49 (100.00%) ===== ../../test-interpreter/spec-test-3/simd/simd_load_extend.wast ===== - Test failed at ../../test-interpreter/spec-test-3/simd/simd_load_extend.wast:163.1-163.131 (Failure("Invalid DSL function call: inverse_of_size")) @@ -25660,9 +25331,7 @@ Expect: 0 0 0 0 0 0 0 0 : [v128] ===== ../../test-interpreter/spec-test-3/simd/simd_splat.wast ===== - Test failed at ../../test-interpreter/spec-test-3/simd/simd_splat.wast:300.1-300.133 (Failure("Failed Array.get on base [] and index 255: IdxP (AccE (IterE (VarE (ci), [ci], *), IdxP (VarE (k)))) @")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_splat.wast:341.1-341.129 (Failure("Invalid DSL function call: vcvtop")) -- Test failed at ../../test-interpreter/spec-test-3/simd/simd_splat.wast:342.1-342.105 (Failure("Invalid DSL function call: vcvtop")) -- 159/162 (98.15%) +- 161/162 (99.38%) ===== ../../test-interpreter/spec-test-3/simd/simd_store.wast ===== - 19/19 (100.00%) @@ -25769,7 +25438,7 @@ Expect: 0 0 0 0 0 0 0 0 : [v128] ===== ../../test-interpreter/spec-test-3/utf8-invalid-encoding.wast ===== - 0/0 (100.00%) -Total [44456/45764] (97.14%) +Total [44787/45764] (97.87%) == Complete. ``` diff --git a/spectec/test-latex/spec-gen.include-wasm-1.0.tex b/spectec/test-latex/spec-gen.include-wasm-1.0.tex new file mode 100644 index 0000000000..87a859f384 --- /dev/null +++ b/spectec/test-latex/spec-gen.include-wasm-1.0.tex @@ -0,0 +1,2706 @@ +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +& {\mathit{N}} &::=& {\mathit{nat}} \\ +& {\mathit{M}} &::=& {\mathit{nat}} \\ +& {\mathit{n}} &::=& {\mathit{nat}} \\ +& {\mathit{m}} &::=& {\mathit{nat}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{Ki}} &=& 1024 & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{min}}(0, {\mathit{j}}) &=& 0 & \\ +{\mathrm{min}}({\mathit{i}}, 0) &=& 0 & \\ +{\mathrm{min}}({\mathit{i}} + 1, {\mathit{j}} + 1) &=& {\mathrm{min}}({\mathit{i}}, {\mathit{j}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{sum}}(\epsilon) &=& 0 & \\ +{\mathrm{sum}}({\mathit{n}}~\,{{\mathit{n}'}^\ast}) &=& {\mathit{n}} + {\mathrm{sum}}({{\mathit{n}'}^\ast}) & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{{\mathrm{concat}}}_{{\mathit{X}}}(\epsilon) &=& \epsilon & \\ +{{\mathrm{concat}}}_{{\mathit{X}}}(({{\mathit{w}}^\ast})~\,{({{\mathit{w}'}^\ast})^\ast}) &=& {{\mathit{w}}^\ast}~\,{{\mathrm{concat}}}_{{\mathit{X}}}({({{\mathit{w}'}^\ast})^\ast}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +& {\mathit{list}}({\mathit{A}}) &::=& {{\mathit{A}}^\ast} &\quad + \mbox{if}~{|{{\mathit{A}}^\ast}|} < {2^{32}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(character)} & {\mathit{char}} &::=& \mathrm{U{+}00} ~|~ \dots ~|~ \mathrm{U{+}D7FF} ~|~ \mathrm{U{+}E000} ~|~ \dots ~|~ \mathrm{U{+}10FFFF} \\ +\mbox{(name)} & {\mathit{name}} &::=& {{\mathit{char}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(byte)} & {\mathit{byte}} &::=& \mathtt{0x00} ~|~ \dots ~|~ \mathtt{0xFF} \\ +\mbox{(unsigned integer)} & {{\mathit{u}}}{{\mathit{N}}} &::=& 0 ~|~ \dots ~|~ {2^{{\mathit{N}}}} - 1 \\ +\mbox{(signed integer)} & {{\mathit{s}}}{{\mathit{N}}} &::=& {-{2^{{\mathit{N}} - 1}}} ~|~ \dots ~|~ {-1} ~|~ 0 ~|~ {+1} ~|~ \dots ~|~ {2^{{\mathit{N}} - 1}} - 1 \\ +\mbox{(integer)} & {{\mathit{i}}}{{\mathit{N}}} &::=& {{\mathit{u}}}{{\mathit{N}}} \\ +& {\mathit{u{\scriptstyle31}}} &::=& {{\mathit{u}}}{31} \\ +& {\mathit{u{\scriptstyle32}}} &::=& {{\mathit{u}}}{32} \\ +& {\mathit{u{\scriptstyle64}}} &::=& {{\mathit{u}}}{64} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{signif}}(32) &=& 23 & \\ +{\mathrm{signif}}(64) &=& 52 & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{expon}}(32) &=& 8 & \\ +{\mathrm{expon}}(64) &=& 11 & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathit{M}} &=& {\mathrm{signif}}({\mathit{N}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathit{E}} &=& {\mathrm{expon}}({\mathit{N}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(floating-point number)} & {{\mathit{f}}}{{\mathit{N}}} &::=& {+{{{\mathit{f}}}{{\mathit{N}}}}{{\mathit{mag}}}} ~|~ {-{{{\mathit{f}}}{{\mathit{N}}}}{{\mathit{mag}}}} \\ +\mbox{(floating-point magnitude)} & {{{\mathit{f}}}{{\mathit{N}}}}{{\mathit{mag}}} &::=& (1 + {\mathit{m}} \cdot {2^{{-{\mathit{M}}}}}) \cdot {2^{{\mathit{n}}}} &\quad + \mbox{if}~{\mathit{m}} < {2^{{\mathit{M}}}} \land 2 - {2^{{\mathit{E}} - 1}} \leq {\mathit{n}} \leq {2^{{\mathit{E}} - 1}} - 1 \\ &&|& +(0 + {\mathit{m}} \cdot {2^{{-{\mathit{M}}}}}) \cdot {2^{{\mathit{n}}}} &\quad + \mbox{if}~{\mathit{m}} < {2^{{\mathit{M}}}} \land 2 - {2^{{\mathit{E}} - 1}} = {\mathit{n}} \\ &&|& +\infty \\ &&|& +{\mathsf{nan}}{({\mathit{m}})} &\quad + \mbox{if}~1 \leq {\mathit{m}} < {2^{{\mathit{M}}}} \\ +& {\mathit{f{\scriptstyle32}}} &::=& {{\mathit{f}}}{32} \\ +& {\mathit{f{\scriptstyle64}}} &::=& {{\mathit{f}}}{64} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{+0} &=& {+((0 + 0 \cdot {2^{{-{\mathit{M}}}}}) \cdot {2^{{\mathit{n}}}})} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{+1} &=& {+((1 + 1 \cdot {2^{{-{\mathit{M}}}}}) \cdot {2^{0}})} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{{\mathrm{canon}}}_{{\mathit{N}}} &=& {2^{{\mathrm{signif}}({\mathit{N}}) - 1}} & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(index)} & {\mathit{idx}} &::=& {\mathit{u{\scriptstyle32}}} \\ +\mbox{(type index)} & {\mathit{typeidx}} &::=& {\mathit{idx}} \\ +\mbox{(function index)} & {\mathit{funcidx}} &::=& {\mathit{idx}} \\ +\mbox{(global index)} & {\mathit{globalidx}} &::=& {\mathit{idx}} \\ +\mbox{(table index)} & {\mathit{tableidx}} &::=& {\mathit{idx}} \\ +\mbox{(memory index)} & {\mathit{memidx}} &::=& {\mathit{idx}} \\ +\mbox{(label index)} & {\mathit{labelidx}} &::=& {\mathit{idx}} \\ +\mbox{(local index)} & {\mathit{localidx}} &::=& {\mathit{idx}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(number type)} & {\mathit{valtype}} &::=& \mathsf{i{\scriptstyle32}} ~|~ \mathsf{i{\scriptstyle64}} ~|~ \mathsf{f{\scriptstyle32}} ~|~ \mathsf{f{\scriptstyle64}} \\ +& {\mathsf{i}}{{\mathit{n}}} &::=& \mathsf{i{\scriptstyle32}} ~|~ \mathsf{i{\scriptstyle64}} \\ +& {\mathsf{f}}{{\mathit{n}}} &::=& \mathsf{f{\scriptstyle32}} ~|~ \mathsf{f{\scriptstyle64}} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(result type)} & {\mathit{resulttype}} &::=& {{\mathit{valtype}}^?} \\ +& {\mathit{mut}} &::=& {\mathsf{mut}^?} \\ +\mbox{(limits)} & {\mathit{limits}} &::=& {}[{\mathit{u{\scriptstyle32}}} .. {\mathit{u{\scriptstyle32}}}] \\ +\mbox{(global type)} & {\mathit{globaltype}} &::=& {\mathit{mut}}~\,{\mathit{valtype}} \\ +\mbox{(function type)} & {\mathit{functype}} &::=& {{\mathit{valtype}}^\ast} \rightarrow {{\mathit{valtype}}^\ast} \\ +\mbox{(table type)} & {\mathit{tabletype}} &::=& {\mathit{limits}} \\ +\mbox{(memory type)} & {\mathit{memtype}} &::=& {\mathit{limits}} \\ +\mbox{(external type)} & {\mathit{externtype}} &::=& \mathsf{func}~\,{\mathit{functype}} ~|~ \mathsf{global}~\,{\mathit{globaltype}} ~|~ \mathsf{table}~\,{\mathit{tabletype}} ~|~ \mathsf{mem}~\,{\mathit{memtype}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +& {{\mathit{val}}}_{{\mathsf{i}}{{\mathit{n}}}} &::=& {{\mathit{i}}}{{|{\mathsf{i}}{{\mathit{n}}}|}} \\ +& {{\mathit{val}}}_{{\mathsf{f}}{{\mathit{n}}}} &::=& {{\mathit{f}}}{{|{\mathsf{f}}{{\mathit{n}}}|}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(signedness)} & {\mathit{sx}} &::=& \mathsf{u} ~|~ \mathsf{s} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +& {{\mathit{unop}}}_{{\mathsf{i}}{{\mathit{n}}}} &::=& \mathsf{clz} ~|~ \mathsf{ctz} ~|~ \mathsf{popcnt} \\ +& {{\mathit{unop}}}_{{\mathsf{f}}{{\mathit{n}}}} &::=& \mathsf{abs} ~|~ \mathsf{neg} ~|~ \mathsf{sqrt} ~|~ \mathsf{ceil} ~|~ \mathsf{floor} ~|~ \mathsf{trunc} ~|~ \mathsf{nearest} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +& {{\mathit{binop}}}_{{\mathsf{i}}{{\mathit{n}}}} &::=& \mathsf{add} ~|~ \mathsf{sub} ~|~ \mathsf{mul} ~|~ {\mathsf{div\_}}{{\mathit{sx}}} ~|~ {\mathsf{rem\_}}{{\mathit{sx}}} \\ &&|& +\mathsf{and} ~|~ \mathsf{or} ~|~ \mathsf{xor} ~|~ \mathsf{shl} ~|~ {\mathsf{shr\_}}{{\mathit{sx}}} ~|~ \mathsf{rotl} ~|~ \mathsf{rotr} \\ +& {{\mathit{binop}}}_{{\mathsf{f}}{{\mathit{n}}}} &::=& \mathsf{add} ~|~ \mathsf{sub} ~|~ \mathsf{mul} ~|~ \mathsf{div} ~|~ \mathsf{min} ~|~ \mathsf{max} ~|~ \mathsf{copysign} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +& {{\mathit{testop}}}_{{\mathsf{i}}{{\mathit{n}}}} &::=& \mathsf{eqz} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +& {{\mathit{relop}}}_{{\mathsf{i}}{{\mathit{n}}}} &::=& \mathsf{eq} ~|~ \mathsf{ne} ~|~ {\mathsf{lt\_}}{{\mathit{sx}}} ~|~ {\mathsf{gt\_}}{{\mathit{sx}}} ~|~ {\mathsf{le\_}}{{\mathit{sx}}} ~|~ {\mathsf{ge\_}}{{\mathit{sx}}} \\ +& {{\mathit{relop}}}_{{\mathsf{f}}{{\mathit{n}}}} &::=& \mathsf{eq} ~|~ \mathsf{ne} ~|~ \mathsf{lt} ~|~ \mathsf{gt} ~|~ \mathsf{le} ~|~ \mathsf{ge} \\ +& {\mathit{cvtop}} &::=& \mathsf{convert} ~|~ \mathsf{reinterpret} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(memory operator)} & {\mathit{memop}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{align}~\,{\mathit{u{\scriptstyle32}}},\; \mathsf{offset}~\,{\mathit{u{\scriptstyle32}}} \;\}\end{array} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(block type)} & {\mathit{blocktype}} &::=& {{\mathit{valtype}}^?} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(instruction)} & {\mathit{instr}} &::=& \mathsf{unreachable} \\ &&|& +\mathsf{nop} \\ &&|& +\mathsf{drop} \\ &&|& +\mathsf{select}~\,{({{\mathit{valtype}}^\ast})^?} \\ &&|& +\mathsf{block}~\,{\mathit{blocktype}}~\,{{\mathit{instr}}^\ast} \\ &&|& +\mathsf{loop}~\,{\mathit{blocktype}}~\,{{\mathit{instr}}^\ast} \\ &&|& +\mathsf{if}~\,{\mathit{blocktype}}~\,{{\mathit{instr}}^\ast}~\,\mathsf{else}~\,{{\mathit{instr}}^\ast} \\ &&|& +\mathsf{br}~\,{\mathit{labelidx}} \\ &&|& +\mathsf{br\_if}~\,{\mathit{labelidx}} \\ &&|& +\mathsf{br\_table}~\,{{\mathit{labelidx}}^\ast}~\,{\mathit{labelidx}} \\ &&|& +\mathsf{call}~\,{\mathit{funcidx}} \\ &&|& +\mathsf{call\_indirect}~\,{\mathit{typeidx}} \\ &&|& +\mathsf{return} \\ &&|& +{\mathit{valtype}}.\mathsf{const}~\,{{\mathit{val}}}_{{\mathit{valtype}}} \\ &&|& +{\mathit{valtype}} . {{\mathit{unop}}}_{{\mathit{valtype}}} \\ &&|& +{\mathit{valtype}} . {{\mathit{binop}}}_{{\mathit{valtype}}} \\ &&|& +{\mathit{valtype}} . {{\mathit{testop}}}_{{\mathit{valtype}}} \\ &&|& +{\mathit{valtype}} . {{\mathit{relop}}}_{{\mathit{valtype}}} \\ &&|& +{\mathit{valtype}}_{{1}} . {{{{{\mathit{cvtop}}}{\mathsf{\_}}}{{\mathit{valtype}}_{{2}}}}{\mathsf{\_}}}{{{\mathit{sx}}^?}} \\ &&|& +\mathsf{local.get}~\,{\mathit{localidx}} \\ &&|& +\mathsf{local.set}~\,{\mathit{localidx}} \\ &&|& +\mathsf{local.tee}~\,{\mathit{localidx}} \\ &&|& +\mathsf{global.get}~\,{\mathit{globalidx}} \\ &&|& +\mathsf{global.set}~\,{\mathit{globalidx}} \\ &&|& +\mathsf{memory.size} \\ &&|& +\mathsf{memory.grow} \\ &&|& +{{\mathit{valtype}}.\mathsf{load}}{{({\mathit{n}}~\,\mathsf{\_}~\,{\mathit{sx}})^?}}~\,{\mathit{memop}} \\ &&|& +{{\mathit{valtype}}.\mathsf{store}}{{{\mathit{n}}^?}}~\,{\mathit{memop}} \\ +\mbox{(expression)} & {\mathit{expr}} &::=& {{\mathit{instr}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(type)} & {\mathit{type}} &::=& \mathsf{type}~\,{\mathit{functype}} \\ +\mbox{(local)} & {\mathit{local}} &::=& \mathsf{local}~\,{\mathit{valtype}} \\ +\mbox{(function)} & {\mathit{func}} &::=& \mathsf{func}~\,{\mathit{typeidx}}~\,{{\mathit{local}}^\ast}~\,{\mathit{expr}} \\ +\mbox{(global)} & {\mathit{global}} &::=& \mathsf{global}~\,{\mathit{globaltype}}~\,{\mathit{expr}} \\ +\mbox{(table)} & {\mathit{table}} &::=& \mathsf{table}~\,{\mathit{tabletype}} \\ +\mbox{(memory)} & {\mathit{mem}} &::=& \mathsf{memory}~\,{\mathit{memtype}} \\ +\mbox{(table segment)} & {\mathit{elem}} &::=& \mathsf{elem}~\,{\mathit{expr}}~\,{{\mathit{funcidx}}^\ast} \\ +\mbox{(memory segment)} & {\mathit{data}} &::=& \mathsf{data}~\,{\mathit{expr}}~\,{{\mathit{byte}}^\ast} \\ +\mbox{(start function)} & {\mathit{start}} &::=& \mathsf{start}~\,{\mathit{funcidx}} \\ +\mbox{(external index)} & {\mathit{externidx}} &::=& \mathsf{func}~\,{\mathit{funcidx}} ~|~ \mathsf{global}~\,{\mathit{globalidx}} ~|~ \mathsf{table}~\,{\mathit{tableidx}} ~|~ \mathsf{mem}~\,{\mathit{memidx}} \\ +\mbox{(export)} & {\mathit{export}} &::=& \mathsf{export}~\,{\mathit{name}}~\,{\mathit{externidx}} \\ +\mbox{(import)} & {\mathit{import}} &::=& \mathsf{import}~\,{\mathit{name}}~\,{\mathit{name}}~\,{\mathit{externtype}} \\ +\mbox{(module)} & {\mathit{module}} &::=& \mathsf{module}~\,{{\mathit{type}}^\ast}~\,{{\mathit{import}}^\ast}~\,{{\mathit{func}}^\ast}~\,{{\mathit{global}}^\ast}~\,{{\mathit{table}}^\ast}~\,{{\mathit{mem}}^\ast}~\,{{\mathit{elem}}^\ast}~\,{{\mathit{data}}^\ast}~\,{{\mathit{start}}^\ast}~\,{{\mathit{export}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{|\mathsf{i{\scriptstyle32}}|} &=& 32 & \\ +{|\mathsf{i{\scriptstyle64}}|} &=& 64 & \\ +{|\mathsf{f{\scriptstyle32}}|} &=& 32 & \\ +{|\mathsf{f{\scriptstyle64}}|} &=& 64 & \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} + &=& \{ \begin{array}[t]{@{}l@{}} +\mathsf{align}~\,0,\; \mathsf{offset}~\,0 \}\end{array} & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{{\mathrm{signed}}}_{{\mathit{N}}}({\mathit{i}}) &=& {\mathit{i}} &\quad + \mbox{if}~0 \leq {2^{{\mathit{N}} - 1}} \\ +{{\mathrm{signed}}}_{{\mathit{N}}}({\mathit{i}}) &=& {\mathit{i}} - {2^{{\mathit{N}}}} &\quad + \mbox{if}~{2^{{\mathit{N}} - 1}} \leq {\mathit{i}} < {2^{{\mathit{N}}}} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{{{{{\mathrm{signed}}^{{-1}}}}{}}_{{\mathit{N}}}}{{{\mathit{i}}}} &=& {\mathit{j}} &\quad + \mbox{if}~{{\mathrm{signed}}}_{{\mathit{N}}}({\mathit{j}}) = {{\mathit{i}}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{invibytes}}({\mathit{N}}, {{\mathit{b}}^\ast}) &=& {\mathit{n}} &\quad + \mbox{if}~{{\mathrm{bytes}}}_{{{\mathit{i}}}{{\mathit{N}}}}({\mathit{n}}) = {{\mathit{b}}^\ast} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{invfbytes}}({\mathit{N}}, {{\mathit{b}}^\ast}) &=& {\mathit{p}} &\quad + \mbox{if}~{{\mathrm{bytes}}}_{{{\mathit{f}}}{{\mathit{N}}}}({\mathit{p}}) = {{\mathit{b}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{add}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{iadd}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{sub}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{isub}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{mul}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{imul}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{div\_}}{{\mathit{sx}}}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{idiv}}~\,{{|{\mathsf{i}}{{\mathit{n}}}|}^{{\mathit{sx}}}}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{rem\_}}{{\mathit{sx}}}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{irem}}~\,{{|{\mathsf{i}}{{\mathit{n}}}|}^{{\mathit{sx}}}}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{and}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{iand}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{or}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ior}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{xor}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ixor}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{shl}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ishl}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{shr\_}}{{\mathit{sx}}}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ishr}}~\,{{|{\mathsf{i}}{{\mathit{n}}}|}^{{\mathit{sx}}}}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{rotl}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{irotl}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{rotr}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{irotr}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{unop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{clz}, {\mathit{iN}}) &=& {\mathrm{iclz}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}) & \\ +{\mathrm{unop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{ctz}, {\mathit{iN}}) &=& {\mathrm{iclz}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}) & \\ +{\mathrm{unop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{popcnt}, {\mathit{iN}}) &=& {\mathrm{ipopcnt}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{testop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{eqz}, {\mathit{iN}}) &=& {\mathrm{ieqz}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{relop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{eq}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ieq}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{i}}{{\mathit{n}}}, \mathsf{ne}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ine}}~\,{|{\mathsf{i}}{{\mathit{n}}}|}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{lt\_}}{{\mathit{sx}}}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ilt}}~\,{{|{\mathsf{i}}{{\mathit{n}}}|}^{{\mathit{sx}}}}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{gt\_}}{{\mathit{sx}}}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ilt}}~\,{{|{\mathsf{i}}{{\mathit{n}}}|}^{{\mathit{sx}}}}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{le\_}}{{\mathit{sx}}}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ile}}~\,{{|{\mathsf{i}}{{\mathit{n}}}|}^{{\mathit{sx}}}}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{ge\_}}{{\mathit{sx}}}, {\mathit{iN}}_{{1}}, {\mathit{iN}}_{{2}}) &=& {\mathrm{ihe}}~\,{{|{\mathsf{i}}{{\mathit{n}}}|}^{{\mathit{sx}}}}~\,({\mathit{iN}}_{{1}},\, {\mathit{iN}}_{{2}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{binop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{add}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fadd}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{sub}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fsub}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{mul}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fmul}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{div}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fdiv}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{min}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fmin}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{max}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fmax}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{binop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{copysign}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fcopysign}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{unop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{abs}, {\mathit{fN}}) &=& {\mathrm{fabs}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}) & \\ +{\mathrm{unop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{neg}, {\mathit{fN}}) &=& {\mathrm{fneg}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}) & \\ +{\mathrm{unop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{sqrt}, {\mathit{fN}}) &=& {\mathrm{fsqrt}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}) & \\ +{\mathrm{unop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{ceil}, {\mathit{fN}}) &=& {\mathrm{fceil}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}) & \\ +{\mathrm{unop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{floor}, {\mathit{fN}}) &=& {\mathrm{ffloor}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}) & \\ +{\mathrm{unop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{trunc}, {\mathit{fN}}) &=& {\mathrm{ftrunc}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}) & \\ +{\mathrm{unop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{nearest}, {\mathit{fN}}) &=& {\mathrm{fnearest}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{relop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{eq}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{feq}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{ne}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fne}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{lt}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{flt}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{gt}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fgt}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{le}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fle}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +{\mathrm{relop}}({\mathsf{f}}{{\mathit{n}}}, \mathsf{ge}, {\mathit{fN}}_{{1}}, {\mathit{fN}}_{{2}}) &=& {\mathrm{fge}}~\,{|{\mathsf{f}}{{\mathit{n}}}|}~\,({\mathit{fN}}_{{1}},\, {\mathit{fN}}_{{2}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{cvtop}}(\mathsf{i{\scriptstyle32}}, \mathsf{i{\scriptstyle64}}, \mathsf{convert}, {\mathit{sx}}, {\mathit{iN}}) &=& {{{{\mathrm{ext}}}_{(32,\, 64)}^{{\mathit{sx}}}}}{({\mathit{iN}})} & \\ +{\mathrm{cvtop}}(\mathsf{i{\scriptstyle64}}, \mathsf{i{\scriptstyle32}}, \mathsf{convert}, {{\mathit{sx}}^?}, {\mathit{iN}}) &=& {{{\mathrm{wrap}}}_{(64,\, 32)}}{({\mathit{iN}})} & \\ +{\mathrm{cvtop}}({\mathsf{f}}{{\mathit{n}}}, {\mathsf{i}}{{\mathit{n}}}, \mathsf{convert}, {\mathit{sx}}, {\mathit{fN}}) &=& {{{{\mathrm{trunc}}}_{({|{\mathsf{f}}{{\mathit{n}}}|},\, {|{\mathsf{i}}{{\mathit{n}}}|})}^{{\mathit{sx}}}}}{({\mathit{fN}})} & \\ +{\mathrm{cvtop}}(\mathsf{f{\scriptstyle32}}, \mathsf{f{\scriptstyle64}}, \mathsf{convert}, {{\mathit{sx}}^?}, {\mathit{fN}}) &=& {{{\mathrm{promote}}}_{(32,\, 64)}}{({\mathit{fN}})} & \\ +{\mathrm{cvtop}}(\mathsf{f{\scriptstyle64}}, \mathsf{f{\scriptstyle32}}, \mathsf{convert}, {{\mathit{sx}}^?}, {\mathit{fN}}) &=& {{{\mathrm{demote}}}_{(64,\, 32)}}{({\mathit{fN}})} & \\ +{\mathrm{cvtop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{f}}{{\mathit{n}}}, \mathsf{convert}, {\mathit{sx}}, {\mathit{iN}}) &=& {{{{\mathrm{convert}}}_{({|{\mathsf{i}}{{\mathit{n}}}|},\, {|{\mathsf{f}}{{\mathit{n}}}|})}^{{\mathit{sx}}}}}{({\mathit{iN}})} & \\ +{\mathrm{cvtop}}({\mathsf{i}}{{\mathit{n}}}, {\mathsf{f}}{{\mathit{n}}}, \mathsf{reinterpret}, {{\mathit{sx}}^?}, {\mathit{iN}}) &=& {{{\mathrm{narrow}}}_{({\mathsf{i}}{{\mathit{n}}},\, {\mathsf{f}}{{\mathit{n}}})}}{{\mathit{iN}}} &\quad + \mbox{if}~{|{\mathsf{i}}{{\mathit{n}}}|} = {|{\mathsf{f}}{{\mathit{n}}}|} \\ +{\mathrm{cvtop}}({\mathsf{f}}{{\mathit{n}}}, {\mathsf{i}}{{\mathit{n}}}, \mathsf{reinterpret}, {{\mathit{sx}}^?}, {\mathit{fN}}) &=& {{{\mathrm{narrow}}}_{({\mathsf{f}}{{\mathit{n}}},\, {\mathsf{i}}{{\mathit{n}}})}}{{\mathit{fN}}} &\quad + \mbox{if}~{|{\mathsf{i}}{{\mathit{n}}}|} = {|{\mathsf{f}}{{\mathit{n}}}|} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(address)} & {\mathit{addr}} &::=& {\mathit{nat}} \\ +\mbox{(function address)} & {\mathit{funcaddr}} &::=& {\mathit{addr}} \\ +\mbox{(global address)} & {\mathit{globaladdr}} &::=& {\mathit{addr}} \\ +\mbox{(table address)} & {\mathit{tableaddr}} &::=& {\mathit{addr}} \\ +\mbox{(memory address)} & {\mathit{memaddr}} &::=& {\mathit{addr}} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(value)} & {\mathit{val}} &::=& {\mathit{valtype}}.\mathsf{const}~\,{{\mathit{val}}}_{{\mathit{valtype}}} \\ +\mbox{(result)} & {\mathit{result}} &::=& {{\mathit{val}}^\ast} ~|~ \mathsf{trap} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(external value)} & {\mathit{externval}} &::=& \mathsf{func}~\,{\mathit{funcaddr}} ~|~ \mathsf{global}~\,{\mathit{globaladdr}} ~|~ \mathsf{table}~\,{\mathit{tableaddr}} ~|~ \mathsf{mem}~\,{\mathit{memaddr}} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(function instance)} & {\mathit{funcinst}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{type}~\,{\mathit{functype}},\; \\ + \mathsf{module}~\,{\mathit{moduleinst}},\; \\ + \mathsf{code}~\,{\mathit{func}} \;\}\end{array} \\ +\mbox{(global instance)} & {\mathit{globalinst}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{type}~\,{\mathit{globaltype}},\; \\ + \mathsf{value}~\,{\mathit{val}} \;\}\end{array} \\ +\mbox{(table instance)} & {\mathit{tableinst}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{type}~\,{\mathit{tabletype}},\; \\ + \mathsf{elem}~\,{({{\mathit{funcaddr}}^?})^\ast} \;\}\end{array} \\ +\mbox{(memory instance)} & {\mathit{meminst}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{type}~\,{\mathit{memtype}},\; \\ + \mathsf{data}~\,{{\mathit{byte}}^\ast} \;\}\end{array} \\ +\mbox{(export instance)} & {\mathit{exportinst}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{name}~\,{\mathit{name}},\; \\ + \mathsf{value}~\,{\mathit{externval}} \;\}\end{array} \\ +\mbox{(module instance)} & {\mathit{moduleinst}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{type}~\,{{\mathit{functype}}^\ast},\; \\ + \mathsf{func}~\,{{\mathit{funcaddr}}^\ast},\; \\ + \mathsf{global}~\,{{\mathit{globaladdr}}^\ast},\; \\ + \mathsf{table}~\,{{\mathit{tableaddr}}^\ast},\; \\ + \mathsf{mem}~\,{{\mathit{memaddr}}^\ast},\; \\ + \mathsf{export}~\,{{\mathit{exportinst}}^\ast} \;\}\end{array} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(store)} & {\mathit{store}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{func}~\,{{\mathit{funcinst}}^\ast},\; \\ + \mathsf{global}~\,{{\mathit{globalinst}}^\ast},\; \\ + \mathsf{table}~\,{{\mathit{tableinst}}^\ast},\; \\ + \mathsf{mem}~\,{{\mathit{meminst}}^\ast} \;\}\end{array} \\ +\mbox{(frame)} & {\mathit{frame}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{local}~\,{{\mathit{val}}^\ast},\; \\ + \mathsf{module}~\,{\mathit{moduleinst}} \;\}\end{array} \\ +\mbox{(state)} & {\mathit{state}} &::=& {\mathit{store}} ; {\mathit{frame}} \\ +\mbox{(configuration)} & {\mathit{config}} &::=& {\mathit{state}} ; {{\mathit{instr}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(administrative instruction)} & {\mathit{instr}} &::=& {\mathit{instr}} \\ &&|& +\mathsf{call}~\,{\mathit{funcaddr}} \\ &&|& +{{\mathsf{label}}_{{\mathit{n}}}}{\{{{\mathit{instr}}^\ast}\}}~\,{{\mathit{instr}}^\ast} \\ &&|& +{{\mathsf{frame}}_{{\mathit{n}}}}{\{{\mathit{frame}}\}}~\,{{\mathit{instr}}^\ast} \\ &&|& +\mathsf{trap} \\ +\mbox{(evaluation context)} & {\mathit{E}} &::=& {}[\mathsf{\_}] \\ &&|& +{{\mathit{val}}^\ast}~\,{\mathit{E}}~\,{{\mathit{instr}}^\ast} \\ &&|& +{{\mathsf{label}}_{{\mathit{n}}}}{\{{{\mathit{instr}}^\ast}\}}~\,{\mathit{E}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{default}}~\,\mathsf{i{\scriptstyle32}} &=& (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,0) & \\ +{\mathrm{default}}~\,\mathsf{i{\scriptstyle64}} &=& (\mathsf{i{\scriptstyle64}}.\mathsf{const}~\,0) & \\ +{\mathrm{default}}~\,\mathsf{f{\scriptstyle32}} &=& (\mathsf{f{\scriptstyle32}}.\mathsf{const}~\,{+0}) & \\ +{\mathrm{default}}~\,\mathsf{f{\scriptstyle64}} &=& (\mathsf{f{\scriptstyle64}}.\mathsf{const}~\,{+0}) & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{funcs}}(\epsilon) &=& \epsilon & \\ +{\mathrm{funcs}}((\mathsf{func}~\,{\mathit{fa}})~\,{{\mathit{xv}}^\ast}) &=& {\mathit{fa}}~\,{\mathrm{funcs}}({{\mathit{xv}}^\ast}) & \\ +{\mathrm{funcs}}({\mathit{externval}}~\,{{\mathit{xv}}^\ast}) &=& {\mathrm{funcs}}({{\mathit{xv}}^\ast}) &\quad + \mbox{otherwise} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{globals}}(\epsilon) &=& \epsilon & \\ +{\mathrm{globals}}((\mathsf{global}~\,{\mathit{ga}})~\,{{\mathit{xv}}^\ast}) &=& {\mathit{ga}}~\,{\mathrm{globals}}({{\mathit{xv}}^\ast}) & \\ +{\mathrm{globals}}({\mathit{externval}}~\,{{\mathit{xv}}^\ast}) &=& {\mathrm{globals}}({{\mathit{xv}}^\ast}) &\quad + \mbox{otherwise} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{tables}}(\epsilon) &=& \epsilon & \\ +{\mathrm{tables}}((\mathsf{table}~\,{\mathit{ta}})~\,{{\mathit{xv}}^\ast}) &=& {\mathit{ta}}~\,{\mathrm{tables}}({{\mathit{xv}}^\ast}) & \\ +{\mathrm{tables}}({\mathit{externval}}~\,{{\mathit{xv}}^\ast}) &=& {\mathrm{tables}}({{\mathit{xv}}^\ast}) &\quad + \mbox{otherwise} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{mems}}(\epsilon) &=& \epsilon & \\ +{\mathrm{mems}}((\mathsf{mem}~\,{\mathit{ma}})~\,{{\mathit{xv}}^\ast}) &=& {\mathit{ma}}~\,{\mathrm{mems}}({{\mathit{xv}}^\ast}) & \\ +{\mathrm{mems}}({\mathit{externval}}~\,{{\mathit{xv}}^\ast}) &=& {\mathrm{mems}}({{\mathit{xv}}^\ast}) &\quad + \mbox{otherwise} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{store} &=& {\mathit{s}} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{frame} &=& {\mathit{f}} & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{module}.\mathsf{func} &=& {\mathit{f}}.\mathsf{module}.\mathsf{func} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{func} &=& {\mathit{s}}.\mathsf{func} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{global} &=& {\mathit{s}}.\mathsf{global} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{table} &=& {\mathit{s}}.\mathsf{table} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{mem} &=& {\mathit{s}}.\mathsf{mem} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{module} &=& {\mathit{f}}.\mathsf{module} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}).\mathsf{type}~\,{}[{\mathit{x}}] &=& {\mathit{f}}.\mathsf{module}.\mathsf{type}{}[{\mathit{x}}] & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{({\mathit{s}} ; {\mathit{f}}).\mathsf{func}}{{}[{\mathit{x}}]} &=& {\mathit{s}}.\mathsf{func}{}[{\mathit{f}}.\mathsf{module}.\mathsf{func}{}[{\mathit{x}}]] & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{({\mathit{s}} ; {\mathit{f}}).\mathsf{global}}{{}[{\mathit{x}}]} &=& {\mathit{s}}.\mathsf{global}{}[{\mathit{f}}.\mathsf{module}.\mathsf{global}{}[{\mathit{x}}]] & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{({\mathit{s}} ; {\mathit{f}}).\mathsf{table}}{{}[{\mathit{x}}]} &=& {\mathit{s}}.\mathsf{table}{}[{\mathit{f}}.\mathsf{module}.\mathsf{table}{}[{\mathit{x}}]] & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{({\mathit{s}} ; {\mathit{f}}).\mathsf{mem}}{{}[{\mathit{x}}]} &=& {\mathit{s}}.\mathsf{mem}{}[{\mathit{f}}.\mathsf{module}.\mathsf{mem}{}[{\mathit{x}}]] & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{({\mathit{s}} ; {\mathit{f}}).\mathsf{local}}{{}[{\mathit{x}}]} &=& {\mathit{f}}.\mathsf{local}{}[{\mathit{x}}] & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}){}[\mathsf{local}{}[{\mathit{x}}] = {\mathit{v}}] &=& {\mathit{s}} ; {\mathit{f}}{}[\mathsf{local}{}[{\mathit{x}}] = {\mathit{v}}] & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}){}[\mathsf{global}{}[{\mathit{x}}].\mathsf{value} = {\mathit{v}}] &=& {\mathit{s}}{}[\mathsf{global}{}[{\mathit{f}}.\mathsf{module}.\mathsf{global}{}[{\mathit{x}}]].\mathsf{value} = {\mathit{v}}] ; {\mathit{f}} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}){}[\mathsf{table}{}[{\mathit{x}}].\mathsf{elem}{}[{\mathit{i}}] = {\mathit{a}}] &=& {\mathit{s}}{}[\mathsf{table}{}[{\mathit{f}}.\mathsf{module}.\mathsf{table}{}[{\mathit{x}}]].\mathsf{elem}{}[{\mathit{i}}] = {\mathit{a}}] ; {\mathit{f}} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}){}[\mathsf{table}{}[{\mathit{x}}] = {\mathit{ti}}] &=& {\mathit{s}}{}[\mathsf{table}{}[{\mathit{f}}.\mathsf{module}.\mathsf{table}{}[{\mathit{x}}]] = {\mathit{ti}}] ; {\mathit{f}} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}){}[\mathsf{mem}{}[{\mathit{x}}].\mathsf{data}{}[{\mathit{i}} : {\mathit{j}}] = {{\mathit{b}}^\ast}] &=& {\mathit{s}}{}[\mathsf{mem}{}[{\mathit{f}}.\mathsf{module}.\mathsf{mem}{}[{\mathit{x}}]].\mathsf{data}{}[{\mathit{i}} : {\mathit{j}}] = {{\mathit{b}}^\ast}] ; {\mathit{f}} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +({\mathit{s}} ; {\mathit{f}}){}[\mathsf{mem}{}[{\mathit{x}}] = {\mathit{mi}}] &=& {\mathit{s}}{}[\mathsf{mem}{}[{\mathit{f}}.\mathsf{module}.\mathsf{mem}{}[{\mathit{x}}]] = {\mathit{mi}}] ; {\mathit{f}} & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{growtable}}({\mathit{ti}}, {\mathit{n}}) &=& {\mathit{ti}'} &\quad + \mbox{if}~{\mathit{ti}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{}[{\mathit{i}} .. {\mathit{j}}],\; \mathsf{elem}~\,{{\mathit{a}}^\ast} \}\end{array} \\ + &&&\quad {\land}~{\mathit{i}'} = {|{{\mathit{a}}^\ast}|} + {\mathit{n}} \\ + &&&\quad {\land}~{\mathit{ti}'} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{}[{\mathit{i}'} .. {\mathit{j}}],\; \mathsf{elem}~\,{{\mathit{a}}^\ast}~\,{\epsilon^{{\mathit{n}}}} \}\end{array} \\ + &&&\quad {\land}~{\mathit{i}'} \leq {\mathit{j}} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{growmemory}}({\mathit{mi}}, {\mathit{n}}) &=& {\mathit{mi}'} &\quad + \mbox{if}~{\mathit{mi}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{}[{\mathit{i}} .. {\mathit{j}}],\; \mathsf{data}~\,{{\mathit{b}}^\ast} \}\end{array} \\ + &&&\quad {\land}~{\mathit{i}'} = {|{{\mathit{b}}^\ast}|} / (64 \cdot {\mathrm{Ki}}) + {\mathit{n}} \\ + &&&\quad {\land}~{\mathit{mi}'} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{}[{\mathit{i}'} .. {\mathit{j}}],\; \mathsf{data}~\,{{\mathit{b}}^\ast}~\,{0^{{\mathit{n}} \cdot 64 \cdot {\mathrm{Ki}}}} \}\end{array} \\ + &&&\quad {\land}~{\mathit{i}'} \leq {\mathit{j}} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lrrl@{}l@{}} +\mbox{(context)} & {\mathit{context}} &::=& \{\; \begin{array}[t]{@{}l@{}l@{}} +\mathsf{type}~\,{{\mathit{functype}}^\ast},\; \mathsf{func}~\,{{\mathit{functype}}^\ast},\; \mathsf{global}~\,{{\mathit{globaltype}}^\ast},\; \mathsf{table}~\,{{\mathit{tabletype}}^\ast},\; \mathsf{mem}~\,{{\mathit{memtype}}^\ast},\; \\ + \mathsf{local}~\,{{\mathit{valtype}}^\ast},\; \mathsf{label}~\,{{\mathit{resulttype}}^\ast},\; \mathsf{return}~\,{{\mathit{resulttype}}^?} \;\}\end{array} \\ +\end{array} +$$ + +\vspace{1ex} + +$\boxed{{ \vdash }\;{\mathit{limits}} : {\mathit{nat}}}$ + +$\boxed{{ \vdash }\;{\mathit{functype}} : \mathsf{ok}}$ + +$\boxed{{ \vdash }\;{\mathit{globaltype}} : \mathsf{ok}}$ + +$\boxed{{ \vdash }\;{\mathit{tabletype}} : \mathsf{ok}}$ + +$\boxed{{ \vdash }\;{\mathit{memtype}} : \mathsf{ok}}$ + +$\boxed{{ \vdash }\;{\mathit{externtype}} : \mathsf{ok}}$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{n}}_{{1}} \leq {\mathit{n}}_{{2}} \leq {\mathit{k}} +}{ +{ \vdash }\;{}[{\mathit{n}}_{{1}} .. {\mathit{n}}_{{2}}] : {\mathit{k}} +} \, {[\textsc{\scriptsize K{-}limits}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{ \vdash }\;{{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^?} : \mathsf{ok} +} \, {[\textsc{\scriptsize K{-}func}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{ \vdash }\;{\mathit{gt}} : \mathsf{ok} +} \, {[\textsc{\scriptsize K{-}global}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{lim}} : {2^{32}} - 1 +}{ +{ \vdash }\;{\mathit{lim}} : \mathsf{ok} +} \, {[\textsc{\scriptsize K{-}table}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{lim}} : {2^{16}} +}{ +{ \vdash }\;{\mathit{lim}} : \mathsf{ok} +} \, {[\textsc{\scriptsize K{-}mem}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{functype}} : \mathsf{ok} +}{ +{ \vdash }\;\mathsf{func}~\,{\mathit{functype}} : \mathsf{ok} +} \, {[\textsc{\scriptsize K{-}extern{-}func}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{globaltype}} : \mathsf{ok} +}{ +{ \vdash }\;\mathsf{global}~\,{\mathit{globaltype}} : \mathsf{ok} +} \, {[\textsc{\scriptsize K{-}extern{-}global}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{tabletype}} : \mathsf{ok} +}{ +{ \vdash }\;\mathsf{table}~\,{\mathit{tabletype}} : \mathsf{ok} +} \, {[\textsc{\scriptsize K{-}extern{-}table}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{memtype}} : \mathsf{ok} +}{ +{ \vdash }\;\mathsf{mem}~\,{\mathit{memtype}} : \mathsf{ok} +} \, {[\textsc{\scriptsize K{-}extern{-}mem}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$\boxed{{ \vdash }\;{\mathit{limits}} \leq {\mathit{limits}}}$ + +$\boxed{{ \vdash }\;{\mathit{functype}} \leq {\mathit{functype}}}$ + +$\boxed{{ \vdash }\;{\mathit{globaltype}} \leq {\mathit{globaltype}}}$ + +$\boxed{{ \vdash }\;{\mathit{tabletype}} \leq {\mathit{tabletype}}}$ + +$\boxed{{ \vdash }\;{\mathit{memtype}} \leq {\mathit{memtype}}}$ + +$\boxed{{ \vdash }\;{\mathit{externtype}} \leq {\mathit{externtype}}}$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{n}}_{{11}} \geq {\mathit{n}}_{{21}} + \qquad +{\mathit{n}}_{{12}} \leq {\mathit{n}}_{{22}} +}{ +{ \vdash }\;{}[{\mathit{n}}_{{11}} .. {\mathit{n}}_{{12}}] \leq {}[{\mathit{n}}_{{21}} .. {\mathit{n}}_{{22}}] +} \, {[\textsc{\scriptsize S{-}limits}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{ \vdash }\;{\mathit{ft}} \leq {\mathit{ft}} +} \, {[\textsc{\scriptsize S{-}func}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{ \vdash }\;{\mathit{gt}} \leq {\mathit{gt}} +} \, {[\textsc{\scriptsize S{-}global}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{lim}}_{{1}} \leq {\mathit{lim}}_{{2}} +}{ +{ \vdash }\;{\mathit{lim}}_{{1}} \leq {\mathit{lim}}_{{2}} +} \, {[\textsc{\scriptsize S{-}table}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{lim}}_{{1}} \leq {\mathit{lim}}_{{2}} +}{ +{ \vdash }\;{\mathit{lim}}_{{1}} \leq {\mathit{lim}}_{{2}} +} \, {[\textsc{\scriptsize S{-}mem}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{ft}}_{{1}} \leq {\mathit{ft}}_{{2}} +}{ +{ \vdash }\;\mathsf{func}~\,{\mathit{ft}}_{{1}} \leq \mathsf{func}~\,{\mathit{ft}}_{{2}} +} \, {[\textsc{\scriptsize S{-}extern{-}func}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{gt}}_{{1}} \leq {\mathit{gt}}_{{2}} +}{ +{ \vdash }\;\mathsf{global}~\,{\mathit{gt}}_{{1}} \leq \mathsf{global}~\,{\mathit{gt}}_{{2}} +} \, {[\textsc{\scriptsize S{-}extern{-}global}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{tt}}_{{1}} \leq {\mathit{tt}}_{{2}} +}{ +{ \vdash }\;\mathsf{table}~\,{\mathit{tt}}_{{1}} \leq \mathsf{table}~\,{\mathit{tt}}_{{2}} +} \, {[\textsc{\scriptsize S{-}extern{-}table}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{mt}}_{{1}} \leq {\mathit{mt}}_{{2}} +}{ +{ \vdash }\;\mathsf{mem}~\,{\mathit{mt}}_{{1}} \leq \mathsf{mem}~\,{\mathit{mt}}_{{2}} +} \, {[\textsc{\scriptsize S{-}extern{-}mem}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$\boxed{{\mathit{context}} \vdash {\mathit{instr}} : {\mathit{functype}}}$ + +$\boxed{{\mathit{context}} \vdash {{\mathit{instr}}^\ast} : {\mathit{functype}}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{expr}} : {\mathit{resulttype}}}$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}} \vdash {{\mathit{instr}}^\ast} : \epsilon \rightarrow {{\mathit{t}}^?} +}{ +{\mathit{C}} \vdash {{\mathit{instr}}^\ast} : {{\mathit{t}}^?} +} \, {[\textsc{\scriptsize T{-}expr}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash \epsilon : \epsilon \rightarrow \epsilon +} \, {[\textsc{\scriptsize T*{-}empty}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}} \vdash {\mathit{instr}}_{{1}} : {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^\ast} + \qquad +{\mathit{C}} \vdash {\mathit{instr}}_{{2}} : {{\mathit{t}}_{{2}}^\ast} \rightarrow {{\mathit{t}}_{{3}}^\ast} +}{ +{\mathit{C}} \vdash {\mathit{instr}}_{{1}}~\,{{\mathit{instr}}_{{2}}^\ast} : {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{3}}^\ast} +} \, {[\textsc{\scriptsize T*{-}seq}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}} \vdash {{\mathit{instr}}^\ast} : {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^\ast} +}{ +{\mathit{C}} \vdash {{\mathit{instr}}^\ast} : {{\mathit{t}}^\ast}~\,{{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}^\ast}~\,{{\mathit{t}}_{{2}}^\ast} +} \, {[\textsc{\scriptsize T*{-}frame}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash \mathsf{unreachable} : {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^\ast} +} \, {[\textsc{\scriptsize T{-}unreachable}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash \mathsf{nop} : \epsilon \rightarrow \epsilon +} \, {[\textsc{\scriptsize T{-}nop}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash \mathsf{drop} : {\mathit{t}} \rightarrow \epsilon +} \, {[\textsc{\scriptsize T{-}drop}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash \mathsf{select} : {\mathit{t}}~\,{\mathit{t}}~\,\mathsf{i{\scriptstyle32}} \rightarrow {\mathit{t}} +} \, {[\textsc{\scriptsize T{-}select}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}, \mathsf{label}~\,({{\mathit{t}}^?}) \vdash {{\mathit{instr}}^\ast} : \epsilon \rightarrow {{\mathit{t}}^?} +}{ +{\mathit{C}} \vdash \mathsf{block}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}^\ast} : \epsilon \rightarrow {{\mathit{t}}^?} +} \, {[\textsc{\scriptsize T{-}block}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}, \mathsf{label}~\,(\epsilon) \vdash {{\mathit{instr}}^\ast} : \epsilon \rightarrow \epsilon +}{ +{\mathit{C}} \vdash \mathsf{loop}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}^\ast} : \epsilon \rightarrow {{\mathit{t}}^?} +} \, {[\textsc{\scriptsize T{-}loop}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}, \mathsf{label}~\,({{\mathit{t}}^?}) \vdash {{\mathit{instr}}_{{1}}^\ast} : \epsilon \rightarrow {{\mathit{t}}^?} + \qquad +{\mathit{C}}, \mathsf{label}~\,({{\mathit{t}}^?}) \vdash {{\mathit{instr}}_{{2}}^\ast} : \epsilon \rightarrow {{\mathit{t}}^?} +}{ +{\mathit{C}} \vdash \mathsf{if}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}_{{1}}^\ast}~\,\mathsf{else}~\,{{\mathit{instr}}_{{2}}^\ast} : \mathsf{i{\scriptstyle32}} \rightarrow {{\mathit{t}}^?} +} \, {[\textsc{\scriptsize T{-}if}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{label}{}[{\mathit{l}}] = {{\mathit{t}}^?} +}{ +{\mathit{C}} \vdash \mathsf{br}~\,{\mathit{l}} : {{\mathit{t}}_{{1}}^\ast}~\,{{\mathit{t}}^?} \rightarrow {{\mathit{t}}_{{2}}^\ast} +} \, {[\textsc{\scriptsize T{-}br}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{label}{}[{\mathit{l}}] = {{\mathit{t}}^?} +}{ +{\mathit{C}} \vdash \mathsf{br\_if}~\,{\mathit{l}} : {{\mathit{t}}^?}~\,\mathsf{i{\scriptstyle32}} \rightarrow {{\mathit{t}}^?} +} \, {[\textsc{\scriptsize T{-}br\_if}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{{\mathit{t}}^?} = {\mathit{C}}.\mathsf{label}{}[{\mathit{l}'}] + \qquad +(({{\mathit{t}}^?} = {\mathit{C}}.\mathsf{label}{}[{\mathit{l}}]))^\ast +}{ +{\mathit{C}} \vdash \mathsf{br\_table}~\,{{\mathit{l}}^\ast}~\,{\mathit{l}'} : {{\mathit{t}}_{{1}}^\ast}~\,{{\mathit{t}}^?} \rightarrow {{\mathit{t}}_{{2}}^\ast} +} \, {[\textsc{\scriptsize T{-}br\_table}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{return} = ({{\mathit{t}}^?}) +}{ +{\mathit{C}} \vdash \mathsf{return} : {{\mathit{t}}_{{1}}^\ast}~\,{{\mathit{t}}^?} \rightarrow {{\mathit{t}}_{{2}}^\ast} +} \, {[\textsc{\scriptsize T{-}return}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{func}{}[{\mathit{x}}] = {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^?} +}{ +{\mathit{C}} \vdash \mathsf{call}~\,{\mathit{x}} : {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^?} +} \, {[\textsc{\scriptsize T{-}call}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{type}{}[{\mathit{x}}] = {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^?} +}{ +{\mathit{C}} \vdash \mathsf{call\_indirect}~\,{\mathit{x}} : {{\mathit{t}}_{{1}}^\ast}~\,\mathsf{i{\scriptstyle32}} \rightarrow {{\mathit{t}}_{{2}}^?} +} \, {[\textsc{\scriptsize T{-}call\_indirect}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash {\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{\mathit{t}}} : \epsilon \rightarrow {\mathit{t}} +} \, {[\textsc{\scriptsize T{-}const}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash {\mathit{t}} . {\mathit{unop}}_{{\mathit{t}}} : {\mathit{t}} \rightarrow {\mathit{t}} +} \, {[\textsc{\scriptsize T{-}unop}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash {\mathit{t}} . {\mathit{binop}}_{{\mathit{t}}} : {\mathit{t}}~\,{\mathit{t}} \rightarrow {\mathit{t}} +} \, {[\textsc{\scriptsize T{-}binop}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash {\mathit{t}} . {\mathit{testop}}_{{\mathit{t}}} : {\mathit{t}} \rightarrow \mathsf{i{\scriptstyle32}} +} \, {[\textsc{\scriptsize T{-}testop}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash {\mathit{t}} . {\mathit{relop}}_{{\mathit{t}}} : {\mathit{t}}~\,{\mathit{t}} \rightarrow \mathsf{i{\scriptstyle32}} +} \, {[\textsc{\scriptsize T{-}relop}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{t}}_{{1}} \neq {\mathit{t}}_{{2}} + \qquad +{|{\mathit{t}}_{{1}}|} = {|{\mathit{t}}_{{2}}|} +}{ +{\mathit{C}} \vdash \mathsf{cvtop}~\,{\mathit{t}}_{{1}}~\,\mathsf{reinterpret}~\,{\mathit{t}}_{{2}} : {\mathit{t}}_{{2}} \rightarrow {\mathit{t}}_{{1}} +} \, {[\textsc{\scriptsize T{-}reinterpret}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{{\mathsf{i}}{{\mathit{n}}}}_{{1}} \neq {{\mathsf{i}}{{\mathit{n}}}}_{{2}} + \qquad +{{\mathit{sx}}^?} = \epsilon \Leftrightarrow {|{{\mathsf{i}}{{\mathit{n}}}}_{{1}}|} > {|{{\mathsf{i}}{{\mathit{n}}}}_{{2}}|} +}{ +{\mathit{C}} \vdash {{\mathsf{i}}{{\mathit{n}}}}_{{1}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{{{\mathsf{i}}{{\mathit{n}}}}_{{2}}}}{\mathsf{\_}}}{{{\mathit{sx}}^?}} : {{\mathsf{i}}{{\mathit{n}}}}_{{2}} \rightarrow {{\mathsf{i}}{{\mathit{n}}}}_{{1}} +} \, {[\textsc{\scriptsize T{-}convert{-}i}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{{\mathsf{f}}{{\mathit{n}}}}_{{1}} \neq {{\mathsf{f}}{{\mathit{n}}}}_{{2}} +}{ +{\mathit{C}} \vdash \mathsf{cvtop}~\,{{\mathsf{f}}{{\mathit{n}}}}_{{1}}~\,\mathsf{convert}~\,{{\mathsf{f}}{{\mathit{n}}}}_{{2}} : {{\mathsf{f}}{{\mathit{n}}}}_{{2}} \rightarrow {{\mathsf{f}}{{\mathit{n}}}}_{{1}} +} \, {[\textsc{\scriptsize T{-}convert{-}f}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{local}{}[{\mathit{x}}] = {\mathit{t}} +}{ +{\mathit{C}} \vdash \mathsf{local.get}~\,{\mathit{x}} : \epsilon \rightarrow {\mathit{t}} +} \, {[\textsc{\scriptsize T{-}local.get}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{local}{}[{\mathit{x}}] = {\mathit{t}} +}{ +{\mathit{C}} \vdash \mathsf{local.set}~\,{\mathit{x}} : {\mathit{t}} \rightarrow \epsilon +} \, {[\textsc{\scriptsize T{-}local.set}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{local}{}[{\mathit{x}}] = {\mathit{t}} +}{ +{\mathit{C}} \vdash \mathsf{local.tee}~\,{\mathit{x}} : {\mathit{t}} \rightarrow {\mathit{t}} +} \, {[\textsc{\scriptsize T{-}local.tee}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{global}{}[{\mathit{x}}] = {\mathit{mut}}~\,{\mathit{t}} +}{ +{\mathit{C}} \vdash \mathsf{global.get}~\,{\mathit{x}} : \epsilon \rightarrow {\mathit{t}} +} \, {[\textsc{\scriptsize T{-}global.get}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{global}{}[{\mathit{x}}] = \mathsf{mut}~\,{\mathit{t}} +}{ +{\mathit{C}} \vdash \mathsf{global.set}~\,{\mathit{x}} : {\mathit{t}} \rightarrow \epsilon +} \, {[\textsc{\scriptsize T{-}global.set}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{mem}{}[0] = {\mathit{mt}} +}{ +{\mathit{C}} \vdash \mathsf{memory.size} : \epsilon \rightarrow \mathsf{i{\scriptstyle32}} +} \, {[\textsc{\scriptsize T{-}memory.size}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{mem}{}[0] = {\mathit{mt}} +}{ +{\mathit{C}} \vdash \mathsf{memory.grow} : \mathsf{i{\scriptstyle32}} \rightarrow \mathsf{i{\scriptstyle32}} +} \, {[\textsc{\scriptsize T{-}memory.grow}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{mem}{}[0] = {\mathit{mt}} + \qquad +{2^{{\mathit{n}}_{{\mathsf{a}}}}} \leq {|{\mathit{t}}|} / 8 + \qquad +({2^{{\mathit{n}}_{{\mathsf{a}}}}} \leq {\mathit{n}} / 8 < {|{\mathit{t}}|} / 8)^? + \qquad +{{\mathit{n}}^?} = \epsilon \lor {\mathit{t}} = {\mathsf{i}}{{\mathit{n}}} +}{ +{\mathit{C}} \vdash {{\mathit{t}}.\mathsf{load}}{{({\mathit{n}}~\,\mathsf{\_}~\,{\mathit{sx}})^?}}~\,\{ \begin{array}[t]{@{}l@{}} +\mathsf{align}~\,{\mathit{n}}_{{\mathsf{a}}},\; \mathsf{offset}~\,{\mathit{n}}_{{\mathsf{o}}} \}\end{array} : \mathsf{i{\scriptstyle32}} \rightarrow {\mathit{t}} +} \, {[\textsc{\scriptsize T{-}load}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{mem}{}[0] = {\mathit{mt}} + \qquad +{2^{{\mathit{n}}_{{\mathsf{a}}}}} \leq {|{\mathit{t}}|} / 8 + \qquad +({2^{{\mathit{n}}_{{\mathsf{a}}}}} \leq {\mathit{n}} / 8 < {|{\mathit{t}}|} / 8)^? + \qquad +{{\mathit{n}}^?} = \epsilon \lor {\mathit{t}} = {\mathsf{i}}{{\mathit{n}}} +}{ +{\mathit{C}} \vdash {{\mathit{t}}.\mathsf{store}}{{{\mathit{n}}^?}}~\,\{ \begin{array}[t]{@{}l@{}} +\mathsf{align}~\,{\mathit{n}}_{{\mathsf{a}}},\; \mathsf{offset}~\,{\mathit{n}}_{{\mathsf{o}}} \}\end{array} : \mathsf{i{\scriptstyle32}}~\,{\mathit{t}} \rightarrow \epsilon +} \, {[\textsc{\scriptsize T{-}store}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$\boxed{{\mathit{context}} \vdash {\mathit{instr}}~\,\mathsf{const}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{expr}}~\,\mathsf{const}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{expr}} : {{\mathit{valtype}}^?}~\,\mathsf{const}}$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +}{ +{\mathit{C}} \vdash ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}})~\,\mathsf{const} +} \, {[\textsc{\scriptsize C{-}instr{-}const}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{global}{}[{\mathit{x}}] = {\mathit{t}} +}{ +{\mathit{C}} \vdash (\mathsf{global.get}~\,{\mathit{x}})~\,\mathsf{const} +} \, {[\textsc{\scriptsize C{-}instr{-}global.get}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +({\mathit{C}} \vdash {\mathit{instr}}~\,\mathsf{const})^\ast +}{ +{\mathit{C}} \vdash {{\mathit{instr}}^\ast}~\,\mathsf{const} +} \, {[\textsc{\scriptsize C{-}expr}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}} \vdash {\mathit{expr}} : {{\mathit{t}}^?} + \qquad +{\mathit{C}} \vdash {\mathit{expr}}~\,\mathsf{const} +}{ +{\mathit{C}} \vdash {\mathit{expr}} : {{\mathit{t}}^?}~\,\mathsf{const} +} \, {[\textsc{\scriptsize TC{-}expr}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$\boxed{{ \vdash }\;{\mathit{type}} : {\mathit{functype}}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{func}} : {\mathit{functype}}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{global}} : {\mathit{globaltype}}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{table}} : {\mathit{tabletype}}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{mem}} : {\mathit{memtype}}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{elem}} : \mathsf{ok}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{data}} : \mathsf{ok}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{start}} : \mathsf{ok}}$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{ft}} : \mathsf{ok} +}{ +{ \vdash }\;\mathsf{type}~\,{\mathit{ft}} : {\mathit{ft}} +} \, {[\textsc{\scriptsize T{-}type}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{type}{}[{\mathit{x}}] = {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^?} + \qquad +{\mathit{C}}, \mathsf{local}~\,{{\mathit{t}}_{{1}}^\ast}~\,{{\mathit{t}}^\ast}, \mathsf{label}~\,({{\mathit{t}}_{{2}}^?}), \mathsf{return}~\,({{\mathit{t}}_{{2}}^?}) \vdash {\mathit{expr}} : {{\mathit{t}}_{{2}}^?} +}{ +{\mathit{C}} \vdash \mathsf{func}~\,{\mathit{x}}~\,{(\mathsf{local}~\,{\mathit{t}})^\ast}~\,{\mathit{expr}} : {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^?} +} \, {[\textsc{\scriptsize T{-}func}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{gt}} : \mathsf{ok} + \qquad +{\mathit{gt}} = {\mathit{mut}}~\,{\mathit{t}} + \qquad +{\mathit{C}} \vdash {\mathit{expr}} : {\mathit{t}}~\,\mathsf{const} +}{ +{\mathit{C}} \vdash \mathsf{global}~\,{\mathit{gt}}~\,{\mathit{expr}} : {\mathit{gt}} +} \, {[\textsc{\scriptsize T{-}global}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{tt}} : \mathsf{ok} +}{ +{\mathit{C}} \vdash \mathsf{table}~\,{\mathit{tt}} : {\mathit{tt}} +} \, {[\textsc{\scriptsize T{-}table}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{mt}} : \mathsf{ok} +}{ +{\mathit{C}} \vdash \mathsf{memory}~\,{\mathit{mt}} : {\mathit{mt}} +} \, {[\textsc{\scriptsize T{-}mem}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{table}{}[0] = {\mathit{lim}} + \qquad +{\mathit{C}} \vdash {\mathit{expr}} : \mathsf{i{\scriptstyle32}}~\,\mathsf{const} + \qquad +(({\mathit{C}}.\mathsf{func}{}[{\mathit{x}}] = {\mathit{ft}}))^\ast +}{ +{\mathit{C}} \vdash \mathsf{elem}~\,{\mathit{expr}}~\,{{\mathit{x}}^\ast} : \mathsf{ok} +} \, {[\textsc{\scriptsize T{-}elem}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{mem}{}[0] = {\mathit{lim}} + \qquad +{\mathit{C}} \vdash {\mathit{expr}} : \mathsf{i{\scriptstyle32}}~\,\mathsf{const} +}{ +{\mathit{C}} \vdash \mathsf{data}~\,{\mathit{expr}}~\,{{\mathit{b}}^\ast} : \mathsf{ok} +} \, {[\textsc{\scriptsize T{-}data}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{func}{}[{\mathit{x}}] = \epsilon \rightarrow \epsilon +}{ +{\mathit{C}} \vdash \mathsf{start}~\,{\mathit{x}} : \mathsf{ok} +} \, {[\textsc{\scriptsize T{-}start}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$\boxed{{\mathit{context}} \vdash {\mathit{import}} : {\mathit{externtype}}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{export}} : {\mathit{externtype}}}$ + +$\boxed{{\mathit{context}} \vdash {\mathit{externidx}} : {\mathit{externtype}}}$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{ \vdash }\;{\mathit{xt}} : \mathsf{ok} +}{ +{\mathit{C}} \vdash \mathsf{import}~\,{\mathit{name}}_{{1}}~\,{\mathit{name}}_{{2}}~\,{\mathit{xt}} : {\mathit{xt}} +} \, {[\textsc{\scriptsize T{-}import}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}} \vdash {\mathit{externidx}} : {\mathit{xt}} +}{ +{\mathit{C}} \vdash \mathsf{export}~\,{\mathit{name}}~\,{\mathit{externidx}} : {\mathit{xt}} +} \, {[\textsc{\scriptsize T{-}export}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{func}{}[{\mathit{x}}] = {\mathit{ft}} +}{ +{\mathit{C}} \vdash \mathsf{func}~\,{\mathit{x}} : \mathsf{func}~\,{\mathit{ft}} +} \, {[\textsc{\scriptsize T{-}externidx{-}func}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{global}{}[{\mathit{x}}] = {\mathit{gt}} +}{ +{\mathit{C}} \vdash \mathsf{global}~\,{\mathit{x}} : \mathsf{global}~\,{\mathit{gt}} +} \, {[\textsc{\scriptsize T{-}externidx{-}global}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{table}{}[{\mathit{x}}] = {\mathit{tt}} +}{ +{\mathit{C}} \vdash \mathsf{table}~\,{\mathit{x}} : \mathsf{table}~\,{\mathit{tt}} +} \, {[\textsc{\scriptsize T{-}externidx{-}table}]} +\qquad +\end{array} +$$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +{\mathit{C}}.\mathsf{mem}{}[{\mathit{x}}] = {\mathit{mt}} +}{ +{\mathit{C}} \vdash \mathsf{mem}~\,{\mathit{x}} : \mathsf{mem}~\,{\mathit{mt}} +} \, {[\textsc{\scriptsize T{-}externidx{-}mem}]} +\qquad +\end{array} +$$ + +\vspace{1ex} + +$\boxed{{ \vdash }\;{\mathit{module}} : \mathsf{ok}}$ + +$$ +\begin{array}{@{}c@{}}\displaystyle +\frac{ +\begin{array}{@{}c@{}} +{\mathit{C}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{{\mathit{ft}'}^\ast},\; \mathsf{func}~\,{{\mathit{ft}}^\ast},\; \mathsf{global}~\,{{\mathit{gt}}^\ast},\; \mathsf{table}~\,{{\mathit{tt}}^\ast},\; \mathsf{mem}~\,{{\mathit{mt}}^\ast} \}\end{array} + \\ +({ \vdash }\;{\mathit{type}} : {\mathit{ft}'})^\ast + \qquad +({\mathit{C}} \vdash {\mathit{func}} : {\mathit{ft}})^\ast + \qquad +({\mathit{C}} \vdash {\mathit{global}} : {\mathit{gt}})^\ast + \qquad +({\mathit{C}} \vdash {\mathit{table}} : {\mathit{tt}})^\ast + \qquad +({\mathit{C}} \vdash {\mathit{mem}} : {\mathit{mt}})^\ast + \\ +({\mathit{C}} \vdash {\mathit{elem}} : \mathsf{ok})^\ast + \qquad +({\mathit{C}} \vdash {\mathit{data}} : \mathsf{ok})^\ast + \qquad +({\mathit{C}} \vdash {\mathit{start}} : \mathsf{ok})^? + \\ +{|{{\mathit{tt}}^\ast}|} \leq 1 + \qquad +{|{{\mathit{mt}}^\ast}|} \leq 1 +\end{array} +}{ +{ \vdash }\;\mathsf{module}~\,{{\mathit{type}}^\ast}~\,{{\mathit{import}}^\ast}~\,{{\mathit{func}}^\ast}~\,{{\mathit{global}}^\ast}~\,{{\mathit{table}}^\ast}~\,{{\mathit{mem}}^\ast}~\,{{\mathit{elem}}^\ast}~\,{{\mathit{data}}^\ast}~\,{{\mathit{start}}^?}~\,{{\mathit{export}}^\ast} : \mathsf{ok} +} \, {[\textsc{\scriptsize T{-}module}]} +\qquad +\end{array} +$$ + +$\boxed{{\mathit{config}} \hookrightarrow {\mathit{config}}}$ + +$\boxed{{{\mathit{instr}}^\ast} \hookrightarrow {{\mathit{instr}}^\ast}}$ + +$\boxed{{\mathit{config}} \hookrightarrow {{\mathit{instr}}^\ast}}$ + +$\boxed{{\mathit{config}} \hookrightarrow^\ast {\mathit{config}}}$ + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}pure}]} \quad & {\mathit{z}} ; {{\mathit{instr}}^\ast} &\hookrightarrow& {\mathit{z}} ; {{\mathit{instr}'}^\ast} &\quad + \mbox{if}~{{\mathit{instr}}^\ast} \hookrightarrow {{\mathit{instr}'}^\ast} \\ +{[\textsc{\scriptsize E{-}read}]} \quad & {\mathit{z}} ; {{\mathit{instr}}^\ast} &\hookrightarrow& {\mathit{z}} ; {{\mathit{instr}'}^\ast} &\quad + \mbox{if}~{\mathit{z}} ; {{\mathit{instr}}^\ast} \hookrightarrow {{\mathit{instr}'}^\ast} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}refl}]} \quad & {\mathit{z}} ; {{\mathit{instr}}^\ast} &\hookrightarrow^\ast& {\mathit{z}} ; {{\mathit{instr}}^\ast} & \\ +{[\textsc{\scriptsize E{-}trans}]} \quad & {\mathit{z}} ; {{\mathit{instr}}^\ast} &\hookrightarrow^\ast& {\mathit{z}''} ; {{{\mathit{instr}}''}^\ast} &\quad + \mbox{if}~{\mathit{z}} ; {{\mathit{instr}}^\ast} \hookrightarrow {\mathit{z}'} ; {{{\mathit{instr}}'}^\ast} \\ + &&&&\quad {\land}~{\mathit{z}'} ; {{\mathit{instr}}'} \hookrightarrow^\ast {\mathit{z}''} ; {{{\mathit{instr}}''}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$\boxed{{\mathit{state}} ; {\mathit{expr}} \hookrightarrow^\ast {\mathit{state}} ; {{\mathit{val}}^\ast}}$ + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}expr}]} \quad & {\mathit{z}} ; {{\mathit{instr}}^\ast} &\hookrightarrow^\ast& {\mathit{z}'} ; {{\mathit{val}}^\ast} &\quad + \mbox{if}~{\mathit{z}} ; {{\mathit{instr}}^\ast} \hookrightarrow^\ast {\mathit{z}'} ; {{\mathit{val}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}unreachable}]} \quad & \mathsf{unreachable} &\hookrightarrow& \mathsf{trap} & \\ +{[\textsc{\scriptsize E{-}nop}]} \quad & \mathsf{nop} &\hookrightarrow& \epsilon & \\ +{[\textsc{\scriptsize E{-}drop}]} \quad & {\mathit{val}}~\,\mathsf{drop} &\hookrightarrow& \epsilon & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}select{-}true}]} \quad & {\mathit{val}}_{{1}}~\,{\mathit{val}}_{{2}}~\,(\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{c}})~\,(\mathsf{select}~\,{{{\mathit{t}}^\ast}^?}) &\hookrightarrow& {\mathit{val}}_{{1}} &\quad + \mbox{if}~{\mathit{c}} \neq 0 \\ +{[\textsc{\scriptsize E{-}select{-}false}]} \quad & {\mathit{val}}_{{1}}~\,{\mathit{val}}_{{2}}~\,(\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{c}})~\,(\mathsf{select}~\,{{{\mathit{t}}^\ast}^?}) &\hookrightarrow& {\mathit{val}}_{{2}} &\quad + \mbox{if}~{\mathit{c}} = 0 \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}block}]} \quad & {\mathit{z}} ; (\mathsf{block}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}^\ast}) &\hookrightarrow& ({{\mathsf{label}}_{{\mathit{n}}}}{\{\epsilon\}}~\,{{\mathit{instr}}^\ast}) &\quad + \mbox{if}~{{\mathit{t}}^?} = \epsilon \land {\mathit{n}} = 0 \lor {{\mathit{t}}^?} \neq \epsilon \land {\mathit{n}} = 1 \\ +{[\textsc{\scriptsize E{-}loop}]} \quad & {\mathit{z}} ; (\mathsf{loop}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}^\ast}) &\hookrightarrow& ({{\mathsf{label}}_{0}}{\{\mathsf{loop}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}^\ast}\}}~\,{{\mathit{instr}}^\ast}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}if{-}true}]} \quad & (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{c}})~\,(\mathsf{if}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}_{{1}}^\ast}~\,\mathsf{else}~\,{{\mathit{instr}}_{{2}}^\ast}) &\hookrightarrow& (\mathsf{block}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}_{{1}}^\ast}) &\quad + \mbox{if}~{\mathit{c}} \neq 0 \\ +{[\textsc{\scriptsize E{-}if{-}false}]} \quad & (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{c}})~\,(\mathsf{if}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}_{{1}}^\ast}~\,\mathsf{else}~\,{{\mathit{instr}}_{{2}}^\ast}) &\hookrightarrow& (\mathsf{block}~\,{{\mathit{t}}^?}~\,{{\mathit{instr}}_{{2}}^\ast}) &\quad + \mbox{if}~{\mathit{c}} = 0 \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}label{-}vals}]} \quad & ({{\mathsf{label}}_{{\mathit{n}}}}{\{{{\mathit{instr}}^\ast}\}}~\,{{\mathit{val}}^\ast}) &\hookrightarrow& {{\mathit{val}}^\ast} & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}br{-}zero}]} \quad & ({{\mathsf{label}}_{{\mathit{n}}}}{\{{{\mathit{instr}'}^\ast}\}}~\,({{\mathit{val}'}^\ast}, {{\mathit{val}}^{{\mathit{n}}}}, (\mathsf{br}~\,0), {{\mathit{instr}}^\ast})) &\hookrightarrow& {{\mathit{val}}^{{\mathit{n}}}}~\,{{\mathit{instr}'}^\ast} & \\ +{[\textsc{\scriptsize E{-}br{-}succ}]} \quad & ({{\mathsf{label}}_{{\mathit{n}}}}{\{{{\mathit{instr}'}^\ast}\}}~\,({{\mathit{val}}^\ast}, (\mathsf{br}~\,{\mathit{l}} + 1), {{\mathit{instr}}^\ast})) &\hookrightarrow& {{\mathit{val}}^\ast}~\,(\mathsf{br}~\,{\mathit{l}}) & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}br\_if{-}true}]} \quad & (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{c}})~\,(\mathsf{br\_if}~\,{\mathit{l}}) &\hookrightarrow& (\mathsf{br}~\,{\mathit{l}}) &\quad + \mbox{if}~{\mathit{c}} \neq 0 \\ +{[\textsc{\scriptsize E{-}br\_if{-}false}]} \quad & (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{c}})~\,(\mathsf{br\_if}~\,{\mathit{l}}) &\hookrightarrow& \epsilon &\quad + \mbox{if}~{\mathit{c}} = 0 \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}br\_table{-}lt}]} \quad & (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,(\mathsf{br\_table}~\,{{\mathit{l}}^\ast}~\,{\mathit{l}'}) &\hookrightarrow& (\mathsf{br}~\,{{\mathit{l}}^\ast}{}[{\mathit{i}}]) &\quad + \mbox{if}~{\mathit{i}} < {|{{\mathit{l}}^\ast}|} \\ +{[\textsc{\scriptsize E{-}br\_table{-}ge}]} \quad & (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,(\mathsf{br\_table}~\,{{\mathit{l}}^\ast}~\,{\mathit{l}'}) &\hookrightarrow& (\mathsf{br}~\,{\mathit{l}'}) &\quad + \mbox{if}~{\mathit{i}} \geq {|{{\mathit{l}}^\ast}|} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}call}]} \quad & {\mathit{z}} ; (\mathsf{call}~\,{\mathit{x}}) &\hookrightarrow& (\mathsf{call}~\,{\mathit{z}}.\mathsf{module}.\mathsf{func}{}[{\mathit{x}}]) & \\ +{[\textsc{\scriptsize E{-}call\_indirect{-}call}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,(\mathsf{call\_indirect}~\,{\mathit{x}}) &\hookrightarrow& (\mathsf{call}~\,{\mathit{a}}) &\quad + \mbox{if}~{{\mathit{z}}.\mathsf{table}}{{}[0]}.\mathsf{elem}{}[{\mathit{i}}] = {\mathit{a}} \\ + &&&&\quad {\land}~{\mathit{z}}.\mathsf{type}~\,{}[{\mathit{x}}] = {\mathit{z}}.\mathsf{func}{}[{\mathit{a}}].\mathsf{type} \\ +{[\textsc{\scriptsize E{-}call\_indirect{-}trap}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,(\mathsf{call\_indirect}~\,{\mathit{x}}) &\hookrightarrow& \mathsf{trap} &\quad + \mbox{otherwise} \\ +{[\textsc{\scriptsize E{-}call\_addr}]} \quad & {\mathit{z}} ; {{\mathit{val}}^{{\mathit{k}}}}~\,(\mathsf{call}~\,{\mathit{a}}) &\hookrightarrow& ({{\mathsf{frame}}_{{\mathit{n}}}}{\{{\mathit{f}}\}}~\,({{\mathsf{label}}_{{\mathit{n}}}}{\{\epsilon\}}~\,{{\mathit{instr}}^\ast})) &\quad + \mbox{if}~{\mathit{z}}.\mathsf{func}{}[{\mathit{a}}] = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,({{\mathit{t}}_{{1}}^{{\mathit{k}}}} \rightarrow {{\mathit{t}}_{{2}}^{{\mathit{n}}}}),\; \mathsf{module}~\,{\mathit{mm}},\; \mathsf{code}~\,{\mathit{func}} \}\end{array} \\ + &&&&\quad {\land}~{\mathit{func}} = \mathsf{func}~\,{\mathit{x}}~\,{(\mathsf{local}~\,{\mathit{t}})^\ast}~\,{{\mathit{instr}}^\ast} \\ + &&&&\quad {\land}~{\mathit{f}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{local}~\,{{\mathit{val}}^{{\mathit{k}}}}~\,{({\mathrm{default}}~\,{\mathit{t}})^\ast},\; \mathsf{module}~\,{\mathit{mm}} \}\end{array} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}frame{-}vals}]} \quad & ({{\mathsf{frame}}_{{\mathit{n}}}}{\{{\mathit{f}}\}}~\,{{\mathit{val}}^{{\mathit{n}}}}) &\hookrightarrow& {{\mathit{val}}^{{\mathit{n}}}} & \\ +{[\textsc{\scriptsize E{-}return{-}frame}]} \quad & ({{\mathsf{frame}}_{{\mathit{n}}}}{\{{\mathit{f}}\}}~\,({{\mathit{val}'}^\ast}, {{\mathit{val}}^{{\mathit{n}}}}, \mathsf{return}, {{\mathit{instr}}^\ast})) &\hookrightarrow& {{\mathit{val}}^{{\mathit{n}}}} & \\ +{[\textsc{\scriptsize E{-}return{-}label}]} \quad & ({{\mathsf{label}}_{{\mathit{k}}}}{\{{{\mathit{instr}'}^\ast}\}}~\,({{\mathit{val}}^\ast}, \mathsf{return}, {{\mathit{instr}}^\ast})) &\hookrightarrow& {{\mathit{val}}^\ast}~\,\mathsf{return} & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}unop{-}val}]} \quad & ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{1}})~\,({\mathit{t}} . {\mathit{unop}}) &\hookrightarrow& ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}) &\quad + \mbox{if}~{\mathrm{unop}}({\mathit{t}}, {\mathit{unop}}, {\mathit{c}}_{{1}}) = {\mathit{c}} \\ +{[\textsc{\scriptsize E{-}unop{-}trap}]} \quad & ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{1}})~\,({\mathit{t}} . {\mathit{unop}}) &\hookrightarrow& \mathsf{trap} &\quad + \mbox{if}~{\mathrm{unop}}({\mathit{t}}, {\mathit{unop}}, {\mathit{c}}_{{1}}) = \epsilon \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}binop{-}val}]} \quad & ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{1}})~\,({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{2}})~\,({\mathit{t}} . {\mathit{binop}}) &\hookrightarrow& ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}) &\quad + \mbox{if}~{\mathrm{binop}}({\mathit{t}}, {\mathit{binop}}, {\mathit{c}}_{{1}}, {\mathit{c}}_{{2}}) = {\mathit{c}} \\ +{[\textsc{\scriptsize E{-}binop{-}trap}]} \quad & ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{1}})~\,({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{2}})~\,({\mathit{t}} . {\mathit{binop}}) &\hookrightarrow& \mathsf{trap} &\quad + \mbox{if}~{\mathrm{binop}}({\mathit{t}}, {\mathit{binop}}, {\mathit{c}}_{{1}}, {\mathit{c}}_{{2}}) = \epsilon \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}testop}]} \quad & ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{1}})~\,({\mathit{t}} . {\mathit{testop}}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{c}}) &\quad + \mbox{if}~{\mathit{c}} = {\mathrm{testop}}({\mathit{t}}, {\mathit{testop}}, {\mathit{c}}_{{1}}) \\ +{[\textsc{\scriptsize E{-}relop}]} \quad & ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{1}})~\,({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}_{{2}})~\,({\mathit{t}} . {\mathit{relop}}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{c}}) &\quad + \mbox{if}~{\mathit{c}} = {\mathrm{relop}}({\mathit{t}}, {\mathit{relop}}, {\mathit{c}}_{{1}}, {\mathit{c}}_{{2}}) \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}cvtop{-}val}]} \quad & ({\mathit{t}}_{{1}}.\mathsf{const}~\,{\mathit{c}}_{{1}})~\,({\mathit{t}}_{{2}} . {{{{{\mathit{cvtop}}}{\mathsf{\_}}}{{\mathit{t}}_{{1}}}}{\mathsf{\_}}}{{{\mathit{sx}}^?}}) &\hookrightarrow& ({\mathit{t}}_{{2}}.\mathsf{const}~\,{\mathit{c}}) &\quad + \mbox{if}~{\mathrm{cvtop}}({\mathit{t}}_{{1}}, {\mathit{t}}_{{2}}, {\mathit{cvtop}}, {{\mathit{sx}}^?}, {\mathit{c}}_{{1}}) = {\mathit{c}} \\ +{[\textsc{\scriptsize E{-}cvtop{-}trap}]} \quad & ({\mathit{t}}_{{1}}.\mathsf{const}~\,{\mathit{c}}_{{1}})~\,({\mathit{t}}_{{2}} . {{{{{\mathit{cvtop}}}{\mathsf{\_}}}{{\mathit{t}}_{{1}}}}{\mathsf{\_}}}{{{\mathit{sx}}^?}}) &\hookrightarrow& \mathsf{trap} &\quad + \mbox{if}~{\mathrm{cvtop}}({\mathit{t}}_{{1}}, {\mathit{t}}_{{2}}, {\mathit{cvtop}}, {{\mathit{sx}}^?}, {\mathit{c}}_{{1}}) = \epsilon \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}local.get}]} \quad & {\mathit{z}} ; (\mathsf{local.get}~\,{\mathit{x}}) &\hookrightarrow& {{\mathit{z}}.\mathsf{local}}{{}[{\mathit{x}}]} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}local.set}]} \quad & {\mathit{z}} ; {\mathit{val}}~\,(\mathsf{local.set}~\,{\mathit{x}}) &\hookrightarrow& {\mathit{z}}{}[\mathsf{local}{}[{\mathit{x}}] = {\mathit{val}}] ; \epsilon & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}local.tee}]} \quad & {\mathit{val}}~\,(\mathsf{local.tee}~\,{\mathit{x}}) &\hookrightarrow& {\mathit{val}}~\,{\mathit{val}}~\,(\mathsf{local.set}~\,{\mathit{x}}) & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}global.get}]} \quad & {\mathit{z}} ; (\mathsf{global.get}~\,{\mathit{x}}) &\hookrightarrow& {{\mathit{z}}.\mathsf{global}}{{}[{\mathit{x}}]}.\mathsf{value} & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}global.set}]} \quad & {\mathit{z}} ; {\mathit{val}}~\,(\mathsf{global.set}~\,{\mathit{x}}) &\hookrightarrow& {\mathit{z}}{}[\mathsf{global}{}[{\mathit{x}}].\mathsf{value} = {\mathit{val}}] ; \epsilon & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}load{-}num{-}trap}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,(\mathsf{load}~\,{\mathit{t}}~\,{\mathit{mo}}) &\hookrightarrow& \mathsf{trap} &\quad + \mbox{if}~{\mathit{i}} + {\mathit{mo}}.\mathsf{offset} + {|{\mathit{t}}|} / 8 > {|{{\mathit{z}}.\mathsf{mem}}{{}[0]}.\mathsf{data}|} \\ +{[\textsc{\scriptsize E{-}load{-}num{-}val}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,(\mathsf{load}~\,{\mathit{t}}~\,{\mathit{mo}}) &\hookrightarrow& ({\mathit{t}}.\mathsf{const}~\,{\mathit{c}}) &\quad + \mbox{if}~{{\mathrm{bytes}}}_{{\mathit{t}}}({\mathit{c}}) = {{\mathit{z}}.\mathsf{mem}}{{}[0]}.\mathsf{data}{}[{\mathit{i}} + {\mathit{mo}}.\mathsf{offset} : {|{\mathit{t}}|} / 8] \\ +{[\textsc{\scriptsize E{-}load{-}pack{-}trap}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,({{\mathsf{i}}{{\mathit{n}}}.\mathsf{load}}{({\mathit{n}}~\,\mathsf{\_}~\,{\mathit{sx}})}~\,{\mathit{mo}}) &\hookrightarrow& \mathsf{trap} &\quad + \mbox{if}~{\mathit{i}} + {\mathit{mo}}.\mathsf{offset} + {\mathit{n}} / 8 > {|{{\mathit{z}}.\mathsf{mem}}{{}[0]}.\mathsf{data}|} \\ +{[\textsc{\scriptsize E{-}load{-}pack{-}val}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,({{\mathsf{i}}{{\mathit{n}}}.\mathsf{load}}{({\mathit{n}}~\,\mathsf{\_}~\,{\mathit{sx}})}~\,{\mathit{mo}}) &\hookrightarrow& ({\mathsf{i}}{{\mathit{n}}}.\mathsf{const}~\,{{{{\mathrm{ext}}}_{({\mathit{n}},\, {|{\mathsf{i}}{{\mathit{n}}}|})}^{{\mathit{sx}}}}}{({\mathit{c}})}) &\quad + \mbox{if}~{{\mathrm{bytes}}}_{{{\mathit{i}}}{{\mathit{n}}}}({\mathit{c}}) = {{\mathit{z}}.\mathsf{mem}}{{}[0]}.\mathsf{data}{}[{\mathit{i}} + {\mathit{mo}}.\mathsf{offset} : {\mathit{n}} / 8] \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}store{-}num{-}trap}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,({\mathit{t}}.\mathsf{const}~\,{\mathit{c}})~\,(\mathsf{store}~\,{\mathit{t}}~\,{\mathit{mo}}) &\hookrightarrow& {\mathit{z}} ; \mathsf{trap} &\quad + \mbox{if}~{\mathit{i}} + {\mathit{mo}}.\mathsf{offset} + {|{\mathit{t}}|} / 8 > {|{{\mathit{z}}.\mathsf{mem}}{{}[0]}.\mathsf{data}|} \\ +{[\textsc{\scriptsize E{-}store{-}num{-}val}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,({\mathit{t}}.\mathsf{const}~\,{\mathit{c}})~\,(\mathsf{store}~\,{\mathit{t}}~\,{\mathit{mo}}) &\hookrightarrow& {\mathit{z}}{}[\mathsf{mem}{}[0].\mathsf{data}{}[{\mathit{i}} + {\mathit{mo}}.\mathsf{offset} : {|{\mathit{t}}|} / 8] = {{\mathit{b}}^\ast}] ; \epsilon &\quad + \mbox{if}~{{\mathit{b}}^\ast} = {{\mathrm{bytes}}}_{{\mathit{t}}}({\mathit{c}}) \\ +{[\textsc{\scriptsize E{-}store{-}pack{-}trap}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,({\mathsf{i}}{{\mathit{n}}}.\mathsf{const}~\,{\mathit{c}})~\,({{\mathsf{i}}{{\mathit{n}}}.\mathsf{store}}{{\mathit{n}}}~\,{\mathit{mo}}) &\hookrightarrow& {\mathit{z}} ; \mathsf{trap} &\quad + \mbox{if}~{\mathit{i}} + {\mathit{mo}}.\mathsf{offset} + {\mathit{n}} / 8 > {|{{\mathit{z}}.\mathsf{mem}}{{}[0]}.\mathsf{data}|} \\ +{[\textsc{\scriptsize E{-}store{-}pack{-}val}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}})~\,({\mathsf{i}}{{\mathit{n}}}.\mathsf{const}~\,{\mathit{c}})~\,({{\mathsf{i}}{{\mathit{n}}}.\mathsf{store}}{{\mathit{n}}}~\,{\mathit{mo}}) &\hookrightarrow& {\mathit{z}}{}[\mathsf{mem}{}[0].\mathsf{data}{}[{\mathit{i}} + {\mathit{mo}}.\mathsf{offset} : {\mathit{n}} / 8] = {{\mathit{b}}^\ast}] ; \epsilon &\quad + \mbox{if}~{{\mathit{b}}^\ast} = {{\mathrm{bytes}}}_{{{\mathit{i}}}{{\mathit{n}}}}({{{\mathrm{wrap}}}_{({|{\mathsf{i}}{{\mathit{n}}}|},\, {\mathit{n}})}}{({\mathit{c}})}) \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}memory.size}]} \quad & {\mathit{z}} ; (\mathsf{memory.size}) &\hookrightarrow& (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{n}}) &\quad + \mbox{if}~{\mathit{n}} \cdot 64 \cdot {\mathrm{Ki}} = {|{{\mathit{z}}.\mathsf{mem}}{{}[0]}.\mathsf{data}|} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}lcl@{}l@{}} +{[\textsc{\scriptsize E{-}memory.grow{-}succeed}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{n}})~\,(\mathsf{memory.grow}) &\hookrightarrow& {\mathit{z}}{}[\mathsf{mem}{}[0] = {\mathit{mi}}] ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{|{{\mathit{z}}.\mathsf{mem}}{{}[0]}.\mathsf{data}|} / (64 \cdot {\mathrm{Ki}})) &\quad + \mbox{if}~{\mathrm{growmemory}}({{\mathit{z}}.\mathsf{mem}}{{}[0]}, {\mathit{n}}) = {\mathit{mi}} \\ +{[\textsc{\scriptsize E{-}memory.grow{-}fail}]} \quad & {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{n}})~\,(\mathsf{memory.grow}) &\hookrightarrow& {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{{{{{\mathrm{signed}}^{{-1}}}}{}}_{32}}{{-1}}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{funcs}}(\epsilon) &=& \epsilon & \\ +{\mathrm{funcs}}((\mathsf{func}~\,{\mathit{fa}})~\,{{\mathit{externval}'}^\ast}) &=& {\mathit{fa}}~\,{\mathrm{funcs}}({{\mathit{externval}'}^\ast}) & \\ +{\mathrm{funcs}}({\mathit{externval}}~\,{{\mathit{externval}'}^\ast}) &=& {\mathrm{funcs}}({{\mathit{externval}'}^\ast}) &\quad + \mbox{otherwise} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{globals}}(\epsilon) &=& \epsilon & \\ +{\mathrm{globals}}((\mathsf{global}~\,{\mathit{ga}})~\,{{\mathit{externval}'}^\ast}) &=& {\mathit{ga}}~\,{\mathrm{globals}}({{\mathit{externval}'}^\ast}) & \\ +{\mathrm{globals}}({\mathit{externval}}~\,{{\mathit{externval}'}^\ast}) &=& {\mathrm{globals}}({{\mathit{externval}'}^\ast}) &\quad + \mbox{otherwise} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{tables}}(\epsilon) &=& \epsilon & \\ +{\mathrm{tables}}((\mathsf{table}~\,{\mathit{ta}})~\,{{\mathit{externval}'}^\ast}) &=& {\mathit{ta}}~\,{\mathrm{tables}}({{\mathit{externval}'}^\ast}) & \\ +{\mathrm{tables}}({\mathit{externval}}~\,{{\mathit{externval}'}^\ast}) &=& {\mathrm{tables}}({{\mathit{externval}'}^\ast}) &\quad + \mbox{otherwise} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{mems}}(\epsilon) &=& \epsilon & \\ +{\mathrm{mems}}((\mathsf{mem}~\,{\mathit{ma}})~\,{{\mathit{externval}'}^\ast}) &=& {\mathit{ma}}~\,{\mathrm{mems}}({{\mathit{externval}'}^\ast}) & \\ +{\mathrm{mems}}({\mathit{externval}}~\,{{\mathit{externval}'}^\ast}) &=& {\mathrm{mems}}({{\mathit{externval}'}^\ast}) &\quad + \mbox{otherwise} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{allocfunc}}({\mathit{s}}, {\mathit{mm}}, {\mathit{func}}) &=& ({\mathit{s}}{}[\mathsf{func} = ..{\mathit{fi}}],\, {|{\mathit{s}}.\mathsf{func}|}) &\quad + \mbox{if}~{\mathit{fi}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{\mathit{mm}}.\mathsf{type}{}[{\mathit{x}}],\; \mathsf{module}~\,{\mathit{mm}},\; \mathsf{code}~\,{\mathit{func}} \}\end{array} \\ + &&&\quad {\land}~{\mathit{func}} = \mathsf{func}~\,{\mathit{x}}~\,{{\mathit{local}}^\ast}~\,{\mathit{expr}} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{allocfuncs}}({\mathit{s}}, {\mathit{mm}}, \epsilon) &=& ({\mathit{s}},\, \epsilon) & \\ +{\mathrm{allocfuncs}}({\mathit{s}}, {\mathit{mm}}, {\mathit{func}}~\,{{\mathit{func}'}^\ast}) &=& ({\mathit{s}}_{{2}},\, {\mathit{fa}}~\,{{\mathit{fa}'}^\ast}) &\quad + \mbox{if}~({\mathit{s}}_{{1}},\, {\mathit{fa}}) = {\mathrm{allocfunc}}({\mathit{s}}, {\mathit{mm}}, {\mathit{func}}) \\ + &&&\quad {\land}~({\mathit{s}}_{{2}},\, {{\mathit{fa}'}^\ast}) = {\mathrm{allocfuncs}}({\mathit{s}}_{{1}}, {\mathit{mm}}, {{\mathit{func}'}^\ast}) \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{allocglobal}}({\mathit{s}}, {\mathit{globaltype}}, {\mathit{val}}) &=& ({\mathit{s}}{}[\mathsf{global} = ..{\mathit{gi}}],\, {|{\mathit{s}}.\mathsf{global}|}) &\quad + \mbox{if}~{\mathit{gi}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{\mathit{globaltype}},\; \mathsf{value}~\,{\mathit{val}} \}\end{array} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{allocglobals}}({\mathit{s}}, \epsilon, \epsilon) &=& ({\mathit{s}},\, \epsilon) & \\ +{\mathrm{allocglobals}}({\mathit{s}}, {\mathit{globaltype}}~\,{{\mathit{globaltype}'}^\ast}, {\mathit{val}}~\,{{\mathit{val}'}^\ast}) &=& ({\mathit{s}}_{{2}},\, {\mathit{ga}}~\,{{\mathit{ga}'}^\ast}) &\quad + \mbox{if}~({\mathit{s}}_{{1}},\, {\mathit{ga}}) = {\mathrm{allocglobal}}({\mathit{s}}, {\mathit{globaltype}}, {\mathit{val}}) \\ + &&&\quad {\land}~({\mathit{s}}_{{2}},\, {{\mathit{ga}'}^\ast}) = {\mathrm{allocglobals}}({\mathit{s}}_{{1}}, {{\mathit{globaltype}'}^\ast}, {{\mathit{val}'}^\ast}) \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{alloctable}}({\mathit{s}}, {}[{\mathit{i}} .. {\mathit{j}}]) &=& ({\mathit{s}}{}[\mathsf{table} = ..{\mathit{ti}}],\, {|{\mathit{s}}.\mathsf{table}|}) &\quad + \mbox{if}~{\mathit{ti}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{}[{\mathit{i}} .. {\mathit{j}}],\; \mathsf{elem}~\,{\epsilon^{{\mathit{i}}}} \}\end{array} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{alloctables}}({\mathit{s}}, \epsilon) &=& ({\mathit{s}},\, \epsilon) & \\ +{\mathrm{alloctables}}({\mathit{s}}, {\mathit{tabletype}}~\,{{\mathit{tabletype}'}^\ast}) &=& ({\mathit{s}}_{{2}},\, {\mathit{ta}}~\,{{\mathit{ta}'}^\ast}) &\quad + \mbox{if}~({\mathit{s}}_{{1}},\, {\mathit{ta}}) = {\mathrm{alloctable}}({\mathit{s}}, {\mathit{tabletype}}) \\ + &&&\quad {\land}~({\mathit{s}}_{{2}},\, {{\mathit{ta}'}^\ast}) = {\mathrm{alloctables}}({\mathit{s}}_{{1}}, {{\mathit{tabletype}'}^\ast}) \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{allocmem}}({\mathit{s}}, {}[{\mathit{i}} .. {\mathit{j}}]) &=& ({\mathit{s}}{}[\mathsf{mem} = ..{\mathit{mi}}],\, {|{\mathit{s}}.\mathsf{mem}|}) &\quad + \mbox{if}~{\mathit{mi}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{}[{\mathit{i}} .. {\mathit{j}}],\; \mathsf{data}~\,{0^{{\mathit{i}} \cdot 64 \cdot {\mathrm{Ki}}}} \}\end{array} \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{allocmems}}({\mathit{s}}, \epsilon) &=& ({\mathit{s}},\, \epsilon) & \\ +{\mathrm{allocmems}}({\mathit{s}}, {\mathit{memtype}}~\,{{\mathit{memtype}'}^\ast}) &=& ({\mathit{s}}_{{2}},\, {\mathit{ma}}~\,{{\mathit{ma}'}^\ast}) &\quad + \mbox{if}~({\mathit{s}}_{{1}},\, {\mathit{ma}}) = {\mathrm{allocmem}}({\mathit{s}}, {\mathit{memtype}}) \\ + &&&\quad {\land}~({\mathit{s}}_{{2}},\, {{\mathit{ma}'}^\ast}) = {\mathrm{allocmems}}({\mathit{s}}_{{1}}, {{\mathit{memtype}'}^\ast}) \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{instexport}}({{\mathit{fa}}^\ast}, {{\mathit{ga}}^\ast}, {{\mathit{ta}}^\ast}, {{\mathit{ma}}^\ast}, \mathsf{export}~\,{\mathit{name}}~\,(\mathsf{func}~\,{\mathit{x}})) &=& \{ \begin{array}[t]{@{}l@{}} +\mathsf{name}~\,{\mathit{name}},\; \mathsf{value}~\,(\mathsf{func}~\,{{\mathit{fa}}^\ast}{}[{\mathit{x}}]) \}\end{array} & \\ +{\mathrm{instexport}}({{\mathit{fa}}^\ast}, {{\mathit{ga}}^\ast}, {{\mathit{ta}}^\ast}, {{\mathit{ma}}^\ast}, \mathsf{export}~\,{\mathit{name}}~\,(\mathsf{global}~\,{\mathit{x}})) &=& \{ \begin{array}[t]{@{}l@{}} +\mathsf{name}~\,{\mathit{name}},\; \mathsf{value}~\,(\mathsf{global}~\,{{\mathit{ga}}^\ast}{}[{\mathit{x}}]) \}\end{array} & \\ +{\mathrm{instexport}}({{\mathit{fa}}^\ast}, {{\mathit{ga}}^\ast}, {{\mathit{ta}}^\ast}, {{\mathit{ma}}^\ast}, \mathsf{export}~\,{\mathit{name}}~\,(\mathsf{table}~\,{\mathit{x}})) &=& \{ \begin{array}[t]{@{}l@{}} +\mathsf{name}~\,{\mathit{name}},\; \mathsf{value}~\,(\mathsf{table}~\,{{\mathit{ta}}^\ast}{}[{\mathit{x}}]) \}\end{array} & \\ +{\mathrm{instexport}}({{\mathit{fa}}^\ast}, {{\mathit{ga}}^\ast}, {{\mathit{ta}}^\ast}, {{\mathit{ma}}^\ast}, \mathsf{export}~\,{\mathit{name}}~\,(\mathsf{mem}~\,{\mathit{x}})) &=& \{ \begin{array}[t]{@{}l@{}} +\mathsf{name}~\,{\mathit{name}},\; \mathsf{value}~\,(\mathsf{mem}~\,{{\mathit{ma}}^\ast}{}[{\mathit{x}}]) \}\end{array} & \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{allocmodule}}({\mathit{s}}, {\mathit{module}}, {{\mathit{externval}}^\ast}, {{\mathit{val}}^\ast}) &=& ({\mathit{s}}_{{4}},\, {\mathit{mm}}) &\quad + \mbox{if}~{\mathit{module}} = \mathsf{module}~\,{(\mathsf{type}~\,{\mathit{ft}})^\ast}~\,{{\mathit{import}}^\ast}~\,{{\mathit{func}}^{{\mathit{n}}_{{\mathit{func}}}}}~\,{(\mathsf{global}~\,{\mathit{globaltype}}~\,{\mathit{expr}}_{{1}})^{{\mathit{n}}_{{\mathit{global}}}}}~\,{(\mathsf{table}~\,{\mathit{tabletype}})^{{\mathit{n}}_{{\mathit{table}}}}}~\,{(\mathsf{memory}~\,{\mathit{memtype}})^{{\mathit{n}}_{{\mathit{mem}}}}}~\,{{\mathit{elem}}^\ast}~\,{{\mathit{data}}^\ast}~\,{{\mathit{start}}^?}~\,{{\mathit{export}}^\ast} \\ + &&&\quad {\land}~{{\mathit{fa}}_{{\mathit{ex}}}^\ast} = {\mathrm{funcs}}({{\mathit{externval}}^\ast}) \\ + &&&\quad {\land}~{{\mathit{ga}}_{{\mathit{ex}}}^\ast} = {\mathrm{globals}}({{\mathit{externval}}^\ast}) \\ + &&&\quad {\land}~{{\mathit{ta}}_{{\mathit{ex}}}^\ast} = {\mathrm{tables}}({{\mathit{externval}}^\ast}) \\ + &&&\quad {\land}~{{\mathit{ma}}_{{\mathit{ex}}}^\ast} = {\mathrm{mems}}({{\mathit{externval}}^\ast}) \\ + &&&\quad {\land}~{{\mathit{fa}}^\ast} = {{|{\mathit{s}}.\mathsf{func}|} + {\mathit{i}}_{{\mathit{func}}}^{{\mathit{i}}_{{\mathit{func}}}<{\mathit{n}}_{{\mathit{func}}}}} \\ + &&&\quad {\land}~{{\mathit{ga}}^\ast} = {{|{\mathit{s}}.\mathsf{global}|} + {\mathit{i}}_{{\mathit{global}}}^{{\mathit{i}}_{{\mathit{global}}}<{\mathit{n}}_{{\mathit{global}}}}} \\ + &&&\quad {\land}~{{\mathit{ta}}^\ast} = {{|{\mathit{s}}.\mathsf{table}|} + {\mathit{i}}_{{\mathit{table}}}^{{\mathit{i}}_{{\mathit{table}}}<{\mathit{n}}_{{\mathit{table}}}}} \\ + &&&\quad {\land}~{{\mathit{ma}}^\ast} = {{|{\mathit{s}}.\mathsf{mem}|} + {\mathit{i}}_{{\mathit{mem}}}^{{\mathit{i}}_{{\mathit{mem}}}<{\mathit{n}}_{{\mathit{mem}}}}} \\ + &&&\quad {\land}~{{\mathit{xi}}^\ast} = {{\mathrm{instexport}}({{\mathit{fa}}_{{\mathit{ex}}}^\ast}~\,{{\mathit{fa}}^\ast}, {{\mathit{ga}}_{{\mathit{ex}}}^\ast}~\,{{\mathit{ga}}^\ast}, {{\mathit{ta}}_{{\mathit{ex}}}^\ast}~\,{{\mathit{ta}}^\ast}, {{\mathit{ma}}_{{\mathit{ex}}}^\ast}~\,{{\mathit{ma}}^\ast}, {\mathit{export}})^\ast} \\ + &&&\quad {\land}~{\mathit{mm}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{{\mathit{ft}}^\ast},\; \\ + \mathsf{func}~\,{{\mathit{fa}}_{{\mathit{ex}}}^\ast}~\,{{\mathit{fa}}^\ast},\; \\ + \mathsf{global}~\,{{\mathit{ga}}_{{\mathit{ex}}}^\ast}~\,{{\mathit{ga}}^\ast},\; \\ + \mathsf{table}~\,{{\mathit{ta}}_{{\mathit{ex}}}^\ast}~\,{{\mathit{ta}}^\ast},\; \\ + \mathsf{mem}~\,{{\mathit{ma}}_{{\mathit{ex}}}^\ast}~\,{{\mathit{ma}}^\ast},\; \\ + \mathsf{export}~\,{{\mathit{xi}}^\ast} \}\end{array} \\ + &&&\quad {\land}~({\mathit{s}}_{{1}},\, {{\mathit{fa}}^\ast}) = {\mathrm{allocfuncs}}({\mathit{s}}, {\mathit{mm}}, {{\mathit{func}}^{{\mathit{n}}_{{\mathit{func}}}}}) \\ + &&&\quad {\land}~({\mathit{s}}_{{2}},\, {{\mathit{ga}}^\ast}) = {\mathrm{allocglobals}}({\mathit{s}}_{{1}}, {{\mathit{globaltype}}^{{\mathit{n}}_{{\mathit{global}}}}}, {{\mathit{val}}^\ast}) \\ + &&&\quad {\land}~({\mathit{s}}_{{3}},\, {{\mathit{ta}}^\ast}) = {\mathrm{alloctables}}({\mathit{s}}_{{2}}, {{\mathit{tabletype}}^{{\mathit{n}}_{{\mathit{table}}}}}) \\ + &&&\quad {\land}~({\mathit{s}}_{{4}},\, {{\mathit{ma}}^\ast}) = {\mathrm{allocmems}}({\mathit{s}}_{{3}}, {{\mathit{memtype}}^{{\mathit{n}}_{{\mathit{mem}}}}}) \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{initelem}}({\mathit{s}}, {\mathit{mm}}, \epsilon, \epsilon) &=& {\mathit{s}} & \\ +{\mathrm{initelem}}({\mathit{s}}, {\mathit{mm}}, {\mathit{i}}~\,{{\mathit{i}'}^\ast}, ({{\mathit{a}}^\ast})~\,{({{\mathit{a}'}^\ast})^\ast}) &=& {\mathit{s}}_{{2}} &\quad + \mbox{if}~{\mathit{s}}_{{1}} = {\mathit{s}}{}[\mathsf{table}{}[{\mathit{mm}}.\mathsf{table}{}[0]].\mathsf{elem}{}[{\mathit{i}} : {|{{\mathit{a}}^\ast}|}] = {{\mathit{a}}^\ast}] \\ + &&&\quad {\land}~{\mathit{s}}_{{2}} = {\mathrm{initelem}}({\mathit{s}}_{{1}}, {\mathit{mm}}, {{\mathit{i}'}^\ast}, {({{\mathit{a}'}^\ast})^\ast}) \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{initdata}}({\mathit{s}}, {\mathit{mm}}, \epsilon, \epsilon) &=& {\mathit{s}} & \\ +{\mathrm{initdata}}({\mathit{s}}, {\mathit{mm}}, {\mathit{i}}~\,{{\mathit{i}'}^\ast}, ({{\mathit{b}}^\ast})~\,{({{\mathit{b}'}^\ast})^\ast}) &=& {\mathit{s}}_{{2}} &\quad + \mbox{if}~{\mathit{s}}_{{1}} = {\mathit{s}}{}[\mathsf{mem}{}[{\mathit{mm}}.\mathsf{mem}{}[0]].\mathsf{data}{}[{\mathit{i}} : {|{{\mathit{b}}^\ast}|}] = {{\mathit{b}}^\ast}] \\ + &&&\quad {\land}~{\mathit{s}}_{{2}} = {\mathrm{initdata}}({\mathit{s}}_{{1}}, {\mathit{mm}}, {{\mathit{i}'}^\ast}, {({{\mathit{b}'}^\ast})^\ast}) \\ +\end{array} +$$ + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{instantiate}}({\mathit{s}}, {\mathit{module}}, {{\mathit{externval}}^\ast}) &=& {\mathit{s}}_{{3}} ; {\mathit{f}} ; {(\mathsf{call}~\,{\mathit{x}'})^?} &\quad + \mbox{if}~{\mathit{module}} = \mathsf{module}~\,{{\mathit{type}}^\ast}~\,{{\mathit{import}}^\ast}~\,{{\mathit{func}}^\ast}~\,{{\mathit{global}}^\ast}~\,{{\mathit{table}}^\ast}~\,{{\mathit{mem}}^\ast}~\,{{\mathit{elem}}^\ast}~\,{{\mathit{data}}^\ast}~\,{{\mathit{start}}^?}~\,{{\mathit{export}}^\ast} \\ + &&&\quad {\land}~{{\mathit{type}}^\ast} = {(\mathsf{type}~\,{\mathit{functype}})^\ast} \\ + &&&\quad {\land}~{{\mathit{global}}^\ast} = {(\mathsf{global}~\,{\mathit{globaltype}}~\,{\mathit{expr}}_{{\mathsf{g}}})^\ast} \\ + &&&\quad {\land}~{{\mathit{elem}}^\ast} = {(\mathsf{elem}~\,{\mathit{expr}}_{{\mathit{E}}}~\,{{\mathit{x}}^\ast})^\ast} \\ + &&&\quad {\land}~{{\mathit{data}}^\ast} = {(\mathsf{data}~\,{\mathit{expr}}_{{\mathsf{d}}}~\,{{\mathit{b}}^\ast})^\ast} \\ + &&&\quad {\land}~{{\mathit{start}}^?} = {(\mathsf{start}~\,{\mathit{x}'})^?} \\ + &&&\quad {\land}~{\mathit{n}}_{{\mathsf{f}}} = {|{{\mathit{func}}^\ast}|} \\ + &&&\quad {\land}~{\mathit{mm}}_{{\mathit{init}}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{type}~\,{{\mathit{functype}}^\ast},\; \\ + \mathsf{func}~\,{\mathrm{funcs}}({{\mathit{externval}}^\ast})~\,{{|{\mathit{s}}.\mathsf{func}|} + {\mathit{i}}_{{\mathsf{f}}}^{{\mathit{i}}_{{\mathsf{f}}}<{\mathit{n}}_{{\mathsf{f}}}}},\; \\ + \mathsf{global}~\,{\mathrm{globals}}({{\mathit{externval}}^\ast}) \}\end{array} \\ + &&&\quad {\land}~{\mathit{f}}_{{\mathit{init}}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{local}~\,\epsilon,\; \mathsf{module}~\,{\mathit{mm}}_{{\mathit{init}}} \}\end{array} \\ + &&&\quad {\land}~{\mathit{z}} = {\mathit{s}} ; {\mathit{f}}_{{\mathit{init}}} \\ + &&&\quad {\land}~({\mathit{z}} ; {\mathit{expr}}_{{\mathsf{g}}} \hookrightarrow^\ast {\mathit{z}} ; {\mathit{val}})^\ast \\ + &&&\quad {\land}~({\mathit{z}} ; {\mathit{expr}}_{{\mathit{E}}} \hookrightarrow^\ast {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}}_{{\mathit{E}}}))^\ast \\ + &&&\quad {\land}~({\mathit{z}} ; {\mathit{expr}}_{{\mathsf{d}}} \hookrightarrow^\ast {\mathit{z}} ; (\mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{i}}_{{\mathsf{d}}}))^\ast \\ + &&&\quad {\land}~({\mathit{s}}_{{1}},\, {\mathit{mm}}) = {\mathrm{allocmodule}}({\mathit{s}}, {\mathit{module}}, {{\mathit{externval}}^\ast}, {{\mathit{val}}^\ast}) \\ + &&&\quad {\land}~{\mathit{s}}_{{2}} = {\mathrm{initelem}}({\mathit{s}}_{{1}}, {\mathit{mm}}, {{\mathit{i}}_{{\mathit{E}}}^\ast}, {{{\mathit{mm}}.\mathsf{func}{}[{\mathit{x}}]^\ast}^\ast}) \\ + &&&\quad {\land}~{\mathit{s}}_{{3}} = {\mathrm{initdata}}({\mathit{s}}_{{2}}, {\mathit{mm}}, {{\mathit{i}}_{{\mathsf{d}}}^\ast}, {{{\mathit{b}}^\ast}^\ast}) \\ + &&&\quad {\land}~{\mathit{f}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{local}~\,\epsilon,\; \mathsf{module}~\,{\mathit{mm}} \}\end{array} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{invoke}}({\mathit{s}}, {\mathit{fa}}, {{\mathit{val}}^{{\mathit{n}}}}) &=& {\mathit{s}} ; {\mathit{f}} ; {{\mathit{val}}^{{\mathit{n}}}}~\,(\mathsf{call}~\,{\mathit{fa}}) &\quad + \mbox{if}~{\mathit{f}} = \{ \begin{array}[t]{@{}l@{}} +\mathsf{local}~\,\epsilon,\; \mathsf{module}~\,\{ \begin{array}[t]{@{}l@{}} + \}\end{array} \}\end{array} \\ + &&&\quad {\land}~({\mathit{s}} ; {\mathit{f}}).\mathsf{func}{}[{\mathit{fa}}].\mathsf{type} = {{\mathit{t}}_{{1}}^{{\mathit{n}}}} \rightarrow {{\mathit{t}}_{{2}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{vec}}({\mathtt{X}}) &::=& {\mathit{n}}{:}{\mathtt{u{\scriptstyle32}}}~\,{({\mathit{el}}{:}{\mathtt{X}})^{{\mathit{n}}}} &\Rightarrow& {{\mathit{el}}^{{\mathit{n}}}} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{byte}} &::=& {\mathit{b}}{:}\mathtt{0x00} ~|~ \dots ~|~ {\mathit{b}}{:}\mathtt{0xFF} &\Rightarrow& {\mathit{b}} \\ +& {{\mathtt{u}}}{{\mathit{N}}} &::=& {\mathit{n}}{:}{\mathtt{byte}} &\Rightarrow& {\mathit{n}} &\quad + \mbox{if}~{\mathit{n}} < {2^{7}} \land {\mathit{n}} < {2^{{\mathit{N}}}} \\ &&|& +{\mathit{n}}{:}{\mathtt{byte}}~\,{\mathit{m}}{:}{{\mathtt{u}}}{({\mathit{N}} - 7)} &\Rightarrow& {2^{7}} \cdot {\mathit{m}} + ({\mathit{n}} - {2^{7}}) &\quad + \mbox{if}~{\mathit{n}} \geq {2^{7}} \land {\mathit{N}} > 7 \\ +& {{\mathtt{s}}}{{\mathit{N}}} &::=& {\mathit{n}}{:}{\mathtt{byte}} &\Rightarrow& {\mathit{n}} &\quad + \mbox{if}~{\mathit{n}} < {2^{6}} \land {\mathit{n}} < {2^{{\mathit{N}} - 1}} \\ &&|& +{\mathit{n}}{:}{\mathtt{byte}} &\Rightarrow& {\mathit{n}} - {2^{7}} &\quad + \mbox{if}~{2^{6}} \leq {\mathit{n}} < {2^{7}} \land {\mathit{n}} \geq {2^{7}} - {2^{{\mathit{N}} - 1}} \\ &&|& +{\mathit{n}}{:}{\mathtt{byte}}~\,{\mathit{i}}{:}{{\mathtt{u}}}{({\mathit{N}} - 7)} &\Rightarrow& {2^{7}} \cdot {\mathit{i}} + ({\mathit{n}} - {2^{7}}) &\quad + \mbox{if}~{\mathit{n}} \geq {2^{7}} \land {\mathit{N}} > 7 \\ +& {{\mathtt{i}}}{{\mathit{N}}} &::=& {\mathit{i}}{:}{{\mathtt{s}}}{{\mathit{N}}} &\Rightarrow& {{{{{\mathrm{signed}}^{{-1}}}}{}}_{{\mathit{N}}}}{{\mathit{i}}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {{\mathtt{f}}}{{\mathit{N}}} &::=& {{\mathit{b}}^\ast}{:}{{\mathtt{byte}}^{{\mathit{N}} / 8}} &\Rightarrow& {\mathrm{invfbytes}}({\mathit{N}}, {{\mathit{b}}^\ast}) \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{u{\scriptstyle32}}} &::=& {\mathit{n}}{:}{{\mathtt{u}}}{32} &\Rightarrow& {\mathit{n}} \\ +& {\mathtt{u{\scriptstyle64}}} &::=& {\mathit{n}}{:}{{\mathtt{u}}}{64} &\Rightarrow& {\mathit{n}} \\ +& {\mathtt{f{\scriptstyle32}}} &::=& {\mathit{p}}{:}{{\mathtt{f}}}{32} &\Rightarrow& {\mathit{p}} \\ +& {\mathtt{f{\scriptstyle64}}} &::=& {\mathit{p}}{:}{{\mathtt{f}}}{64} &\Rightarrow& {\mathit{p}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lcl@{}l@{}} +{\mathrm{utf{\scriptstyle8}}}({\mathit{ch}}) &=& {\mathit{b}} &\quad + \mbox{if}~{\mathit{ch}} < \mathrm{U{+}80} \land {\mathit{ch}} = {\mathit{b}} \\ +{\mathrm{utf{\scriptstyle8}}}({\mathit{ch}}) &=& {\mathit{b}}_{{1}}~\,{\mathit{b}}_{{2}} &\quad + \mbox{if}~\mathrm{U{+}80} \leq {\mathit{ch}} < \mathrm{U{+}0800} \land {\mathit{ch}} = {2^{6}} \cdot ({\mathit{b}}_{{1}} - \mathtt{0xC0}) + ({\mathit{b}}_{{2}} - \mathtt{0x80}) \\ +{\mathrm{utf{\scriptstyle8}}}({\mathit{ch}}) &=& {\mathit{b}}_{{1}}~\,{\mathit{b}}_{{2}}~\,{\mathit{b}}_{{3}} &\quad + \mbox{if}~(\mathrm{U{+}0800} \leq {\mathit{ch}} < \mathrm{U{+}D800} \lor \mathrm{U{+}E000} \leq {\mathit{ch}} < \mathrm{U{+}10000}) \land {\mathit{ch}} = {2^{12}} \cdot ({\mathit{b}}_{{1}} - \mathtt{0xE0}) + {2^{6}} \cdot ({\mathit{b}}_{{2}} - \mathtt{0x80}) + ({\mathit{b}}_{{3}} - \mathtt{0x80}) \\ +{\mathrm{utf{\scriptstyle8}}}({\mathit{ch}}) &=& {\mathit{b}}_{{1}}~\,{\mathit{b}}_{{2}}~\,{\mathit{b}}_{{3}}~\,{\mathit{b}}_{{4}} &\quad + \mbox{if}~(\mathrm{U{+}10000} \leq {\mathit{ch}} < \mathrm{U{+}11000}) \land {\mathit{ch}} = {2^{18}} \cdot ({\mathit{b}}_{{1}} - \mathtt{0xF0}) + {2^{12}} \cdot ({\mathit{b}}_{{2}} - \mathtt{0x80}) + {2^{6}} \cdot ({\mathit{b}}_{{3}} - \mathtt{0x80}) + ({\mathit{b}}_{{4}} - \mathtt{0x80}) \\ +{\mathrm{utf{\scriptstyle8}}}({{\mathit{ch}}^\ast}) &=& {{\mathrm{concat}}}_{{\mathit{byte}}}({{\mathrm{utf{\scriptstyle8}}}({\mathit{ch}})^\ast}) & \\ +\end{array} +$$ + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{name}} &::=& {{\mathit{b}}^\ast}{:}{\mathtt{vec}}({\mathtt{byte}}) &\Rightarrow& {\mathit{name}} &\quad + \mbox{if}~{\mathrm{utf{\scriptstyle8}}}({\mathit{name}}) = {{\mathit{b}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{typeidx}} &::=& {\mathit{x}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {\mathit{x}} \\ +& {\mathtt{funcidx}} &::=& {\mathit{x}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {\mathit{x}} \\ +& {\mathtt{globalidx}} &::=& {\mathit{x}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {\mathit{x}} \\ +& {\mathtt{tableidx}} &::=& {\mathit{x}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {\mathit{x}} \\ +& {\mathtt{memidx}} &::=& {\mathit{x}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {\mathit{x}} \\ +& {\mathtt{localidx}} &::=& {\mathit{x}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {\mathit{x}} \\ +& {\mathtt{labelidx}} &::=& {\mathit{x}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {\mathit{x}} \\ +& {\mathtt{externidx}} &::=& \mathtt{0x00}~\,{\mathit{x}}{:}{\mathtt{funcidx}} &\Rightarrow& \mathsf{func}~\,{\mathit{x}} \\ &&|& +\mathtt{0x01}~\,{\mathit{x}}{:}{\mathtt{tableidx}} &\Rightarrow& \mathsf{table}~\,{\mathit{x}} \\ &&|& +\mathtt{0x02}~\,{\mathit{x}}{:}{\mathtt{memidx}} &\Rightarrow& \mathsf{mem}~\,{\mathit{x}} \\ &&|& +\mathtt{0x03}~\,{\mathit{x}}{:}{\mathtt{globalidx}} &\Rightarrow& \mathsf{global}~\,{\mathit{x}} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{valtype}} &::=& \mathtt{0x7F} &\Rightarrow& \mathsf{i{\scriptstyle32}} \\ &&|& +\mathtt{0x7E} &\Rightarrow& \mathsf{i{\scriptstyle64}} \\ &&|& +\mathtt{0x7D} &\Rightarrow& \mathsf{f{\scriptstyle32}} \\ &&|& +\mathtt{0x7C} &\Rightarrow& \mathsf{f{\scriptstyle64}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{resulttype}} &::=& {{\mathit{t}}^\ast}{:}{\mathtt{vec}}({\mathtt{valtype}}) &\Rightarrow& {{\mathit{t}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{functype}} &::=& \mathtt{0x60}~\,{{\mathit{t}}_{{1}}^\ast}{:}{\mathtt{resulttype}}~\,{{\mathit{t}}_{{2}}^\ast}{:}{\mathtt{resulttype}} &\Rightarrow& {{\mathit{t}}_{{1}}^\ast} \rightarrow {{\mathit{t}}_{{2}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{mut}} &::=& \mathtt{0x00} &\Rightarrow& \epsilon \\ &&|& +\mathtt{0x01} &\Rightarrow& \mathsf{mut} \\ +& {\mathtt{limits}} &::=& \mathtt{0x00}~\,{\mathit{n}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {}[{\mathit{n}} .. {2^{32}} - 1] \\ &&|& +\mathtt{0x01}~\,{\mathit{n}}{:}{\mathtt{u{\scriptstyle32}}}~\,{\mathit{m}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& {}[{\mathit{n}} .. {\mathit{m}}] \\ +& {\mathtt{globaltype}} &::=& {\mathit{t}}{:}{\mathtt{valtype}}~\,{\mathit{mut}}{:}{\mathtt{mut}} &\Rightarrow& {\mathit{mut}}~\,{\mathit{t}} \\ +& {\mathtt{tabletype}} &::=& \mathtt{0x70}~\,{\mathit{lim}}{:}{\mathtt{limits}} &\Rightarrow& {\mathit{lim}} \\ +& {\mathtt{memtype}} &::=& {\mathit{lim}}{:}{\mathtt{limits}} &\Rightarrow& {\mathit{lim}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{externtype}} &::=& \mathtt{0x00}~\,{\mathit{ft}}{:}{\mathtt{functype}} &\Rightarrow& \mathsf{func}~\,{\mathit{ft}} \\ &&|& +\mathtt{0x01}~\,{\mathit{tt}}{:}{\mathtt{tabletype}} &\Rightarrow& \mathsf{table}~\,{\mathit{tt}} \\ &&|& +\mathtt{0x02}~\,{\mathit{mt}}{:}{\mathtt{memtype}} &\Rightarrow& \mathsf{mem}~\,{\mathit{mt}} \\ &&|& +\mathtt{0x03}~\,{\mathit{gt}}{:}{\mathtt{globaltype}} &\Rightarrow& \mathsf{global}~\,{\mathit{gt}} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{blocktype}} &::=& \mathtt{0x40} &\Rightarrow& \epsilon \\ &&|& +{\mathit{t}}{:}{\mathtt{valtype}} &\Rightarrow& {\mathit{t}} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{instr}} &::=& \mathtt{0x00} &\Rightarrow& \mathsf{unreachable} \\ &&|& +\mathtt{0x01} &\Rightarrow& \mathsf{nop} \\ &&|& +\mathtt{0x02}~\,{\mathit{bt}}{:}{\mathtt{blocktype}}~\,{({\mathit{in}}{:}{\mathtt{instr}})^\ast}~\,\mathtt{0x0B} &\Rightarrow& \mathsf{block}~\,{\mathit{bt}}~\,{{\mathit{in}}^\ast} \\ &&|& +\mathtt{0x03}~\,{\mathit{bt}}{:}{\mathtt{blocktype}}~\,{({\mathit{in}}{:}{\mathtt{instr}})^\ast}~\,\mathtt{0x0B} &\Rightarrow& \mathsf{loop}~\,{\mathit{bt}}~\,{{\mathit{in}}^\ast} \\ &&|& +\mathtt{0x04}~\,{\mathit{bt}}{:}{\mathtt{blocktype}}~\,{({\mathit{in}}{:}{\mathtt{instr}})^\ast}~\,\mathtt{0x0B} &\Rightarrow& \mathsf{if}~\,{\mathit{bt}}~\,{{\mathit{in}}^\ast}~\,\mathsf{else}~\,\epsilon \\ &&|& +\mathtt{0x04}~\,{\mathit{bt}}{:}{\mathtt{blocktype}}~\,{({\mathit{in}}_{{1}}{:}{\mathtt{instr}})^\ast}~\,\mathtt{0x05}~\,{({\mathit{in}}_{{2}}{:}{\mathtt{instr}})^\ast}~\,\mathtt{0x0B} &\Rightarrow& \mathsf{if}~\,{\mathit{bt}}~\,{{\mathit{in}}_{{1}}^\ast}~\,\mathsf{else}~\,{{\mathit{in}}_{{2}}^\ast} \\ &&|& +\mathtt{0x0C}~\,{\mathit{l}}{:}{\mathtt{labelidx}} &\Rightarrow& \mathsf{br}~\,{\mathit{l}} \\ &&|& +\mathtt{0x0D}~\,{\mathit{l}}{:}{\mathtt{labelidx}} &\Rightarrow& \mathsf{br\_if}~\,{\mathit{l}} \\ &&|& +\mathtt{0x0E}~\,{{\mathit{l}}^\ast}{:}{\mathtt{vec}}({\mathtt{labelidx}})~\,{\mathit{l}}_{{\mathit{N}}}{:}{\mathtt{labelidx}} &\Rightarrow& \mathsf{br\_table}~\,{{\mathit{l}}^\ast}~\,{\mathit{l}}_{{\mathit{N}}} \\ &&|& +\mathtt{0x0F} &\Rightarrow& \mathsf{return} \\ &&|& +\mathtt{0x10}~\,{\mathit{x}}{:}{\mathtt{funcidx}} &\Rightarrow& \mathsf{call}~\,{\mathit{x}} \\ &&|& +\mathtt{0x11}~\,{\mathit{x}}{:}{\mathtt{typeidx}}~\,\mathtt{0x00} &\Rightarrow& \mathsf{call\_indirect}~\,{\mathit{x}} \\ &&|& +\dots \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{instr}} &::=& \dots \\ &&|& +\mathtt{0x1A} &\Rightarrow& \mathsf{drop} \\ &&|& +\mathtt{0x1B} &\Rightarrow& \mathsf{select} \\ &&|& +\dots \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{instr}} &::=& \dots \\ &&|& +\mathtt{0x20}~\,{\mathit{x}}{:}{\mathtt{localidx}} &\Rightarrow& \mathsf{local.get}~\,{\mathit{x}} \\ &&|& +\mathtt{0x21}~\,{\mathit{x}}{:}{\mathtt{localidx}} &\Rightarrow& \mathsf{local.set}~\,{\mathit{x}} \\ &&|& +\mathtt{0x22}~\,{\mathit{x}}{:}{\mathtt{localidx}} &\Rightarrow& \mathsf{local.tee}~\,{\mathit{x}} \\ &&|& +\mathtt{0x23}~\,{\mathit{x}}{:}{\mathtt{globalidx}} &\Rightarrow& \mathsf{global.get}~\,{\mathit{x}} \\ &&|& +\mathtt{0x24}~\,{\mathit{x}}{:}{\mathtt{globalidx}} &\Rightarrow& \mathsf{global.set}~\,{\mathit{x}} \\ &&|& +\dots \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{memop}} &::=& {\mathit{n}}{:}{\mathtt{u{\scriptstyle32}}}~\,{\mathit{m}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& \{ \begin{array}[t]{@{}l@{}} +\mathsf{align}~\,{\mathit{n}},\; \mathsf{offset}~\,{\mathit{m}} \}\end{array} \\ +& {\mathtt{instr}} &::=& \dots \\ &&|& +\mathtt{0x28}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& \mathsf{load}~\,\mathsf{i{\scriptstyle32}}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x29}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& \mathsf{load}~\,\mathsf{i{\scriptstyle64}}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x2A}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& \mathsf{load}~\,\mathsf{f{\scriptstyle32}}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x2B}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& \mathsf{load}~\,\mathsf{f{\scriptstyle64}}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x2C}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle32}}.\mathsf{load}}{(8~\,\mathsf{\_}~\,\mathsf{s})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x2D}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle32}}.\mathsf{load}}{(8~\,\mathsf{\_}~\,\mathsf{u})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x2E}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle32}}.\mathsf{load}}{(16~\,\mathsf{\_}~\,\mathsf{s})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x2F}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle32}}.\mathsf{load}}{(16~\,\mathsf{\_}~\,\mathsf{u})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x30}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{load}}{(8~\,\mathsf{\_}~\,\mathsf{s})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x31}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{load}}{(8~\,\mathsf{\_}~\,\mathsf{u})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x32}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{load}}{(16~\,\mathsf{\_}~\,\mathsf{s})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x33}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{load}}{(16~\,\mathsf{\_}~\,\mathsf{u})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x34}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{load}}{(32~\,\mathsf{\_}~\,\mathsf{s})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x35}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{load}}{(32~\,\mathsf{\_}~\,\mathsf{u})}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x36}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& \mathsf{store}~\,\mathsf{i{\scriptstyle32}}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x37}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& \mathsf{store}~\,\mathsf{i{\scriptstyle64}}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x38}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& \mathsf{store}~\,\mathsf{f{\scriptstyle32}}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x39}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& \mathsf{store}~\,\mathsf{f{\scriptstyle64}}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x3A}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle32}}.\mathsf{store}}{8}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x3B}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle32}}.\mathsf{store}}{16}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x3C}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{store}}{8}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x3D}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{store}}{16}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x3E}~\,{\mathit{mo}}{:}{\mathtt{memop}} &\Rightarrow& {\mathsf{i{\scriptstyle64}}.\mathsf{store}}{32}~\,{\mathit{mo}} \\ &&|& +\mathtt{0x3F}~\,\mathtt{0x00} &\Rightarrow& \mathsf{memory.size} \\ &&|& +\mathtt{0x40}~\,\mathtt{0x00} &\Rightarrow& \mathsf{memory.grow} \\ &&|& +\dots \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{instr}} &::=& \dots \\ &&|& +\mathtt{0x41}~\,{\mathit{n}}{:}{\mathtt{u{\scriptstyle32}}} &\Rightarrow& \mathsf{i{\scriptstyle32}}.\mathsf{const}~\,{\mathit{n}} \\ &&|& +\mathtt{0x42}~\,{\mathit{n}}{:}{\mathtt{u{\scriptstyle64}}} &\Rightarrow& \mathsf{i{\scriptstyle64}}.\mathsf{const}~\,{\mathit{n}} \\ &&|& +\mathtt{0x45} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{eqz} \\ &&|& +\mathtt{0x46} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{eq} \\ &&|& +\mathtt{0x47} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{ne} \\ &&|& +\mathtt{0x48} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{lt\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x49} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{lt\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x4A} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{gt\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x4B} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{gt\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x4C} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{le\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x4D} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{le\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x4E} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{ge\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x4F} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{ge\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x50} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{eqz} \\ &&|& +\mathtt{0x51} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{eq} \\ &&|& +\mathtt{0x52} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{ne} \\ &&|& +\mathtt{0x53} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{lt\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x54} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{lt\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x55} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{gt\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x56} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{gt\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x57} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{le\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x58} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{le\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x59} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{ge\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x5A} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{ge\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x5B} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{eq} \\ &&|& +\mathtt{0x5C} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{ne} \\ &&|& +\mathtt{0x5D} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{lt} \\ &&|& +\mathtt{0x5E} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{gt} \\ &&|& +\mathtt{0x5F} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{le} \\ &&|& +\mathtt{0x60} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{ge} \\ &&|& +\mathtt{0x61} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{eq} \\ &&|& +\mathtt{0x62} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{ne} \\ &&|& +\mathtt{0x63} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{lt} \\ &&|& +\mathtt{0x64} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{gt} \\ &&|& +\mathtt{0x65} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{le} \\ &&|& +\mathtt{0x66} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{ge} \\ &&|& +\mathtt{0x67} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{clz} \\ &&|& +\mathtt{0x68} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{ctz} \\ &&|& +\mathtt{0x69} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{popcnt} \\ &&|& +\mathtt{0x6A} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{add} \\ &&|& +\mathtt{0x6B} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{sub} \\ &&|& +\mathtt{0x6C} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{mul} \\ &&|& +\mathtt{0x6D} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{div\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x6E} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{div\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x6F} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{rem\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x70} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{rem\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x71} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{and} \\ &&|& +\mathtt{0x72} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{or} \\ &&|& +\mathtt{0x73} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{xor} \\ &&|& +\mathtt{0x74} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{shl} \\ &&|& +\mathtt{0x75} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{shr\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x76} &\Rightarrow& \mathsf{i{\scriptstyle32}} . ({\mathsf{shr\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x77} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{rotl} \\ &&|& +\mathtt{0x78} &\Rightarrow& \mathsf{i{\scriptstyle32}} . \mathsf{rotr} \\ &&|& +\mathtt{0x79} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{clz} \\ &&|& +\mathtt{0x7A} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{ctz} \\ &&|& +\mathtt{0x7B} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{popcnt} \\ &&|& +\mathtt{0x7C} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{add} \\ &&|& +\mathtt{0x7D} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{sub} \\ &&|& +\mathtt{0x7E} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{mul} \\ &&|& +\mathtt{0x7F} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{div\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x80} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{div\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x81} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{rem\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x82} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{rem\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x83} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{and} \\ &&|& +\mathtt{0x84} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{or} \\ &&|& +\mathtt{0x85} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{xor} \\ &&|& +\mathtt{0x86} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{shl} \\ &&|& +\mathtt{0x87} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{shr\_}}{\mathsf{s}}) \\ &&|& +\mathtt{0x88} &\Rightarrow& \mathsf{i{\scriptstyle64}} . ({\mathsf{shr\_}}{\mathsf{u}}) \\ &&|& +\mathtt{0x89} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{rotl} \\ &&|& +\mathtt{0x8A} &\Rightarrow& \mathsf{i{\scriptstyle64}} . \mathsf{rotr} \\ &&|& +\mathtt{0x8B} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{abs} \\ &&|& +\mathtt{0x8C} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{neg} \\ &&|& +\mathtt{0x8D} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{ceil} \\ &&|& +\mathtt{0x8E} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{floor} \\ &&|& +\mathtt{0x8F} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{trunc} \\ &&|& +\mathtt{0x90} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{nearest} \\ &&|& +\mathtt{0x91} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{sqrt} \\ &&|& +\mathtt{0x92} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{add} \\ &&|& +\mathtt{0x93} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{sub} \\ &&|& +\mathtt{0x94} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{mul} \\ &&|& +\mathtt{0x95} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{div} \\ &&|& +\mathtt{0x96} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{min} \\ &&|& +\mathtt{0x97} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{max} \\ &&|& +\mathtt{0x98} &\Rightarrow& \mathsf{f{\scriptstyle32}} . \mathsf{copysign} \\ &&|& +\mathtt{0x99} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{abs} \\ &&|& +\mathtt{0x9A} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{neg} \\ &&|& +\mathtt{0x9B} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{ceil} \\ &&|& +\mathtt{0x9C} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{floor} \\ &&|& +\mathtt{0x9D} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{trunc} \\ &&|& +\mathtt{0x9E} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{nearest} \\ &&|& +\mathtt{0x9F} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{sqrt} \\ &&|& +\mathtt{0xA0} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{add} \\ &&|& +\mathtt{0xA1} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{sub} \\ &&|& +\mathtt{0xA2} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{mul} \\ &&|& +\mathtt{0xA3} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{div} \\ &&|& +\mathtt{0xA4} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{min} \\ &&|& +\mathtt{0xA5} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{max} \\ &&|& +\mathtt{0xA6} &\Rightarrow& \mathsf{f{\scriptstyle64}} . \mathsf{copysign} \\ &&|& +\dots \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{instr}} &::=& \dots \\ &&|& +\mathtt{0xA7} &\Rightarrow& \mathsf{cvtop}~\,\mathsf{i{\scriptstyle32}}~\,\mathsf{convert}~\,\mathsf{i{\scriptstyle64}} \\ &&|& +\mathtt{0xA8} &\Rightarrow& \mathsf{i{\scriptstyle32}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{f{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xA9} &\Rightarrow& \mathsf{i{\scriptstyle32}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{f{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xAA} &\Rightarrow& \mathsf{i{\scriptstyle32}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{f{\scriptstyle64}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xAB} &\Rightarrow& \mathsf{i{\scriptstyle32}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{f{\scriptstyle64}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xAC} &\Rightarrow& \mathsf{i{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xAD} &\Rightarrow& \mathsf{i{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xAE} &\Rightarrow& \mathsf{i{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{f{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xAF} &\Rightarrow& \mathsf{i{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{f{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xB0} &\Rightarrow& \mathsf{i{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{f{\scriptstyle64}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xB1} &\Rightarrow& \mathsf{i{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{f{\scriptstyle64}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xB2} &\Rightarrow& \mathsf{f{\scriptstyle32}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xB3} &\Rightarrow& \mathsf{f{\scriptstyle32}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xB4} &\Rightarrow& \mathsf{f{\scriptstyle32}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle64}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xB5} &\Rightarrow& \mathsf{f{\scriptstyle32}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle64}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xB6} &\Rightarrow& \mathsf{cvtop}~\,\mathsf{f{\scriptstyle32}}~\,\mathsf{convert}~\,\mathsf{f{\scriptstyle64}} \\ &&|& +\mathtt{0xB7} &\Rightarrow& \mathsf{f{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xB8} &\Rightarrow& \mathsf{f{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle32}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xB9} &\Rightarrow& \mathsf{f{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle64}}}}{\mathsf{\_}}}{\mathsf{s}} \\ &&|& +\mathtt{0xBA} &\Rightarrow& \mathsf{f{\scriptstyle64}} . {{{{\mathsf{convert}}{\mathsf{\_}}}{\mathsf{i{\scriptstyle64}}}}{\mathsf{\_}}}{\mathsf{u}} \\ &&|& +\mathtt{0xBB} &\Rightarrow& \mathsf{cvtop}~\,\mathsf{f{\scriptstyle64}}~\,\mathsf{convert}~\,\mathsf{f{\scriptstyle32}} \\ &&|& +\mathtt{0xBC} &\Rightarrow& \mathsf{cvtop}~\,\mathsf{i{\scriptstyle32}}~\,\mathsf{reinterpret}~\,\mathsf{f{\scriptstyle32}} \\ &&|& +\mathtt{0xBD} &\Rightarrow& \mathsf{cvtop}~\,\mathsf{i{\scriptstyle64}}~\,\mathsf{reinterpret}~\,\mathsf{f{\scriptstyle64}} \\ &&|& +\mathtt{0xBE} &\Rightarrow& \mathsf{cvtop}~\,\mathsf{f{\scriptstyle32}}~\,\mathsf{reinterpret}~\,\mathsf{i{\scriptstyle32}} \\ &&|& +\mathtt{0xBF} &\Rightarrow& \mathsf{cvtop}~\,\mathsf{f{\scriptstyle64}}~\,\mathsf{reinterpret}~\,\mathsf{i{\scriptstyle64}} \\ &&|& +\dots \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{expr}} &::=& {({\mathit{in}}{:}{\mathtt{instr}})^\ast}~\,\mathtt{0x0B} &\Rightarrow& {{\mathit{in}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {{\mathtt{section}}}_{{\mathit{N}}}({\mathtt{X}}) &::=& {\mathit{N}}{:}{\mathtt{byte}}~\,{\mathit{sz}}{:}{\mathtt{u{\scriptstyle32}}}~\,{{\mathit{en}}^\ast}{:}{\mathtt{X}} &\Rightarrow& {{\mathit{en}}^\ast} &\quad + \mbox{if}~{\mathit{sz}} = ||{\mathtt{X}}|| \\ &&|& +\epsilon &\Rightarrow& \epsilon \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{custom}} &::=& {\mathtt{name}}~\,{{\mathtt{byte}}^\ast} &\Rightarrow& () \\ +& {\mathtt{customsec}} &::=& {{\mathtt{section}}}_{0}({\mathtt{custom}}) &\Rightarrow& () \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{type}} &::=& {\mathit{ft}}{:}{\mathtt{functype}} &\Rightarrow& \mathsf{type}~\,{\mathit{ft}} \\ +& {\mathtt{typesec}} &::=& {{\mathit{ty}}^\ast}{:}{{\mathtt{section}}}_{1}({\mathtt{vec}}({\mathtt{type}})) &\Rightarrow& {{\mathit{ty}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{import}} &::=& {\mathit{nm}}_{{1}}{:}{\mathtt{name}}~\,{\mathit{nm}}_{{2}}{:}{\mathtt{name}}~\,{\mathit{xt}}{:}{\mathtt{externtype}} &\Rightarrow& \mathsf{import}~\,{\mathit{nm}}_{{1}}~\,{\mathit{nm}}_{{2}}~\,{\mathit{xt}} \\ +& {\mathtt{importsec}} &::=& {{\mathit{im}}^\ast}{:}{{\mathtt{section}}}_{2}({\mathtt{vec}}({\mathtt{import}})) &\Rightarrow& {{\mathit{im}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{funcsec}} &::=& {{\mathit{x}}^\ast}{:}{{\mathtt{section}}}_{3}({\mathtt{vec}}({\mathtt{typeidx}})) &\Rightarrow& {{\mathit{x}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{table}} &::=& {\mathit{tt}}{:}{\mathtt{tabletype}} &\Rightarrow& \mathsf{table}~\,{\mathit{tt}} \\ +& {\mathtt{tablesec}} &::=& {{\mathit{tab}}^\ast}{:}{{\mathtt{section}}}_{4}({\mathtt{vec}}({\mathtt{table}})) &\Rightarrow& {{\mathit{tab}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{mem}} &::=& {\mathit{mt}}{:}{\mathtt{memtype}} &\Rightarrow& \mathsf{memory}~\,{\mathit{mt}} \\ +& {\mathtt{memsec}} &::=& {{\mathit{mem}}^\ast}{:}{{\mathtt{section}}}_{5}({\mathtt{vec}}({\mathtt{mem}})) &\Rightarrow& {{\mathit{mem}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{global}} &::=& {\mathit{gt}}{:}{\mathtt{globaltype}}~\,{\mathit{e}}{:}{\mathtt{expr}} &\Rightarrow& \mathsf{global}~\,{\mathit{gt}}~\,{\mathit{e}} \\ +& {\mathtt{globalsec}} &::=& {{\mathit{glob}}^\ast}{:}{{\mathtt{section}}}_{6}({\mathtt{vec}}({\mathtt{global}})) &\Rightarrow& {{\mathit{glob}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{export}} &::=& {\mathit{nm}}{:}{\mathtt{name}}~\,{\mathit{xx}}{:}{\mathtt{externidx}} &\Rightarrow& \mathsf{export}~\,{\mathit{nm}}~\,{\mathit{xx}} \\ +& {\mathtt{exportsec}} &::=& {{\mathit{ex}}^\ast}{:}{{\mathtt{section}}}_{7}({\mathtt{vec}}({\mathtt{export}})) &\Rightarrow& {{\mathit{ex}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{start}} &::=& {\mathit{x}}{:}{\mathtt{funcidx}} &\Rightarrow& (\mathsf{start}~\,{\mathit{x}}) \\ +& {\mathtt{startsec}} &::=& {{\mathit{st}}^\ast}{:}{{\mathtt{section}}}_{8}({\mathtt{start}}) &\Rightarrow& {{\mathit{st}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{elem}} &::=& \mathtt{0x00}~\,{\mathit{e}}{:}{\mathtt{expr}}~\,{{\mathit{x}}^\ast}{:}{\mathtt{vec}}({\mathtt{funcidx}}) &\Rightarrow& \mathsf{elem}~\,{\mathit{e}}~\,{{\mathit{x}}^\ast} \\ +& {\mathtt{elemsec}} &::=& {{\mathit{elem}}^\ast}{:}{{\mathtt{section}}}_{9}({\mathtt{vec}}({\mathtt{elem}})) &\Rightarrow& {{\mathit{elem}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}lrrl@{}l@{}} +& {\mathit{code}} &::=& ({{\mathit{local}}^\ast},\, {\mathit{expr}}) \\ +\end{array} +$$ + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{locals}} &::=& {\mathit{n}}{:}{\mathtt{u{\scriptstyle32}}}~\,{\mathit{t}}{:}{\mathtt{valtype}} &\Rightarrow& {(\mathsf{local}~\,{\mathit{t}})^{{\mathit{n}}}} \\ +& {\mathtt{func}} &::=& {{{\mathit{local}}^\ast}^\ast}{:}{\mathtt{vec}}({\mathtt{locals}})~\,{\mathit{expr}}{:}{\mathtt{expr}} &\Rightarrow& ({{\mathrm{concat}}}_{{\mathit{local}}}({{{\mathit{local}}^\ast}^\ast}),\, {\mathit{expr}}) \\ +& {\mathtt{code}} &::=& {\mathit{sz}}{:}{\mathtt{u{\scriptstyle32}}}~\,{\mathit{code}}{:}{\mathtt{func}} &\Rightarrow& {\mathit{code}} &\quad + \mbox{if}~{\mathit{sz}} = ||{\mathtt{func}}|| \\ +& {\mathtt{codesec}} &::=& {{\mathit{code}}^\ast}{:}{{\mathtt{section}}}_{10}({\mathtt{vec}}({\mathtt{code}})) &\Rightarrow& {{\mathit{code}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{data}} &::=& \mathtt{0x00}~\,{\mathit{e}}{:}{\mathtt{expr}}~\,{{\mathit{b}}^\ast}{:}{\mathtt{vec}}({\mathtt{byte}}) &\Rightarrow& \mathsf{data}~\,{\mathit{e}}~\,{{\mathit{b}}^\ast} \\ +& {\mathtt{datasec}} &::=& {{\mathit{data}}^\ast}{:}{{\mathtt{section}}}_{11}({\mathtt{vec}}({\mathtt{data}})) &\Rightarrow& {{\mathit{data}}^\ast} \\ +\end{array} +$$ + +\vspace{1ex} + +$$ +\begin{array}{@{}l@{}rrlll@{}l@{}} +& {\mathtt{module}} &::=& \mathtt{0x00}~\,\mathtt{0x61}~\,\mathtt{0x73}~\,\mathtt{0x6D}~\,1{:}{\mathtt{u{\scriptstyle32}}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{type}}^\ast}{:}{\mathtt{typesec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{import}}^\ast}{:}{\mathtt{importsec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{typeidx}}^{{\mathit{n}}}}{:}{\mathtt{funcsec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{table}}^\ast}{:}{\mathtt{tablesec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{mem}}^\ast}{:}{\mathtt{memsec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{global}}^\ast}{:}{\mathtt{globalsec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{export}}^\ast}{:}{\mathtt{exportsec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{start}}^\ast}{:}{\mathtt{startsec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{elem}}^\ast}{:}{\mathtt{elemsec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{({{\mathit{local}}^\ast},\, {\mathit{expr}})^{{\mathit{n}}}}{:}{\mathtt{codesec}}~\,{{\mathtt{customsec}}^\ast} \\ &&&{{\mathit{data}}^\ast}{:}{\mathtt{datasec}}~\,{{\mathtt{customsec}}^\ast} &\Rightarrow& \mathsf{module}~\,{{\mathit{type}}^\ast}~\,{{\mathit{import}}^\ast}~\,{{\mathit{func}}^{{\mathit{n}}}}~\,{{\mathit{global}}^\ast}~\,{{\mathit{table}}^\ast}~\,{{\mathit{mem}}^\ast}~\,{{\mathit{elem}}^\ast}~\,{{\mathit{data}}^\ast}~\,{{\mathit{start}}^\ast}~\,{{\mathit{export}}^\ast} &\quad + \mbox{if}~(({\mathit{func}} = \mathsf{func}~\,{\mathit{typeidx}}~\,{{\mathit{local}}^\ast}~\,{\mathit{expr}}))^{{\mathit{n}}} \\ +\end{array} +$$ + diff --git a/spectec/test-middlend/TEST.md b/spectec/test-middlend/TEST.md index fa98845b94..17494c721a 100644 --- a/spectec/test-middlend/TEST.md +++ b/spectec/test-middlend/TEST.md @@ -1929,12 +1929,45 @@ def $vrelop(shape : shape, vrelop_ : vrelop_(shape), vec_ : vec_(V128_vnn), vec_ ;; 3-numerics.watsup def $vcvtop(shape_1 : shape, shape_2 : shape, vcvtop : vcvtop, sx?, lane_ : lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i8 : lane_($lanetype(`%X%`(I8_lanetype, N_1))), i16 : lane_($lanetype(`%X%`(I16_lanetype, N_2)))}(`%X%`(I8_lanetype, N_1), `%X%`(I16_lanetype, N_2), EXTEND_vcvtop, ?(sx), i8) = i16 + -- if (i16 = $ext(8, 16, sx, i8)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i16 : lane_($lanetype(`%X%`(I16_lanetype, N_1))), i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(I16_lanetype, N_1), `%X%`(I32_lanetype, N_2), EXTEND_vcvtop, ?(sx), i16) = i32 + -- if (i32 = $ext(16, 32, sx, i16)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), i64 : lane_($lanetype(`%X%`(I64_lanetype, N_2)))}(`%X%`(I32_lanetype, N_1), `%X%`(I64_lanetype, N_2), EXTEND_vcvtop, ?(sx), i32) = i64 + -- if (i64 = $ext(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F32_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f32) = i32 + -- if (i32 = $trunc_sat(32, 32, sx, f32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F64_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f64) = i32 + -- if (i32 = $trunc_sat(64, 32, sx, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f32 : f32}(`%X%`(I32_lanetype, N_1), `%X%`(F32_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f32 + -- if (f32 = $convert(32, 32, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f64 : f64}(`%X%`(I32_lanetype, N_1), `%X%`(F64_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f64 + -- if (f64 = $convert(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, f32 : f32}(`%X%`(F64_lanetype, N_1), `%X%`(F32_lanetype, N_2), DEMOTE_vcvtop, ?(sx), f64) = f32 + -- if (f32 = $demote(64, 32, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, f64 : f64}(`%X%`(F32_lanetype, N_1), `%X%`(F64_lanetype, N_2), PROMOTE_vcvtop, ?(sx), f32) = f64 + -- if (f64 = $promote(32, 64, f32)) ;; 3-numerics.watsup def $vextunop(ishape_1 : ishape, ishape_2 : ishape, vextunop_ : vextunop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn)) : vec_(V128_vnn) ;; 3-numerics.watsup def $vextbinop(ishape_1 : ishape, ishape_2 : ishape, vextbinop_ : vextbinop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn), vec_ : vec_(V128_vnn)) : vec_(V128_vnn) + ;; 3-numerics.watsup + def $vextbinop{inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), c : vec_(V128_vnn), cj_1 : iN($lsize((inn_1 : inn <: lanetype))), cj_2 : iN($lsize((inn_1 : inn <: lanetype))), ci_1* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*, ci_2* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*}(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2), DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), sx, c_1, c_2) = c + -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_1)) + -- if (ci_2*{ci_2} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_2)) + -- if ($concat_(syntax iN($lsize((inn_1 : inn <: lanetype))), [cj_1 cj_2]*{}) = $imul($lsize((inn_1 : inn <: lanetype)), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_1), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_2))*{ci_1 ci_2}) + -- if (c = $invlanes_(`%X%`((inn_1 : inn <: lanetype), N_1), $iadd($lsize((inn_1 : inn <: lanetype)), cj_1, cj_2)^N_1{})) ;; 3-numerics.watsup def $vishiftop(ishape : ishape, vshiftop_ : vshiftop_(ishape), lane_ : lane_($lanetype((ishape : ishape <: shape))), u32 : u32) : lane_($lanetype((ishape : ishape <: shape))) @@ -4364,7 +4397,7 @@ relation Step_pure: `%*_~>%*`(admininstr*, admininstr*) rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*}: `%*_~>%*`([VCONST_admininstr(V128_vectype, c) VBITMASK_admininstr(`%X%`((inn : inn <: imm), N))], [CONST_admininstr(I32_numtype, ci)]) -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn : inn <: lanetype), N), c)) - -- if ($ibits(32, ci) = $ilt($size((inn : inn <: valtype)), S_sx, ci_1, 0)*{ci_1}) + -- if ($ibits(32, ci) = $ilt($lsize((inn : inn <: lanetype)), S_sx, ci_1, 0)*{ci_1}) ;; 8-reduction.watsup rule vnarrow{c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c : vec_(V128_vnn), ci_1* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, ci_2* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, cj_1* : iN($size((inn_2 : inn <: valtype)))*, cj_2* : iN($size((inn_2 : inn <: valtype)))*}: @@ -4857,16 +4890,16 @@ relation Step_read: `%~>%*`(config, admininstr*) -- if (c = $ext(N, 128, U_sx, j)) ;; 8-reduction.watsup - rule vload_lane-oob{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) + rule vload_lane-oob{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) -- if (((i + (mo.OFFSET_memop : uN(32) <: nat)) + (N / 8)) > |$mem(z, x).DATA_meminst|) ;; 8-reduction.watsup - rule vload_lane-val{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat, c : vec_(vt), k : nat, imm : imm, M : M}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(vt, c)]) + rule vload_lane-val{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat, c : vec_(V128_vnn), k : nat, imm : imm, M : M}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(V128_vectype, c)]) -- if ($ibytes(N, k) = $mem(z, x).DATA_meminst[(i + (mo.OFFSET_memop : uN(32) <: nat)) : (N / 8)]) -- if (N = $lsize((imm : imm <: lanetype))) - -- if (M = ($size((vt : vectype <: valtype)) / N)) + -- if (M = ($size(V128_valtype) / N)) -- if (c = $invlanes_(`%X%`((imm : imm <: lanetype), M), $lanes_(`%X%`((imm : imm <: lanetype), M), c_1)[[j] = (k : nat <: lane_($lanetype(`%X%`((imm : imm <: lanetype), M))))])) ;; 8-reduction.watsup @@ -7310,12 +7343,45 @@ def $vrelop(shape : shape, vrelop_ : vrelop_(shape), vec_ : vec_(V128_vnn), vec_ ;; 3-numerics.watsup def $vcvtop(shape_1 : shape, shape_2 : shape, vcvtop : vcvtop, sx?, lane_ : lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i8 : lane_($lanetype(`%X%`(I8_lanetype, N_1))), i16 : lane_($lanetype(`%X%`(I16_lanetype, N_2)))}(`%X%`(I8_lanetype, N_1), `%X%`(I16_lanetype, N_2), EXTEND_vcvtop, ?(sx), i8) = i16 + -- if (i16 = $ext(8, 16, sx, i8)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i16 : lane_($lanetype(`%X%`(I16_lanetype, N_1))), i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(I16_lanetype, N_1), `%X%`(I32_lanetype, N_2), EXTEND_vcvtop, ?(sx), i16) = i32 + -- if (i32 = $ext(16, 32, sx, i16)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), i64 : lane_($lanetype(`%X%`(I64_lanetype, N_2)))}(`%X%`(I32_lanetype, N_1), `%X%`(I64_lanetype, N_2), EXTEND_vcvtop, ?(sx), i32) = i64 + -- if (i64 = $ext(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F32_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f32) = i32 + -- if (i32 = $trunc_sat(32, 32, sx, f32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F64_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f64) = i32 + -- if (i32 = $trunc_sat(64, 32, sx, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f32 : f32}(`%X%`(I32_lanetype, N_1), `%X%`(F32_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f32 + -- if (f32 = $convert(32, 32, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f64 : f64}(`%X%`(I32_lanetype, N_1), `%X%`(F64_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f64 + -- if (f64 = $convert(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, f32 : f32}(`%X%`(F64_lanetype, N_1), `%X%`(F32_lanetype, N_2), DEMOTE_vcvtop, ?(sx), f64) = f32 + -- if (f32 = $demote(64, 32, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, f64 : f64}(`%X%`(F32_lanetype, N_1), `%X%`(F64_lanetype, N_2), PROMOTE_vcvtop, ?(sx), f32) = f64 + -- if (f64 = $promote(32, 64, f32)) ;; 3-numerics.watsup def $vextunop(ishape_1 : ishape, ishape_2 : ishape, vextunop_ : vextunop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn)) : vec_(V128_vnn) ;; 3-numerics.watsup def $vextbinop(ishape_1 : ishape, ishape_2 : ishape, vextbinop_ : vextbinop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn), vec_ : vec_(V128_vnn)) : vec_(V128_vnn) + ;; 3-numerics.watsup + def $vextbinop{inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), c : vec_(V128_vnn), cj_1 : iN($lsize((inn_1 : inn <: lanetype))), cj_2 : iN($lsize((inn_1 : inn <: lanetype))), ci_1* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*, ci_2* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*}(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2), DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), sx, c_1, c_2) = c + -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_1)) + -- if (ci_2*{ci_2} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_2)) + -- if ($concat_(syntax iN($lsize((inn_1 : inn <: lanetype))), [cj_1 cj_2]*{}) = $imul($lsize((inn_1 : inn <: lanetype)), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_1), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_2))*{ci_1 ci_2}) + -- if (c = $invlanes_(`%X%`((inn_1 : inn <: lanetype), N_1), $iadd($lsize((inn_1 : inn <: lanetype)), cj_1, cj_2)^N_1{})) ;; 3-numerics.watsup def $vishiftop(ishape : ishape, vshiftop_ : vshiftop_(ishape), lane_ : lane_($lanetype((ishape : ishape <: shape))), u32 : u32) : lane_($lanetype((ishape : ishape <: shape))) @@ -9747,7 +9813,7 @@ relation Step_pure: `%*_~>%*`(admininstr*, admininstr*) rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*}: `%*_~>%*`([VCONST_admininstr(V128_vectype, c) VBITMASK_admininstr(`%X%`((inn : inn <: imm), N))], [CONST_admininstr(I32_numtype, ci)]) -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn : inn <: lanetype), N), c)) - -- if ($ibits(32, ci) = $ilt(!($size((inn : inn <: valtype))), S_sx, ci_1, 0)*{ci_1}) + -- if ($ibits(32, ci) = $ilt($lsize((inn : inn <: lanetype)), S_sx, ci_1, 0)*{ci_1}) ;; 8-reduction.watsup rule vnarrow{c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c : vec_(V128_vnn), ci_1* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, ci_2* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, cj_1* : iN(!($size((inn_2 : inn <: valtype))))*, cj_2* : iN(!($size((inn_2 : inn <: valtype))))*}: @@ -10240,16 +10306,16 @@ relation Step_read: `%~>%*`(config, admininstr*) -- if (c = $ext(N, 128, U_sx, j)) ;; 8-reduction.watsup - rule vload_lane-oob{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) + rule vload_lane-oob{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) -- if (((i + (mo.OFFSET_memop : uN(32) <: nat)) + (N / 8)) > |$mem(z, x).DATA_meminst|) ;; 8-reduction.watsup - rule vload_lane-val{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat, c : vec_(vt), k : nat, imm : imm, M : M}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(vt, c)]) + rule vload_lane-val{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat, c : vec_(V128_vnn), k : nat, imm : imm, M : M}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(V128_vectype, c)]) -- if ($ibytes(N, k) = $mem(z, x).DATA_meminst[(i + (mo.OFFSET_memop : uN(32) <: nat)) : (N / 8)]) -- if (N = $lsize((imm : imm <: lanetype))) - -- if (M = (!($size((vt : vectype <: valtype))) / N)) + -- if (M = (!($size(V128_valtype)) / N)) -- if (c = $invlanes_(`%X%`((imm : imm <: lanetype), M), $lanes_(`%X%`((imm : imm <: lanetype), M), c_1)[[j] = (k : nat <: lane_($lanetype(`%X%`((imm : imm <: lanetype), M))))])) ;; 8-reduction.watsup @@ -12693,12 +12759,45 @@ def $vrelop(shape : shape, vrelop_ : vrelop_(shape), vec_ : vec_(V128_vnn), vec_ ;; 3-numerics.watsup def $vcvtop(shape_1 : shape, shape_2 : shape, vcvtop : vcvtop, sx?, lane_ : lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i8 : lane_($lanetype(`%X%`(I8_lanetype, N_1))), i16 : lane_($lanetype(`%X%`(I16_lanetype, N_2)))}(`%X%`(I8_lanetype, N_1), `%X%`(I16_lanetype, N_2), EXTEND_vcvtop, ?(sx), i8) = i16 + -- if (i16 = $ext(8, 16, sx, i8)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i16 : lane_($lanetype(`%X%`(I16_lanetype, N_1))), i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(I16_lanetype, N_1), `%X%`(I32_lanetype, N_2), EXTEND_vcvtop, ?(sx), i16) = i32 + -- if (i32 = $ext(16, 32, sx, i16)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), i64 : lane_($lanetype(`%X%`(I64_lanetype, N_2)))}(`%X%`(I32_lanetype, N_1), `%X%`(I64_lanetype, N_2), EXTEND_vcvtop, ?(sx), i32) = i64 + -- if (i64 = $ext(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F32_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f32) = i32 + -- if (i32 = $trunc_sat(32, 32, sx, f32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F64_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f64) = i32 + -- if (i32 = $trunc_sat(64, 32, sx, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f32 : f32}(`%X%`(I32_lanetype, N_1), `%X%`(F32_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f32 + -- if (f32 = $convert(32, 32, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f64 : f64}(`%X%`(I32_lanetype, N_1), `%X%`(F64_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f64 + -- if (f64 = $convert(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, f32 : f32}(`%X%`(F64_lanetype, N_1), `%X%`(F32_lanetype, N_2), DEMOTE_vcvtop, ?(sx), f64) = f32 + -- if (f32 = $demote(64, 32, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, f64 : f64}(`%X%`(F32_lanetype, N_1), `%X%`(F64_lanetype, N_2), PROMOTE_vcvtop, ?(sx), f32) = f64 + -- if (f64 = $promote(32, 64, f32)) ;; 3-numerics.watsup def $vextunop(ishape_1 : ishape, ishape_2 : ishape, vextunop_ : vextunop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn)) : vec_(V128_vnn) ;; 3-numerics.watsup def $vextbinop(ishape_1 : ishape, ishape_2 : ishape, vextbinop_ : vextbinop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn), vec_ : vec_(V128_vnn)) : vec_(V128_vnn) + ;; 3-numerics.watsup + def $vextbinop{inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), c : vec_(V128_vnn), cj_1 : iN($lsize((inn_1 : inn <: lanetype))), cj_2 : iN($lsize((inn_1 : inn <: lanetype))), ci_1* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*, ci_2* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*}(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2), DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), sx, c_1, c_2) = c + -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_1)) + -- if (ci_2*{ci_2} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_2)) + -- if ($concat_(syntax iN($lsize((inn_1 : inn <: lanetype))), [cj_1 cj_2]*{}) = $imul($lsize((inn_1 : inn <: lanetype)), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_1), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_2))*{ci_1 ci_2}) + -- if (c = $invlanes_(`%X%`((inn_1 : inn <: lanetype), N_1), $iadd($lsize((inn_1 : inn <: lanetype)), cj_1, cj_2)^N_1{})) ;; 3-numerics.watsup def $vishiftop(ishape : ishape, vshiftop_ : vshiftop_(ishape), lane_ : lane_($lanetype((ishape : ishape <: shape))), u32 : u32) : lane_($lanetype((ishape : ishape <: shape))) @@ -15137,11 +15236,10 @@ relation Step_pure: `%*_~>%*`(admininstr*, admininstr*) -- otherwise ;; 8-reduction.watsup - rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*, o0* : N*}: + rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*}: `%*_~>%*`([VCONST_admininstr(V128_vectype, c) VBITMASK_admininstr(`%X%`((inn : inn <: imm), N))], [CONST_admininstr(I32_numtype, ci)]) - -- (if ($size((inn : inn <: valtype)) = ?(o0)))*{o0} -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn : inn <: lanetype), N), c)) - -- if ($ibits(32, ci) = $ilt(o0, S_sx, ci_1, 0)*{ci_1 o0}) + -- if ($ibits(32, ci) = $ilt($lsize((inn : inn <: lanetype)), S_sx, ci_1, 0)*{ci_1}) ;; 8-reduction.watsup rule vnarrow{c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c : vec_(V128_vnn), ci_1* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, ci_2* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, cj_1* : iN(!($size((inn_2 : inn <: valtype))))*, cj_2* : iN(!($size((inn_2 : inn <: valtype))))*, o0* : M*, o1* : N*, o2* : M*, o3* : N*}: @@ -15649,14 +15747,14 @@ relation Step_read: `%~>%*`(config, admininstr*) -- if (c = $ext(N, 128, U_sx, j)) ;; 8-reduction.watsup - rule vload_lane-oob{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) + rule vload_lane-oob{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) -- if (((i + (mo.OFFSET_memop : uN(32) <: nat)) + (N / 8)) > |$mem(z, x).DATA_meminst|) ;; 8-reduction.watsup - rule vload_lane-val{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat, c : vec_(vt), k : nat, imm : imm, M : M, o0 : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(vt, c)]) - -- if ($size((vt : vectype <: valtype)) = ?(o0)) + rule vload_lane-val{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat, c : vec_(V128_vnn), k : nat, imm : imm, M : M, o0 : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(V128_vectype, c)]) + -- if ($size(V128_valtype) = ?(o0)) -- if ($ibytes(N, k) = $mem(z, x).DATA_meminst[(i + (mo.OFFSET_memop : uN(32) <: nat)) : (N / 8)]) -- if (N = $lsize((imm : imm <: lanetype))) -- if (M = (o0 / N)) @@ -18110,12 +18208,45 @@ def $vrelop(shape : shape, vrelop_ : vrelop_(shape), vec_ : vec_(V128_vnn), vec_ ;; 3-numerics.watsup def $vcvtop(shape_1 : shape, shape_2 : shape, vcvtop : vcvtop, sx?, lane_ : lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i8 : lane_($lanetype(`%X%`(I8_lanetype, N_1))), i16 : lane_($lanetype(`%X%`(I16_lanetype, N_2)))}(`%X%`(I8_lanetype, N_1), `%X%`(I16_lanetype, N_2), EXTEND_vcvtop, ?(sx), i8) = i16 + -- if (i16 = $ext(8, 16, sx, i8)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i16 : lane_($lanetype(`%X%`(I16_lanetype, N_1))), i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(I16_lanetype, N_1), `%X%`(I32_lanetype, N_2), EXTEND_vcvtop, ?(sx), i16) = i32 + -- if (i32 = $ext(16, 32, sx, i16)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), i64 : lane_($lanetype(`%X%`(I64_lanetype, N_2)))}(`%X%`(I32_lanetype, N_1), `%X%`(I64_lanetype, N_2), EXTEND_vcvtop, ?(sx), i32) = i64 + -- if (i64 = $ext(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F32_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f32) = i32 + -- if (i32 = $trunc_sat(32, 32, sx, f32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F64_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f64) = i32 + -- if (i32 = $trunc_sat(64, 32, sx, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f32 : f32}(`%X%`(I32_lanetype, N_1), `%X%`(F32_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f32 + -- if (f32 = $convert(32, 32, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f64 : f64}(`%X%`(I32_lanetype, N_1), `%X%`(F64_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f64 + -- if (f64 = $convert(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, f32 : f32}(`%X%`(F64_lanetype, N_1), `%X%`(F32_lanetype, N_2), DEMOTE_vcvtop, ?(sx), f64) = f32 + -- if (f32 = $demote(64, 32, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, f64 : f64}(`%X%`(F32_lanetype, N_1), `%X%`(F64_lanetype, N_2), PROMOTE_vcvtop, ?(sx), f32) = f64 + -- if (f64 = $promote(32, 64, f32)) ;; 3-numerics.watsup def $vextunop(ishape_1 : ishape, ishape_2 : ishape, vextunop_ : vextunop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn)) : vec_(V128_vnn) ;; 3-numerics.watsup def $vextbinop(ishape_1 : ishape, ishape_2 : ishape, vextbinop_ : vextbinop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn), vec_ : vec_(V128_vnn)) : vec_(V128_vnn) + ;; 3-numerics.watsup + def $vextbinop{inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), c : vec_(V128_vnn), cj_1 : iN($lsize((inn_1 : inn <: lanetype))), cj_2 : iN($lsize((inn_1 : inn <: lanetype))), ci_1* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*, ci_2* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*}(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2), DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), sx, c_1, c_2) = c + -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_1)) + -- if (ci_2*{ci_2} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_2)) + -- if ($concat_(syntax iN($lsize((inn_1 : inn <: lanetype))), [cj_1 cj_2]*{}) = $imul($lsize((inn_1 : inn <: lanetype)), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_1), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_2))*{ci_1 ci_2}) + -- if (c = $invlanes_(`%X%`((inn_1 : inn <: lanetype), N_1), $iadd($lsize((inn_1 : inn <: lanetype)), cj_1, cj_2)^N_1{})) ;; 3-numerics.watsup def $vishiftop(ishape : ishape, vshiftop_ : vshiftop_(ishape), lane_ : lane_($lanetype((ishape : ishape <: shape))), u32 : u32) : lane_($lanetype((ishape : ishape <: shape))) @@ -20554,11 +20685,10 @@ relation Step_pure: `%*_~>%*`(admininstr*, admininstr*) -- otherwise ;; 8-reduction.watsup - rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*, o0* : N*}: + rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*}: `%*_~>%*`([VCONST_admininstr(V128_vectype, c) VBITMASK_admininstr(`%X%`((inn : inn <: imm), N))], [CONST_admininstr(I32_numtype, ci)]) - -- (if ($size((inn : inn <: valtype)) = ?(o0)))*{o0} -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn : inn <: lanetype), N), c)) - -- if ($ibits(32, ci) = $ilt(o0, S_sx, ci_1, 0)*{ci_1 o0}) + -- if ($ibits(32, ci) = $ilt($lsize((inn : inn <: lanetype)), S_sx, ci_1, 0)*{ci_1}) ;; 8-reduction.watsup rule vnarrow{c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c : vec_(V128_vnn), ci_1* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, ci_2* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, cj_1* : iN(!($size((inn_2 : inn <: valtype))))*, cj_2* : iN(!($size((inn_2 : inn <: valtype))))*, o0* : M*, o1* : N*, o2* : M*, o3* : N*}: @@ -21066,14 +21196,14 @@ relation Step_read: `%~>%*`(config, admininstr*) -- if (c = $ext(N, 128, U_sx, j)) ;; 8-reduction.watsup - rule vload_lane-oob{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) + rule vload_lane-oob{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) -- if (((i + (mo.OFFSET_memop : uN(32) <: nat)) + (N / 8)) > |$mem(z, x).DATA_meminst|) ;; 8-reduction.watsup - rule vload_lane-val{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat, c : vec_(vt), k : nat, imm : imm, M : M, o0 : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(vt, c)]) - -- if ($size((vt : vectype <: valtype)) = ?(o0)) + rule vload_lane-val{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat, c : vec_(V128_vnn), k : nat, imm : imm, M : M, o0 : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(V128_vectype, c)]) + -- if ($size(V128_valtype) = ?(o0)) -- if ($ibytes(N, k) = $mem(z, x).DATA_meminst[(i + (mo.OFFSET_memop : uN(32) <: nat)) : (N / 8)]) -- if (N = $lsize((imm : imm <: lanetype))) -- if (M = (o0 / N)) @@ -23527,12 +23657,45 @@ def $vrelop(shape : shape, vrelop_ : vrelop_(shape), vec_ : vec_(V128_vnn), vec_ ;; 3-numerics.watsup def $vcvtop(shape_1 : shape, shape_2 : shape, vcvtop : vcvtop, sx?, lane_ : lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i8 : lane_($lanetype(`%X%`(I8_lanetype, N_1))), i16 : lane_($lanetype(`%X%`(I16_lanetype, N_2)))}(`%X%`(I8_lanetype, N_1), `%X%`(I16_lanetype, N_2), EXTEND_vcvtop, ?(sx), i8) = i16 + -- if (i16 = $ext(8, 16, sx, i8)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i16 : lane_($lanetype(`%X%`(I16_lanetype, N_1))), i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(I16_lanetype, N_1), `%X%`(I32_lanetype, N_2), EXTEND_vcvtop, ?(sx), i16) = i32 + -- if (i32 = $ext(16, 32, sx, i16)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), i64 : lane_($lanetype(`%X%`(I64_lanetype, N_2)))}(`%X%`(I32_lanetype, N_1), `%X%`(I64_lanetype, N_2), EXTEND_vcvtop, ?(sx), i32) = i64 + -- if (i64 = $ext(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F32_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f32) = i32 + -- if (i32 = $trunc_sat(32, 32, sx, f32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F64_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f64) = i32 + -- if (i32 = $trunc_sat(64, 32, sx, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f32 : f32}(`%X%`(I32_lanetype, N_1), `%X%`(F32_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f32 + -- if (f32 = $convert(32, 32, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f64 : f64}(`%X%`(I32_lanetype, N_1), `%X%`(F64_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f64 + -- if (f64 = $convert(32, 64, sx, i32)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, f32 : f32}(`%X%`(F64_lanetype, N_1), `%X%`(F32_lanetype, N_2), DEMOTE_vcvtop, ?(sx), f64) = f32 + -- if (f32 = $demote(64, 32, f64)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, f64 : f64}(`%X%`(F32_lanetype, N_1), `%X%`(F64_lanetype, N_2), PROMOTE_vcvtop, ?(sx), f32) = f64 + -- if (f64 = $promote(32, 64, f32)) ;; 3-numerics.watsup def $vextunop(ishape_1 : ishape, ishape_2 : ishape, vextunop_ : vextunop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn)) : vec_(V128_vnn) ;; 3-numerics.watsup def $vextbinop(ishape_1 : ishape, ishape_2 : ishape, vextbinop_ : vextbinop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn), vec_ : vec_(V128_vnn)) : vec_(V128_vnn) + ;; 3-numerics.watsup + def $vextbinop{inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), c : vec_(V128_vnn), cj_1 : iN($lsize((inn_1 : inn <: lanetype))), cj_2 : iN($lsize((inn_1 : inn <: lanetype))), ci_1* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*, ci_2* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*}(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2), DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), sx, c_1, c_2) = c + -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_1)) + -- if (ci_2*{ci_2} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_2)) + -- if ($concat_(syntax iN($lsize((inn_1 : inn <: lanetype))), [cj_1 cj_2]*{}) = $imul($lsize((inn_1 : inn <: lanetype)), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_1), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_2))*{ci_1 ci_2}) + -- if (c = $invlanes_(`%X%`((inn_1 : inn <: lanetype), N_1), $iadd($lsize((inn_1 : inn <: lanetype)), cj_1, cj_2)^N_1{})) ;; 3-numerics.watsup def $vishiftop(ishape : ishape, vshiftop_ : vshiftop_(ishape), lane_ : lane_($lanetype((ishape : ishape <: shape))), u32 : u32) : lane_($lanetype((ishape : ishape <: shape))) @@ -26093,12 +26256,10 @@ relation Step_pure: `%*_~>%*`(admininstr*, admininstr*) -- otherwise ;; 8-reduction.watsup - rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*, o0* : N*}: + rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*}: `%*_~>%*`([VCONST_admininstr(V128_vectype, c) VBITMASK_admininstr(`%X%`((inn : inn <: imm), N))], [CONST_admininstr(I32_numtype, ci)]) - -- if (|ci_1*{ci_1}| = |o0*{o0}|) - -- (if ($size((inn : inn <: valtype)) = ?(o0)))*{o0} -- if (ci_1*{ci_1} = $lanes_(`%X%`((inn : inn <: lanetype), N), c)) - -- if ($ibits(32, ci) = $ilt(o0, S_sx, ci_1, 0)*{ci_1 o0}) + -- if ($ibits(32, ci) = $ilt($lsize((inn : inn <: lanetype)), S_sx, ci_1, 0)*{ci_1}) ;; 8-reduction.watsup rule vnarrow{c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c : vec_(V128_vnn), ci_1* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, ci_2* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, cj_1* : iN(!($size((inn_2 : inn <: valtype))))*, cj_2* : iN(!($size((inn_2 : inn <: valtype))))*, o0* : M*, o1* : N*, o2* : M*, o3* : N*}: @@ -26632,14 +26793,14 @@ relation Step_read: `%~>%*`(config, admininstr*) -- if (c = $ext(N, 128, U_sx, j)) ;; 8-reduction.watsup - rule vload_lane-oob{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) + rule vload_lane-oob{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) -- if (((i + (mo.OFFSET_memop : uN(32) <: nat)) + (N / 8)) > |$mem(z, x).DATA_meminst|) ;; 8-reduction.watsup - rule vload_lane-val{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat, c : vec_(vt), k : nat, imm : imm, M : M, o0 : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(vt, c)]) - -- if ($size((vt : vectype <: valtype)) = ?(o0)) + rule vload_lane-val{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat, c : vec_(V128_vnn), k : nat, imm : imm, M : M, o0 : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(V128_vectype, c)]) + -- if ($size(V128_valtype) = ?(o0)) -- if ($ibytes(N, k) = $mem(z, x).DATA_meminst[(i + (mo.OFFSET_memop : uN(32) <: nat)) : (N / 8)]) -- if (N = $lsize((imm : imm <: lanetype))) -- if (M = (o0 / N)) @@ -29101,12 +29262,45 @@ def $vrelop(shape : shape, vrelop_ : vrelop_(shape), vec_ : vec_(V128_vnn), vec_ ;; 3-numerics.watsup def $vcvtop(shape_1 : shape, shape_2 : shape, vcvtop : vcvtop, sx?, lane_ : lane_($lanetype(shape_1))) : lane_($lanetype(shape_2)) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i8 : lane_($lanetype(`%X%`(I8_lanetype, N_1))), i16 : lane_($lanetype(`%X%`(I16_lanetype, N_2)))}(`%X%`(I8_lanetype, N_1), `%X%`(I16_lanetype, N_2), EXTEND_vcvtop, ?(sx), i8) = i16 + -- where i16 = $ext(8, 16, sx, i8) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i16 : lane_($lanetype(`%X%`(I16_lanetype, N_1))), i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(I16_lanetype, N_1), `%X%`(I32_lanetype, N_2), EXTEND_vcvtop, ?(sx), i16) = i32 + -- where i32 = $ext(16, 32, sx, i16) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), i64 : lane_($lanetype(`%X%`(I64_lanetype, N_2)))}(`%X%`(I32_lanetype, N_1), `%X%`(I64_lanetype, N_2), EXTEND_vcvtop, ?(sx), i32) = i64 + -- where i64 = $ext(32, 64, sx, i32) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F32_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f32) = i32 + -- where i32 = $trunc_sat(32, 32, sx, f32) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_2)))}(`%X%`(F64_lanetype, N_1), `%X%`(I32_lanetype, N_2), TRUNC_SAT_vcvtop, ?(sx), f64) = i32 + -- where i32 = $trunc_sat(64, 32, sx, f64) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f32 : f32}(`%X%`(I32_lanetype, N_1), `%X%`(F32_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f32 + -- where f32 = $convert(32, 32, sx, i32) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, i32 : lane_($lanetype(`%X%`(I32_lanetype, N_1))), f64 : f64}(`%X%`(I32_lanetype, N_1), `%X%`(F64_lanetype, N_2), CONVERT_vcvtop, ?(sx), i32) = f64 + -- where f64 = $convert(32, 64, sx, i32) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f64 : f64, f32 : f32}(`%X%`(F64_lanetype, N_1), `%X%`(F32_lanetype, N_2), DEMOTE_vcvtop, ?(sx), f64) = f32 + -- where f32 = $demote(64, 32, f64) + ;; 3-numerics.watsup + def $vcvtop{N_1 : N, N_2 : N, sx : sx, f32 : f32, f64 : f64}(`%X%`(F32_lanetype, N_1), `%X%`(F64_lanetype, N_2), PROMOTE_vcvtop, ?(sx), f32) = f64 + -- where f64 = $promote(32, 64, f32) ;; 3-numerics.watsup def $vextunop(ishape_1 : ishape, ishape_2 : ishape, vextunop_ : vextunop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn)) : vec_(V128_vnn) ;; 3-numerics.watsup def $vextbinop(ishape_1 : ishape, ishape_2 : ishape, vextbinop_ : vextbinop_(ishape_1, ishape_2), sx : sx, vec_ : vec_(V128_vnn), vec_ : vec_(V128_vnn)) : vec_(V128_vnn) + ;; 3-numerics.watsup + def $vextbinop{inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), c : vec_(V128_vnn), cj_1 : iN($lsize((inn_1 : inn <: lanetype))), cj_2 : iN($lsize((inn_1 : inn <: lanetype))), ci_1* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*, ci_2* : lane_($lanetype(`%X%`((inn_2 : inn <: lanetype), N_2)))*}(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2), DOT_vextbinop_(`%X%`((inn_1 : inn <: imm), N_1), `%X%`((inn_2 : inn <: imm), N_2)), sx, c_1, c_2) = c + -- where ci_1*{ci_1} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_1) + -- where ci_2*{ci_2} = $lanes_(`%X%`((inn_2 : inn <: lanetype), N_2), c_2) + -- where $concat_(syntax iN($lsize((inn_1 : inn <: lanetype))), [cj_1 cj_2]*{}) = $imul($lsize((inn_1 : inn <: lanetype)), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_1), $ext($lsize((inn_2 : inn <: lanetype)), $lsize((inn_1 : inn <: lanetype)), S_sx, ci_2))*{ci_1 ci_2} + -- where c = $invlanes_(`%X%`((inn_1 : inn <: lanetype), N_1), $iadd($lsize((inn_1 : inn <: lanetype)), cj_1, cj_2)^N_1{}) ;; 3-numerics.watsup def $vishiftop(ishape : ishape, vshiftop_ : vshiftop_(ishape), lane_ : lane_($lanetype((ishape : ishape <: shape))), u32 : u32) : lane_($lanetype((ishape : ishape <: shape))) @@ -31718,12 +31912,10 @@ relation Step_pure: `%*_~>%*`(admininstr*, admininstr*) -- otherwise ;; 8-reduction.watsup - rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*, o0* : N*}: + rule vbitmask{c : vec_(V128_vnn), inn : inn, N : N, ci : num_(I32_numtype), ci_1* : lane_($lanetype(`%X%`((inn : inn <: lanetype), N)))*}: `%*_~>%*`([VCONST_admininstr(V128_vectype, c) VBITMASK_admininstr(`%X%`((inn : inn <: imm), N))], [CONST_admininstr(I32_numtype, ci)]) - -- (where ?(o0) = $size((inn : inn <: valtype)))*{o0} -- where ci_1*{ci_1} = $lanes_(`%X%`((inn : inn <: lanetype), N), c) - -- if (|ci_1*{ci_1}| = |o0*{o0}|) - -- where $ibits(32, ci) = $ilt(o0, S_sx, ci_1, 0)*{ci_1 o0} + -- where $ibits(32, ci) = $ilt($lsize((inn : inn <: lanetype)), S_sx, ci_1, 0)*{ci_1} ;; 8-reduction.watsup rule vnarrow{c_1 : vec_(V128_vnn), c_2 : vec_(V128_vnn), inn_1 : inn, N_1 : N, inn_2 : inn, N_2 : N, sx : sx, c : vec_(V128_vnn), ci_1* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, ci_2* : lane_($lanetype(`%X%`((inn_1 : inn <: lanetype), N_1)))*, cj_1* : iN(!($size((inn_2 : inn <: valtype))))*, cj_2* : iN(!($size((inn_2 : inn <: valtype))))*, o0* : M*, o1* : N*, o2* : M*, o3* : N*}: @@ -32267,14 +32459,14 @@ relation Step_read: `%~>%*`(config, admininstr*) -- where c = $ext(N, 128, U_sx, j) ;; 8-reduction.watsup - rule vload_lane-oob{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) + rule vload_lane-oob{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [TRAP_admininstr]) -- if (((i + (mo.OFFSET_memop : uN(32) <: nat)) + (N / 8)) > |$mem(z, x).DATA_meminst|) ;; 8-reduction.watsup - rule vload_lane-val{z : state, i : nat, vt : vectype, c_1 : vec_(vt), N : N, x : idx, mo : memop, j : nat, c : vec_(vt), k : nat, imm : imm, M : M, o0 : nat}: - `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(vt, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(vt, c)]) - -- where ?(o0) = $size((vt : vectype <: valtype)) + rule vload_lane-val{z : state, i : nat, c_1 : vec_(V128_vnn), N : N, x : idx, mo : memop, j : nat, c : vec_(V128_vnn), k : nat, imm : imm, M : M, o0 : nat}: + `%~>%*`(`%;%*`(z, [CONST_admininstr(I32_numtype, i) VCONST_admininstr(V128_vectype, c_1) VLOAD_LANE_admininstr(N, x, mo, j)]), [VCONST_admininstr(V128_vectype, c)]) + -- where ?(o0) = $size(V128_valtype) -- where $lsize((imm : imm <: lanetype)) = N -- where $ibytes(N, k) = $mem(z, x).DATA_meminst[(i + (mo.OFFSET_memop : uN(32) <: nat)) : (N / 8)] -- where M = (o0 / N) diff --git a/spectec/test-prose/TEST.md b/spectec/test-prose/TEST.md index b8364795ea..582bc805e9 100644 --- a/spectec/test-prose/TEST.md +++ b/spectec/test-prose/TEST.md @@ -4749,6 +4749,54 @@ vrelop (lanet_u1 X N) vrelo_u0 v128_1 v128_2 15. Let v128 be $invlanes_((I64 X N), lane_3*). 16. Return v128. +vcvtop (lanet_u0 X N_1) (lanet_u1 X N_2) vcvto_u3 ?(sx) lane__u2 +1. If ((lanet_u0 is I8) and ((lanet_u1 is I16) and (vcvto_u3 is EXTEND))), then: + a. Let i8 be lane__u2. + b. Let i16 be $ext(8, 16, sx, i8). + c. Return i16. +2. If ((lanet_u0 is I16) and ((lanet_u1 is I32) and (vcvto_u3 is EXTEND))), then: + a. Let i16 be lane__u2. + b. Let i32 be $ext(16, 32, sx, i16). + c. Return i32. +3. If ((lanet_u0 is I32) and ((lanet_u1 is I64) and (vcvto_u3 is EXTEND))), then: + a. Let i32 be lane__u2. + b. Let i64 be $ext(32, 64, sx, i32). + c. Return i64. +4. If ((lanet_u0 is F32) and ((lanet_u1 is I32) and (vcvto_u3 is TRUNC_SAT))), then: + a. Let f32 be lane__u2. + b. Let i32 be $trunc_sat(32, 32, sx, f32). + c. Return i32. +5. If ((lanet_u0 is F64) and ((lanet_u1 is I32) and (vcvto_u3 is TRUNC_SAT))), then: + a. Let f64 be lane__u2. + b. Let i32 be $trunc_sat(64, 32, sx, f64). + c. Return i32. +6. If (lanet_u0 is I32), then: + a. If ((lanet_u1 is F32) and (vcvto_u3 is CONVERT)), then: + 1) Let i32 be lane__u2. + 2) Let f32 be $convert(32, 32, sx, i32). + 3) Return f32. + b. If ((lanet_u1 is F64) and (vcvto_u3 is CONVERT)), then: + 1) Let i32 be lane__u2. + 2) Let f64 be $convert(32, 64, sx, i32). + 3) Return f64. +7. If ((lanet_u0 is F64) and ((lanet_u1 is F32) and (vcvto_u3 is DEMOTE))), then: + a. Let f64 be lane__u2. + b. Let f32 be $demote(64, 32, f64). + c. Return f32. +8. Assert: Due to validation, (lanet_u0 is F32). +9. Assert: Due to validation, (lanet_u1 is F64). +10. Assert: Due to validation, (vcvto_u3 is PROMOTE). +11. Let f32 be lane__u2. +12. Let f64 be $promote(32, 64, f32). +13. Return f64. + +vextbinop (inn_1 X N_1) (inn_2 X N_2) DOT sx c_1 c_2 +1. Let ci_1* be $lanes_((inn_2 X N_2), c_1). +2. Let ci_2* be $lanes_((inn_2 X N_2), c_2). +3. Let [cj_1, cj_2]* be $inverse_of_concat_($imul($lsize(inn_1), $ext($lsize(inn_2), $lsize(inn_1), S, ci_1), $ext($lsize(inn_2), $lsize(inn_1), S, ci_2))*). +4. Let c be $invlanes_((inn_1 X N_1), $iadd($lsize(inn_1), cj_1, cj_2)^N_1). +5. Return c. + vishiftop (imm X N) vshif_u0 lane n 1. If (vshif_u0 is SHL), then: a. Return $ishl($lsize(imm), lane, n). @@ -5628,7 +5676,7 @@ execution_of_VBITMASK (inn X N) 1. Assert: Due to validation, a value is on the top of the stack. 2. Pop (VCONST V128 c) from the stack. 3. Let ci_1* be $lanes_((inn X N), c). -4. Let ci be $inverse_of_ibits(32, $ilt($size(inn), S, ci_1, 0)*). +4. Let ci be $inverse_of_ibits(32, $ilt($lsize(inn), S, ci_1, 0)*). 5. Push (I32.CONST ci) to the stack. execution_of_VNARROW (inn_1 X N_1) (inn_2 X N_2) sx @@ -6231,17 +6279,17 @@ execution_of_VLOAD vload_u0? x mo execution_of_VLOAD_LANE N x mo j 1. Assert: Due to validation, a value is on the top of the stack. -2. Pop (VCONST vt c_1) from the stack. +2. Pop (VCONST V128 c_1) from the stack. 3. Assert: Due to validation, a value of value type I32 is on the top of the stack. 4. Pop (I32.CONST i) from the stack. 5. If (((i + mo.OFFSET) + (N / 8)) > |$mem(x).DATA|), then: a. Trap. -6. Let M be ($size(vt) / N). +6. Let M be ($size(V128) / N). 7. If the type of $inverse_of_lsize(N) is imm, then: a. Let imm be $inverse_of_lsize(N). b. Let k be $inverse_of_ibytes(N, $mem(x).DATA[(i + mo.OFFSET) : (N / 8)]). c. Let c be $invlanes_((imm X M), $lanes_((imm X M), c_1) with [j] replaced by k). - d. Push (VCONST vt c) to the stack. + d. Push (VCONST V128 c) to the stack. execution_of_MEMORY.SIZE x 1. Let ((n · 64) · $Ki()) be |$mem(x).DATA|. diff --git a/spectec/test-splice/TEST.md b/spectec/test-splice/TEST.md index 1a894975c6..2170739650 100644 --- a/spectec/test-splice/TEST.md +++ b/spectec/test-splice/TEST.md @@ -1606,6 +1606,8 @@ warning: definition prose `unrollht` was never spliced warning: definition prose `unrollrt` was never spliced warning: definition prose `utf8` was never spliced warning: definition prose `vbinop` was never spliced +warning: definition prose `vcvtop` was never spliced +warning: definition prose `vextbinop` was never spliced warning: definition prose `vishiftop` was never spliced warning: definition prose `vrelop` was never spliced warning: definition prose `vunop` was never spliced