diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/binaryen.js/kitchen-sink.js | 151 | ||||
-rw-r--r-- | test/binaryen.js/kitchen-sink.js.txt | 2984 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 196 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt | 3203 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt.txt | 782 | ||||
-rw-r--r-- | test/passes/safe-heap.txt | 1269 | ||||
-rw-r--r-- | test/passes/safe-heap.wast | 3 | ||||
-rw-r--r-- | test/passes/safe-heap_disable-simd.txt | 2148 | ||||
-rw-r--r-- | test/passes/safe-heap_disable-simd.wast | 1 | ||||
-rw-r--r-- | test/simd.wast | 793 | ||||
-rw-r--r-- | test/simd.wast.from-wast | 809 | ||||
-rw-r--r-- | test/simd.wast.fromBinary | 810 | ||||
-rw-r--r-- | test/simd.wast.fromBinary.noDebugInfo | 810 | ||||
-rw-r--r-- | test/spec/simd.wast | 661 |
14 files changed, 13383 insertions, 1237 deletions
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js index 9fdaa0ad2..27eba3a8c 100644 --- a/test/binaryen.js/kitchen-sink.js +++ b/test/binaryen.js/kitchen-sink.js @@ -14,6 +14,8 @@ var module; // helpers +var v128_bytes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; + function assert(x) { if (!x) throw 'error!'; } @@ -34,6 +36,10 @@ function makeFloat64(x) { return module.f64.const(x); } +function makeVec128(i8s) { + return module.v128.const(i8s) +} + function makeSomething() { return makeInt32(1337); } @@ -83,6 +89,11 @@ function test_ids() { console.log("BinaryenAtomicRMWId: " + Binaryen.AtomicRMWId); console.log("BinaryenAtomicWaitId: " + Binaryen.AtomicWaitId); console.log("BinaryenAtomicWakeId: " + Binaryen.AtomicWakeId); + console.log("BinaryenSIMDExtractId: " + Binaryen.SIMDExtractId); + console.log("BinaryenSIMDReplaceId: " + Binaryen.SIMDReplaceId); + console.log("BinaryenSIMDShuffleId: " + Binaryen.SIMDShuffleId); + console.log("BinaryenSIMDBitselectId: " + Binaryen.SIMDBitselectId); + console.log("BinaryenSIMDShiftId: " + Binaryen.SIMDShiftId); } function test_core() { @@ -156,6 +167,39 @@ function test_core() { module.f32.demote(module.f64.const(-9005.841)), module.f32.reinterpret(module.i32.const(-10)), module.f64.reinterpret(module.i64.const(-22, -1)), + module.i8x16.splat(module.i32.const(42)), + module.i16x8.splat(module.i32.const(42)), + module.i32x4.splat(module.i32.const(42)), + module.i64x2.splat(module.i64.const(123, 456)), + module.f32x4.splat(module.f32.const(42.0)), + module.f64x2.splat(module.f64.const(42.0)), + module.v128.not(module.v128.const(v128_bytes)), + module.i8x16.neg(module.v128.const(v128_bytes)), + module.i8x16.any_true(module.v128.const(v128_bytes)), + module.i8x16.all_true(module.v128.const(v128_bytes)), + module.i16x8.neg(module.v128.const(v128_bytes)), + module.i16x8.any_true(module.v128.const(v128_bytes)), + module.i16x8.all_true(module.v128.const(v128_bytes)), + module.i32x4.neg(module.v128.const(v128_bytes)), + module.i32x4.any_true(module.v128.const(v128_bytes)), + module.i32x4.all_true(module.v128.const(v128_bytes)), + module.i64x2.neg(module.v128.const(v128_bytes)), + module.i64x2.any_true(module.v128.const(v128_bytes)), + module.i64x2.all_true(module.v128.const(v128_bytes)), + module.f32x4.abs(module.v128.const(v128_bytes)), + module.f32x4.neg(module.v128.const(v128_bytes)), + module.f32x4.sqrt(module.v128.const(v128_bytes)), + module.f64x2.abs(module.v128.const(v128_bytes)), + module.f64x2.neg(module.v128.const(v128_bytes)), + module.f64x2.sqrt(module.v128.const(v128_bytes)), + module.i32x4['trunc_s/f32x4:sat'](module.v128.const(v128_bytes)), + module.i32x4['trunc_u/f32x4:sat'](module.v128.const(v128_bytes)), + module.i64x2['trunc_s/f64x2:sat'](module.v128.const(v128_bytes)), + module.i64x2['trunc_u/f64x2:sat'](module.v128.const(v128_bytes)), + module.f32x4['convert_s/i32x4'](module.v128.const(v128_bytes)), + module.f32x4['convert_u/i32x4'](module.v128.const(v128_bytes)), + module.f64x2['convert_s/i64x2'](module.v128.const(v128_bytes)), + module.f64x2['convert_u/i64x2'](module.v128.const(v128_bytes)), // Binary module.i32.add(module.i32.const(-10), module.i32.const(-11)), module.f64.sub(module.f64.const(-9005.841), module.f64.const(-9007.333)), @@ -189,6 +233,113 @@ function test_core() { module.f64.le(module.f64.const(-9005.841), module.f64.const(-9007.333)), module.f64.gt(module.f64.const(-9005.841), module.f64.const(-9007.333)), module.f32.ge(module.f32.const(-33.612), module.f32.const(-62.5)), + module.i8x16.eq(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.ne(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.lt_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.lt_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.gt_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.gt_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.le_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.le_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.ge_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.ge_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.eq(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.ne(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.lt_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.lt_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.gt_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.gt_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.le_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.le_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.ge_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.ge_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.eq(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.ne(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.lt_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.lt_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.gt_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.gt_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.le_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.le_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.ge_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.ge_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.eq(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.ne(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.lt(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.gt(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.le(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.ge(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.eq(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.ne(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.lt(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.gt(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.le(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.ge(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.v128.and(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.v128.or(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.v128.xor(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.add(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.add_saturate_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.add_saturate_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.sub(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.sub_saturate_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.sub_saturate_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.mul(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.add(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.add_saturate_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.add_saturate_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.sub(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.sub_saturate_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.sub_saturate_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.mul(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.add(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.sub(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i32x4.mul(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i64x2.add(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i64x2.sub(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.add(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.sub(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.mul(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.div(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.min(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f32x4.max(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.add(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.sub(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.mul(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.div(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.min(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.f64x2.max(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + // SIMD lane manipulation + module.i8x16.extract_lane_s(module.v128.const(v128_bytes), 1), + module.i8x16.extract_lane_u(module.v128.const(v128_bytes), 1), + module.i16x8.extract_lane_s(module.v128.const(v128_bytes), 1), + module.i16x8.extract_lane_u(module.v128.const(v128_bytes), 1), + module.i32x4.extract_lane(module.v128.const(v128_bytes), 1), + module.i64x2.extract_lane(module.v128.const(v128_bytes), 1), + module.f32x4.extract_lane(module.v128.const(v128_bytes), 1), + module.f64x2.extract_lane(module.v128.const(v128_bytes), 1), + module.i16x8.replace_lane(module.v128.const(v128_bytes), 1, module.i32.const(42)), + module.i8x16.replace_lane(module.v128.const(v128_bytes), 1, module.i32.const(42)), + module.i32x4.replace_lane(module.v128.const(v128_bytes), 1, module.i32.const(42)), + module.i64x2.replace_lane(module.v128.const(v128_bytes), 1, module.i64.const(42, 43)), + module.f32x4.replace_lane(module.v128.const(v128_bytes), 1, module.f32.const(42)), + module.f64x2.replace_lane(module.v128.const(v128_bytes), 1, module.f64.const(42)), + // // SIMD shift + module.i8x16.shl(module.v128.const(v128_bytes), module.i32.const(1)), + module.i8x16.shr_s(module.v128.const(v128_bytes), module.i32.const(1)), + module.i8x16.shr_u(module.v128.const(v128_bytes), module.i32.const(1)), + module.i16x8.shl(module.v128.const(v128_bytes), module.i32.const(1)), + module.i16x8.shr_s(module.v128.const(v128_bytes), module.i32.const(1)), + module.i16x8.shr_u(module.v128.const(v128_bytes), module.i32.const(1)), + module.i32x4.shl(module.v128.const(v128_bytes), module.i32.const(1)), + module.i32x4.shr_s(module.v128.const(v128_bytes), module.i32.const(1)), + module.i32x4.shr_u(module.v128.const(v128_bytes), module.i32.const(1)), + module.i64x2.shl(module.v128.const(v128_bytes), module.i32.const(1)), + module.i64x2.shr_s(module.v128.const(v128_bytes), module.i32.const(1)), + module.i64x2.shr_u(module.v128.const(v128_bytes), module.i32.const(1)), + // Other SIMD + module.v8x16.shuffle(module.v128.const(v128_bytes), module.v128.const(v128_bytes), v128_bytes), + module.v128.bitselect(module.v128.const(v128_bytes), module.v128.const(v128_bytes), module.v128.const(v128_bytes)), // All the rest module.block('', []), // block with no name module.if(temp1, temp2, temp3), diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt index 1bf43df02..e64de578d 100644 --- a/test/binaryen.js/kitchen-sink.js.txt +++ b/test/binaryen.js/kitchen-sink.js.txt @@ -33,6 +33,11 @@ BinaryenAtomicCmpxchgId: 24 BinaryenAtomicRMWId: 23 BinaryenAtomicWaitId: 25 BinaryenAtomicWakeId: 26 +BinaryenSIMDExtractId: 27 +BinaryenSIMDReplaceId: 28 +BinaryenSIMDShuffleId: 29 +BinaryenSIMDBitselectId: 30 +BinaryenSIMDShiftId: 31 getExpressionInfo={"id":15,"type":3,"op":6} (f32.neg (f32.const -33.61199951171875) @@ -282,6 +287,171 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5} ) ) (drop + (i8x16.splat + (i32.const 42) + ) + ) + (drop + (i16x8.splat + (i32.const 42) + ) + ) + (drop + (i32x4.splat + (i32.const 42) + ) + ) + (drop + (i64x2.splat + (i64.const 1958505087099) + ) + ) + (drop + (f32x4.splat + (f32.const 42) + ) + ) + (drop + (f64x2.splat + (f64.const 42) + ) + ) + (drop + (v128.not + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_s/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_u/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_s/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_u/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_s/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_u/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_s/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_u/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop (i32.add (i32.const -10) (i32.const -11) @@ -473,6 +643,614 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5} (f32.const -62.5) ) ) + (drop + (i8x16.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + ( + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ( + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ( + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + (drop + (i8x16.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_s 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_u 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_s 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_u 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.extract_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.extract_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.extract_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.extract_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i8x16.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i32x4.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i64x2.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i64.const 184683593770) + ) + ) + (drop + (f32x4.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f32.const 42) + ) + ) + (drop + (f64x2.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f64.const 42) + ) + ) + (drop + (i8x16.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.bitselect + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) (block ) (if @@ -1251,176 +2029,1180 @@ int main() { expressions[108] = BinaryenUnary(the_module, 45, expressions[107]); expressions[109] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); expressions[110] = BinaryenUnary(the_module, 46, expressions[109]); - expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[112] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[113] = BinaryenBinary(the_module, 0, expressions[111], expressions[112]); - expressions[114] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[115] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[116] = BinaryenBinary(the_module, 64, expressions[114], expressions[115]); - expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[118] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[119] = BinaryenBinary(the_module, 3, expressions[117], expressions[118]); - expressions[120] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[121] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[122] = BinaryenBinary(the_module, 29, expressions[120], expressions[121]); - expressions[123] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[124] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[125] = BinaryenBinary(the_module, 30, expressions[123], expressions[124]); - expressions[126] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[127] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[128] = BinaryenBinary(the_module, 6, expressions[126], expressions[127]); - expressions[129] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[130] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[131] = BinaryenBinary(the_module, 7, expressions[129], expressions[130]); - expressions[132] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[133] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[134] = BinaryenBinary(the_module, 33, expressions[132], expressions[133]); - expressions[135] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[136] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[137] = BinaryenBinary(the_module, 9, expressions[135], expressions[136]); - expressions[138] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[139] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[140] = BinaryenBinary(the_module, 35, expressions[138], expressions[139]); - expressions[141] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[142] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[143] = BinaryenBinary(the_module, 36, expressions[141], expressions[142]); - expressions[144] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[145] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[146] = BinaryenBinary(the_module, 12, expressions[144], expressions[145]); - expressions[147] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[148] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[149] = BinaryenBinary(the_module, 13, expressions[147], expressions[148]); - expressions[150] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[151] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[152] = BinaryenBinary(the_module, 39, expressions[150], expressions[151]); - expressions[153] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[154] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[155] = BinaryenBinary(the_module, 53, expressions[153], expressions[154]); - expressions[156] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[157] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[158] = BinaryenBinary(the_module, 67, expressions[156], expressions[157]); - expressions[159] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[160] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[161] = BinaryenBinary(the_module, 55, expressions[159], expressions[160]); - expressions[162] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[163] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[164] = BinaryenBinary(the_module, 69, expressions[162], expressions[163]); - expressions[165] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[166] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[167] = BinaryenBinary(the_module, 15, expressions[165], expressions[166]); - expressions[168] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[169] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[170] = BinaryenBinary(the_module, 58, expressions[168], expressions[169]); - expressions[171] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[172] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[173] = BinaryenBinary(the_module, 17, expressions[171], expressions[172]); - expressions[174] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[175] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[176] = BinaryenBinary(the_module, 43, expressions[174], expressions[175]); - expressions[177] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[178] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[179] = BinaryenBinary(the_module, 44, expressions[177], expressions[178]); - expressions[180] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[181] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[182] = BinaryenBinary(the_module, 20, expressions[180], expressions[181]); - expressions[183] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[184] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[185] = BinaryenBinary(the_module, 46, expressions[183], expressions[184]); - expressions[186] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[187] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[188] = BinaryenBinary(the_module, 22, expressions[186], expressions[187]); - expressions[189] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[190] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[191] = BinaryenBinary(the_module, 23, expressions[189], expressions[190]); - expressions[192] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); - expressions[193] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); - expressions[194] = BinaryenBinary(the_module, 49, expressions[192], expressions[193]); - expressions[195] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[196] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[197] = BinaryenBinary(the_module, 59, expressions[195], expressions[196]); - expressions[198] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[199] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[200] = BinaryenBinary(the_module, 73, expressions[198], expressions[199]); - expressions[201] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[202] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[203] = BinaryenBinary(the_module, 74, expressions[201], expressions[202]); - expressions[204] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[205] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[206] = BinaryenBinary(the_module, 62, expressions[204], expressions[205]); + expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[112] = BinaryenUnary(the_module, 60, expressions[111]); + expressions[113] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[114] = BinaryenUnary(the_module, 61, expressions[113]); + expressions[115] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[116] = BinaryenUnary(the_module, 62, expressions[115]); + expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt64(1958505087099)); + expressions[118] = BinaryenUnary(the_module, 63, expressions[117]); + expressions[119] = BinaryenConst(the_module, BinaryenLiteralFloat32(42)); + expressions[120] = BinaryenUnary(the_module, 64, expressions[119]); + expressions[121] = BinaryenConst(the_module, BinaryenLiteralFloat64(42)); + expressions[122] = BinaryenUnary(the_module, 65, expressions[121]); + { + uint8_t t0[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[123] = BinaryenConst(the_module, BinaryenLiteralVec128(t0)); + } + expressions[124] = BinaryenUnary(the_module, 66, expressions[123]); + { + uint8_t t1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[125] = BinaryenConst(the_module, BinaryenLiteralVec128(t1)); + } + expressions[126] = BinaryenUnary(the_module, 67, expressions[125]); + { + uint8_t t2[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[127] = BinaryenConst(the_module, BinaryenLiteralVec128(t2)); + } + expressions[128] = BinaryenUnary(the_module, 68, expressions[127]); + { + uint8_t t3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[129] = BinaryenConst(the_module, BinaryenLiteralVec128(t3)); + } + expressions[130] = BinaryenUnary(the_module, 69, expressions[129]); + { + uint8_t t4[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[131] = BinaryenConst(the_module, BinaryenLiteralVec128(t4)); + } + expressions[132] = BinaryenUnary(the_module, 70, expressions[131]); + { + uint8_t t5[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[133] = BinaryenConst(the_module, BinaryenLiteralVec128(t5)); + } + expressions[134] = BinaryenUnary(the_module, 71, expressions[133]); + { + uint8_t t6[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[135] = BinaryenConst(the_module, BinaryenLiteralVec128(t6)); + } + expressions[136] = BinaryenUnary(the_module, 72, expressions[135]); + { + uint8_t t7[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[137] = BinaryenConst(the_module, BinaryenLiteralVec128(t7)); + } + expressions[138] = BinaryenUnary(the_module, 73, expressions[137]); + { + uint8_t t8[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[139] = BinaryenConst(the_module, BinaryenLiteralVec128(t8)); + } + expressions[140] = BinaryenUnary(the_module, 74, expressions[139]); + { + uint8_t t9[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[141] = BinaryenConst(the_module, BinaryenLiteralVec128(t9)); + } + expressions[142] = BinaryenUnary(the_module, 75, expressions[141]); + { + uint8_t t10[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[143] = BinaryenConst(the_module, BinaryenLiteralVec128(t10)); + } + expressions[144] = BinaryenUnary(the_module, 76, expressions[143]); + { + uint8_t t11[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[145] = BinaryenConst(the_module, BinaryenLiteralVec128(t11)); + } + expressions[146] = BinaryenUnary(the_module, 77, expressions[145]); + { + uint8_t t12[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[147] = BinaryenConst(the_module, BinaryenLiteralVec128(t12)); + } + expressions[148] = BinaryenUnary(the_module, 78, expressions[147]); + { + uint8_t t13[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[149] = BinaryenConst(the_module, BinaryenLiteralVec128(t13)); + } + expressions[150] = BinaryenUnary(the_module, 79, expressions[149]); + { + uint8_t t14[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[151] = BinaryenConst(the_module, BinaryenLiteralVec128(t14)); + } + expressions[152] = BinaryenUnary(the_module, 80, expressions[151]); + { + uint8_t t15[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[153] = BinaryenConst(the_module, BinaryenLiteralVec128(t15)); + } + expressions[154] = BinaryenUnary(the_module, 81, expressions[153]); + { + uint8_t t16[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[155] = BinaryenConst(the_module, BinaryenLiteralVec128(t16)); + } + expressions[156] = BinaryenUnary(the_module, 82, expressions[155]); + { + uint8_t t17[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[157] = BinaryenConst(the_module, BinaryenLiteralVec128(t17)); + } + expressions[158] = BinaryenUnary(the_module, 83, expressions[157]); + { + uint8_t t18[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[159] = BinaryenConst(the_module, BinaryenLiteralVec128(t18)); + } + expressions[160] = BinaryenUnary(the_module, 84, expressions[159]); + { + uint8_t t19[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[161] = BinaryenConst(the_module, BinaryenLiteralVec128(t19)); + } + expressions[162] = BinaryenUnary(the_module, 85, expressions[161]); + { + uint8_t t20[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[163] = BinaryenConst(the_module, BinaryenLiteralVec128(t20)); + } + expressions[164] = BinaryenUnary(the_module, 86, expressions[163]); + { + uint8_t t21[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[165] = BinaryenConst(the_module, BinaryenLiteralVec128(t21)); + } + expressions[166] = BinaryenUnary(the_module, 87, expressions[165]); + { + uint8_t t22[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[167] = BinaryenConst(the_module, BinaryenLiteralVec128(t22)); + } + expressions[168] = BinaryenUnary(the_module, 88, expressions[167]); + { + uint8_t t23[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[169] = BinaryenConst(the_module, BinaryenLiteralVec128(t23)); + } + expressions[170] = BinaryenUnary(the_module, 89, expressions[169]); + { + uint8_t t24[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[171] = BinaryenConst(the_module, BinaryenLiteralVec128(t24)); + } + expressions[172] = BinaryenUnary(the_module, 90, expressions[171]); + { + uint8_t t25[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[173] = BinaryenConst(the_module, BinaryenLiteralVec128(t25)); + } + expressions[174] = BinaryenUnary(the_module, 91, expressions[173]); + { + uint8_t t26[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[175] = BinaryenConst(the_module, BinaryenLiteralVec128(t26)); + } + expressions[176] = BinaryenUnary(the_module, 92, expressions[175]); + expressions[177] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[178] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[179] = BinaryenBinary(the_module, 0, expressions[177], expressions[178]); + expressions[180] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[181] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[182] = BinaryenBinary(the_module, 64, expressions[180], expressions[181]); + expressions[183] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[184] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[185] = BinaryenBinary(the_module, 3, expressions[183], expressions[184]); + expressions[186] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[187] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[188] = BinaryenBinary(the_module, 29, expressions[186], expressions[187]); + expressions[189] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[190] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[191] = BinaryenBinary(the_module, 30, expressions[189], expressions[190]); + expressions[192] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[193] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[194] = BinaryenBinary(the_module, 6, expressions[192], expressions[193]); + expressions[195] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[196] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[197] = BinaryenBinary(the_module, 7, expressions[195], expressions[196]); + expressions[198] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[199] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[200] = BinaryenBinary(the_module, 33, expressions[198], expressions[199]); + expressions[201] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[202] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[203] = BinaryenBinary(the_module, 9, expressions[201], expressions[202]); + expressions[204] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[205] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[206] = BinaryenBinary(the_module, 35, expressions[204], expressions[205]); + expressions[207] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[208] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[209] = BinaryenBinary(the_module, 36, expressions[207], expressions[208]); + expressions[210] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[211] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[212] = BinaryenBinary(the_module, 12, expressions[210], expressions[211]); + expressions[213] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[214] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[215] = BinaryenBinary(the_module, 13, expressions[213], expressions[214]); + expressions[216] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[217] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[218] = BinaryenBinary(the_module, 39, expressions[216], expressions[217]); + expressions[219] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[220] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[221] = BinaryenBinary(the_module, 53, expressions[219], expressions[220]); + expressions[222] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[223] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[224] = BinaryenBinary(the_module, 67, expressions[222], expressions[223]); + expressions[225] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[226] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[227] = BinaryenBinary(the_module, 55, expressions[225], expressions[226]); + expressions[228] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[229] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[230] = BinaryenBinary(the_module, 69, expressions[228], expressions[229]); + expressions[231] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[232] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[233] = BinaryenBinary(the_module, 15, expressions[231], expressions[232]); + expressions[234] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[235] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[236] = BinaryenBinary(the_module, 58, expressions[234], expressions[235]); + expressions[237] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[238] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[239] = BinaryenBinary(the_module, 17, expressions[237], expressions[238]); + expressions[240] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[241] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[242] = BinaryenBinary(the_module, 43, expressions[240], expressions[241]); + expressions[243] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[244] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[245] = BinaryenBinary(the_module, 44, expressions[243], expressions[244]); + expressions[246] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[247] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[248] = BinaryenBinary(the_module, 20, expressions[246], expressions[247]); + expressions[249] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[250] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[251] = BinaryenBinary(the_module, 46, expressions[249], expressions[250]); + expressions[252] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[253] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[254] = BinaryenBinary(the_module, 22, expressions[252], expressions[253]); + expressions[255] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[256] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[257] = BinaryenBinary(the_module, 23, expressions[255], expressions[256]); + expressions[258] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274)); + expressions[259] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273)); + expressions[260] = BinaryenBinary(the_module, 49, expressions[258], expressions[259]); + expressions[261] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[262] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[263] = BinaryenBinary(the_module, 59, expressions[261], expressions[262]); + expressions[264] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[265] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[266] = BinaryenBinary(the_module, 73, expressions[264], expressions[265]); + expressions[267] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[268] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[269] = BinaryenBinary(the_module, 74, expressions[267], expressions[268]); + expressions[270] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[271] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[272] = BinaryenBinary(the_module, 62, expressions[270], expressions[271]); + { + uint8_t t27[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[273] = BinaryenConst(the_module, BinaryenLiteralVec128(t27)); + } + { + uint8_t t28[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[274] = BinaryenConst(the_module, BinaryenLiteralVec128(t28)); + } + expressions[275] = BinaryenBinary(the_module, 76, expressions[273], expressions[274]); + { + uint8_t t29[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[276] = BinaryenConst(the_module, BinaryenLiteralVec128(t29)); + } + { + uint8_t t30[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[277] = BinaryenConst(the_module, BinaryenLiteralVec128(t30)); + } + expressions[278] = BinaryenBinary(the_module, 77, expressions[276], expressions[277]); + { + uint8_t t31[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[279] = BinaryenConst(the_module, BinaryenLiteralVec128(t31)); + } + { + uint8_t t32[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[280] = BinaryenConst(the_module, BinaryenLiteralVec128(t32)); + } + expressions[281] = BinaryenBinary(the_module, 78, expressions[279], expressions[280]); + { + uint8_t t33[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[282] = BinaryenConst(the_module, BinaryenLiteralVec128(t33)); + } + { + uint8_t t34[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[283] = BinaryenConst(the_module, BinaryenLiteralVec128(t34)); + } + expressions[284] = BinaryenBinary(the_module, 79, expressions[282], expressions[283]); + { + uint8_t t35[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[285] = BinaryenConst(the_module, BinaryenLiteralVec128(t35)); + } + { + uint8_t t36[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[286] = BinaryenConst(the_module, BinaryenLiteralVec128(t36)); + } + expressions[287] = BinaryenBinary(the_module, 80, expressions[285], expressions[286]); + { + uint8_t t37[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[288] = BinaryenConst(the_module, BinaryenLiteralVec128(t37)); + } + { + uint8_t t38[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[289] = BinaryenConst(the_module, BinaryenLiteralVec128(t38)); + } + expressions[290] = BinaryenBinary(the_module, 81, expressions[288], expressions[289]); + { + uint8_t t39[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[291] = BinaryenConst(the_module, BinaryenLiteralVec128(t39)); + } + { + uint8_t t40[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[292] = BinaryenConst(the_module, BinaryenLiteralVec128(t40)); + } + expressions[293] = BinaryenBinary(the_module, 82, expressions[291], expressions[292]); + { + uint8_t t41[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[294] = BinaryenConst(the_module, BinaryenLiteralVec128(t41)); + } + { + uint8_t t42[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[295] = BinaryenConst(the_module, BinaryenLiteralVec128(t42)); + } + expressions[296] = BinaryenBinary(the_module, 83, expressions[294], expressions[295]); + { + uint8_t t43[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[297] = BinaryenConst(the_module, BinaryenLiteralVec128(t43)); + } + { + uint8_t t44[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[298] = BinaryenConst(the_module, BinaryenLiteralVec128(t44)); + } + expressions[299] = BinaryenBinary(the_module, 84, expressions[297], expressions[298]); + { + uint8_t t45[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[300] = BinaryenConst(the_module, BinaryenLiteralVec128(t45)); + } + { + uint8_t t46[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[301] = BinaryenConst(the_module, BinaryenLiteralVec128(t46)); + } + expressions[302] = BinaryenBinary(the_module, 85, expressions[300], expressions[301]); + { + uint8_t t47[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[303] = BinaryenConst(the_module, BinaryenLiteralVec128(t47)); + } + { + uint8_t t48[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[304] = BinaryenConst(the_module, BinaryenLiteralVec128(t48)); + } + expressions[305] = BinaryenBinary(the_module, 86, expressions[303], expressions[304]); + { + uint8_t t49[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[306] = BinaryenConst(the_module, BinaryenLiteralVec128(t49)); + } + { + uint8_t t50[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[307] = BinaryenConst(the_module, BinaryenLiteralVec128(t50)); + } + expressions[308] = BinaryenBinary(the_module, 87, expressions[306], expressions[307]); + { + uint8_t t51[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[309] = BinaryenConst(the_module, BinaryenLiteralVec128(t51)); + } + { + uint8_t t52[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[310] = BinaryenConst(the_module, BinaryenLiteralVec128(t52)); + } + expressions[311] = BinaryenBinary(the_module, 88, expressions[309], expressions[310]); + { + uint8_t t53[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[312] = BinaryenConst(the_module, BinaryenLiteralVec128(t53)); + } + { + uint8_t t54[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[313] = BinaryenConst(the_module, BinaryenLiteralVec128(t54)); + } + expressions[314] = BinaryenBinary(the_module, 89, expressions[312], expressions[313]); + { + uint8_t t55[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[315] = BinaryenConst(the_module, BinaryenLiteralVec128(t55)); + } + { + uint8_t t56[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[316] = BinaryenConst(the_module, BinaryenLiteralVec128(t56)); + } + expressions[317] = BinaryenBinary(the_module, 90, expressions[315], expressions[316]); + { + uint8_t t57[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[318] = BinaryenConst(the_module, BinaryenLiteralVec128(t57)); + } + { + uint8_t t58[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[319] = BinaryenConst(the_module, BinaryenLiteralVec128(t58)); + } + expressions[320] = BinaryenBinary(the_module, 91, expressions[318], expressions[319]); + { + uint8_t t59[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[321] = BinaryenConst(the_module, BinaryenLiteralVec128(t59)); + } + { + uint8_t t60[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[322] = BinaryenConst(the_module, BinaryenLiteralVec128(t60)); + } + expressions[323] = BinaryenBinary(the_module, 92, expressions[321], expressions[322]); + { + uint8_t t61[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[324] = BinaryenConst(the_module, BinaryenLiteralVec128(t61)); + } + { + uint8_t t62[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[325] = BinaryenConst(the_module, BinaryenLiteralVec128(t62)); + } + expressions[326] = BinaryenBinary(the_module, 93, expressions[324], expressions[325]); + { + uint8_t t63[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[327] = BinaryenConst(the_module, BinaryenLiteralVec128(t63)); + } + { + uint8_t t64[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[328] = BinaryenConst(the_module, BinaryenLiteralVec128(t64)); + } + expressions[329] = BinaryenBinary(the_module, 94, expressions[327], expressions[328]); + { + uint8_t t65[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[330] = BinaryenConst(the_module, BinaryenLiteralVec128(t65)); + } + { + uint8_t t66[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[331] = BinaryenConst(the_module, BinaryenLiteralVec128(t66)); + } + expressions[332] = BinaryenBinary(the_module, 95, expressions[330], expressions[331]); + { + uint8_t t67[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[333] = BinaryenConst(the_module, BinaryenLiteralVec128(t67)); + } + { + uint8_t t68[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[334] = BinaryenConst(the_module, BinaryenLiteralVec128(t68)); + } + expressions[335] = BinaryenBinary(the_module, 96, expressions[333], expressions[334]); + { + uint8_t t69[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[336] = BinaryenConst(the_module, BinaryenLiteralVec128(t69)); + } + { + uint8_t t70[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[337] = BinaryenConst(the_module, BinaryenLiteralVec128(t70)); + } + expressions[338] = BinaryenBinary(the_module, 97, expressions[336], expressions[337]); + { + uint8_t t71[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[339] = BinaryenConst(the_module, BinaryenLiteralVec128(t71)); + } + { + uint8_t t72[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[340] = BinaryenConst(the_module, BinaryenLiteralVec128(t72)); + } + expressions[341] = BinaryenBinary(the_module, 98, expressions[339], expressions[340]); + { + uint8_t t73[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[342] = BinaryenConst(the_module, BinaryenLiteralVec128(t73)); + } + { + uint8_t t74[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[343] = BinaryenConst(the_module, BinaryenLiteralVec128(t74)); + } + expressions[344] = BinaryenBinary(the_module, 99, expressions[342], expressions[343]); + { + uint8_t t75[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[345] = BinaryenConst(the_module, BinaryenLiteralVec128(t75)); + } + { + uint8_t t76[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[346] = BinaryenConst(the_module, BinaryenLiteralVec128(t76)); + } + expressions[347] = BinaryenBinary(the_module, 100, expressions[345], expressions[346]); + { + uint8_t t77[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[348] = BinaryenConst(the_module, BinaryenLiteralVec128(t77)); + } + { + uint8_t t78[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[349] = BinaryenConst(the_module, BinaryenLiteralVec128(t78)); + } + expressions[350] = BinaryenBinary(the_module, 101, expressions[348], expressions[349]); + { + uint8_t t79[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[351] = BinaryenConst(the_module, BinaryenLiteralVec128(t79)); + } + { + uint8_t t80[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[352] = BinaryenConst(the_module, BinaryenLiteralVec128(t80)); + } + expressions[353] = BinaryenBinary(the_module, 102, expressions[351], expressions[352]); + { + uint8_t t81[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[354] = BinaryenConst(the_module, BinaryenLiteralVec128(t81)); + } + { + uint8_t t82[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[355] = BinaryenConst(the_module, BinaryenLiteralVec128(t82)); + } + expressions[356] = BinaryenBinary(the_module, 103, expressions[354], expressions[355]); + { + uint8_t t83[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[357] = BinaryenConst(the_module, BinaryenLiteralVec128(t83)); + } + { + uint8_t t84[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[358] = BinaryenConst(the_module, BinaryenLiteralVec128(t84)); + } + expressions[359] = BinaryenBinary(the_module, 104, expressions[357], expressions[358]); + { + uint8_t t85[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[360] = BinaryenConst(the_module, BinaryenLiteralVec128(t85)); + } + { + uint8_t t86[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[361] = BinaryenConst(the_module, BinaryenLiteralVec128(t86)); + } + expressions[362] = BinaryenBinary(the_module, 105, expressions[360], expressions[361]); + { + uint8_t t87[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[363] = BinaryenConst(the_module, BinaryenLiteralVec128(t87)); + } + { + uint8_t t88[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[364] = BinaryenConst(the_module, BinaryenLiteralVec128(t88)); + } + expressions[365] = BinaryenBinary(the_module, 106, expressions[363], expressions[364]); + { + uint8_t t89[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[366] = BinaryenConst(the_module, BinaryenLiteralVec128(t89)); + } + { + uint8_t t90[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[367] = BinaryenConst(the_module, BinaryenLiteralVec128(t90)); + } + expressions[368] = BinaryenBinary(the_module, 107, expressions[366], expressions[367]); + { + uint8_t t91[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[369] = BinaryenConst(the_module, BinaryenLiteralVec128(t91)); + } + { + uint8_t t92[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[370] = BinaryenConst(the_module, BinaryenLiteralVec128(t92)); + } + expressions[371] = BinaryenBinary(the_module, 108, expressions[369], expressions[370]); + { + uint8_t t93[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[372] = BinaryenConst(the_module, BinaryenLiteralVec128(t93)); + } + { + uint8_t t94[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[373] = BinaryenConst(the_module, BinaryenLiteralVec128(t94)); + } + expressions[374] = BinaryenBinary(the_module, 109, expressions[372], expressions[373]); + { + uint8_t t95[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[375] = BinaryenConst(the_module, BinaryenLiteralVec128(t95)); + } + { + uint8_t t96[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[376] = BinaryenConst(the_module, BinaryenLiteralVec128(t96)); + } + expressions[377] = BinaryenBinary(the_module, 110, expressions[375], expressions[376]); + { + uint8_t t97[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[378] = BinaryenConst(the_module, BinaryenLiteralVec128(t97)); + } + { + uint8_t t98[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[379] = BinaryenConst(the_module, BinaryenLiteralVec128(t98)); + } + expressions[380] = BinaryenBinary(the_module, 111, expressions[378], expressions[379]); + { + uint8_t t99[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[381] = BinaryenConst(the_module, BinaryenLiteralVec128(t99)); + } + { + uint8_t t100[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[382] = BinaryenConst(the_module, BinaryenLiteralVec128(t100)); + } + expressions[383] = BinaryenBinary(the_module, 111, expressions[381], expressions[382]); + { + uint8_t t101[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[384] = BinaryenConst(the_module, BinaryenLiteralVec128(t101)); + } + { + uint8_t t102[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[385] = BinaryenConst(the_module, BinaryenLiteralVec128(t102)); + } + expressions[386] = BinaryenBinary(the_module, 113, expressions[384], expressions[385]); + { + uint8_t t103[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[387] = BinaryenConst(the_module, BinaryenLiteralVec128(t103)); + } + { + uint8_t t104[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[388] = BinaryenConst(the_module, BinaryenLiteralVec128(t104)); + } + expressions[389] = BinaryenBinary(the_module, 114, expressions[387], expressions[388]); + { + uint8_t t105[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[390] = BinaryenConst(the_module, BinaryenLiteralVec128(t105)); + } + { + uint8_t t106[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[391] = BinaryenConst(the_module, BinaryenLiteralVec128(t106)); + } + expressions[392] = BinaryenBinary(the_module, 115, expressions[390], expressions[391]); + { + uint8_t t107[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[393] = BinaryenConst(the_module, BinaryenLiteralVec128(t107)); + } + { + uint8_t t108[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[394] = BinaryenConst(the_module, BinaryenLiteralVec128(t108)); + } + expressions[395] = BinaryenBinary(the_module, 116, expressions[393], expressions[394]); + { + uint8_t t109[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[396] = BinaryenConst(the_module, BinaryenLiteralVec128(t109)); + } + { + uint8_t t110[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[397] = BinaryenConst(the_module, BinaryenLiteralVec128(t110)); + } + expressions[398] = BinaryenBinary(the_module, 117, expressions[396], expressions[397]); + { + uint8_t t111[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[399] = BinaryenConst(the_module, BinaryenLiteralVec128(t111)); + } + { + uint8_t t112[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[400] = BinaryenConst(the_module, BinaryenLiteralVec128(t112)); + } + expressions[401] = BinaryenUnary(the_module, 118, expressions[399]); + { + uint8_t t113[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[402] = BinaryenConst(the_module, BinaryenLiteralVec128(t113)); + } + { + uint8_t t114[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[403] = BinaryenConst(the_module, BinaryenLiteralVec128(t114)); + } + expressions[404] = BinaryenUnary(the_module, 119, expressions[402]); + { + uint8_t t115[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[405] = BinaryenConst(the_module, BinaryenLiteralVec128(t115)); + } + { + uint8_t t116[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[406] = BinaryenConst(the_module, BinaryenLiteralVec128(t116)); + } + expressions[407] = BinaryenUnary(the_module, 120, expressions[405]); + { + uint8_t t117[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[408] = BinaryenConst(the_module, BinaryenLiteralVec128(t117)); + } + { + uint8_t t118[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[409] = BinaryenConst(the_module, BinaryenLiteralVec128(t118)); + } + expressions[410] = BinaryenBinary(the_module, 121, expressions[408], expressions[409]); + { + uint8_t t119[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[411] = BinaryenConst(the_module, BinaryenLiteralVec128(t119)); + } + { + uint8_t t120[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[412] = BinaryenConst(the_module, BinaryenLiteralVec128(t120)); + } + expressions[413] = BinaryenBinary(the_module, 122, expressions[411], expressions[412]); + { + uint8_t t121[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[414] = BinaryenConst(the_module, BinaryenLiteralVec128(t121)); + } + { + uint8_t t122[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[415] = BinaryenConst(the_module, BinaryenLiteralVec128(t122)); + } + expressions[416] = BinaryenBinary(the_module, 123, expressions[414], expressions[415]); + { + uint8_t t123[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[417] = BinaryenConst(the_module, BinaryenLiteralVec128(t123)); + } + { + uint8_t t124[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[418] = BinaryenConst(the_module, BinaryenLiteralVec128(t124)); + } + expressions[419] = BinaryenBinary(the_module, 124, expressions[417], expressions[418]); + { + uint8_t t125[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[420] = BinaryenConst(the_module, BinaryenLiteralVec128(t125)); + } + { + uint8_t t126[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[421] = BinaryenConst(the_module, BinaryenLiteralVec128(t126)); + } + expressions[422] = BinaryenBinary(the_module, 125, expressions[420], expressions[421]); + { + uint8_t t127[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[423] = BinaryenConst(the_module, BinaryenLiteralVec128(t127)); + } + { + uint8_t t128[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[424] = BinaryenConst(the_module, BinaryenLiteralVec128(t128)); + } + expressions[425] = BinaryenBinary(the_module, 126, expressions[423], expressions[424]); + { + uint8_t t129[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[426] = BinaryenConst(the_module, BinaryenLiteralVec128(t129)); + } + { + uint8_t t130[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[427] = BinaryenConst(the_module, BinaryenLiteralVec128(t130)); + } + expressions[428] = BinaryenBinary(the_module, 127, expressions[426], expressions[427]); + { + uint8_t t131[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[429] = BinaryenConst(the_module, BinaryenLiteralVec128(t131)); + } + { + uint8_t t132[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[430] = BinaryenConst(the_module, BinaryenLiteralVec128(t132)); + } + expressions[431] = BinaryenBinary(the_module, 128, expressions[429], expressions[430]); + { + uint8_t t133[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[432] = BinaryenConst(the_module, BinaryenLiteralVec128(t133)); + } + { + uint8_t t134[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[433] = BinaryenConst(the_module, BinaryenLiteralVec128(t134)); + } + expressions[434] = BinaryenBinary(the_module, 129, expressions[432], expressions[433]); + { + uint8_t t135[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[435] = BinaryenConst(the_module, BinaryenLiteralVec128(t135)); + } + { + uint8_t t136[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[436] = BinaryenConst(the_module, BinaryenLiteralVec128(t136)); + } + expressions[437] = BinaryenBinary(the_module, 130, expressions[435], expressions[436]); + { + uint8_t t137[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[438] = BinaryenConst(the_module, BinaryenLiteralVec128(t137)); + } + { + uint8_t t138[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[439] = BinaryenConst(the_module, BinaryenLiteralVec128(t138)); + } + expressions[440] = BinaryenBinary(the_module, 131, expressions[438], expressions[439]); + { + uint8_t t139[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[441] = BinaryenConst(the_module, BinaryenLiteralVec128(t139)); + } + { + uint8_t t140[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[442] = BinaryenConst(the_module, BinaryenLiteralVec128(t140)); + } + expressions[443] = BinaryenBinary(the_module, 132, expressions[441], expressions[442]); + { + uint8_t t141[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[444] = BinaryenConst(the_module, BinaryenLiteralVec128(t141)); + } + { + uint8_t t142[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[445] = BinaryenConst(the_module, BinaryenLiteralVec128(t142)); + } + expressions[446] = BinaryenBinary(the_module, 133, expressions[444], expressions[445]); + { + uint8_t t143[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[447] = BinaryenConst(the_module, BinaryenLiteralVec128(t143)); + } + { + uint8_t t144[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[448] = BinaryenConst(the_module, BinaryenLiteralVec128(t144)); + } + expressions[449] = BinaryenBinary(the_module, 134, expressions[447], expressions[448]); + { + uint8_t t145[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[450] = BinaryenConst(the_module, BinaryenLiteralVec128(t145)); + } + { + uint8_t t146[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[451] = BinaryenConst(the_module, BinaryenLiteralVec128(t146)); + } + expressions[452] = BinaryenBinary(the_module, 135, expressions[450], expressions[451]); + { + uint8_t t147[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[453] = BinaryenConst(the_module, BinaryenLiteralVec128(t147)); + } + { + uint8_t t148[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[454] = BinaryenConst(the_module, BinaryenLiteralVec128(t148)); + } + expressions[455] = BinaryenBinary(the_module, 136, expressions[453], expressions[454]); + { + uint8_t t149[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[456] = BinaryenConst(the_module, BinaryenLiteralVec128(t149)); + } + { + uint8_t t150[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[457] = BinaryenConst(the_module, BinaryenLiteralVec128(t150)); + } + expressions[458] = BinaryenBinary(the_module, 137, expressions[456], expressions[457]); + { + uint8_t t151[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[459] = BinaryenConst(the_module, BinaryenLiteralVec128(t151)); + } + { + uint8_t t152[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[460] = BinaryenConst(the_module, BinaryenLiteralVec128(t152)); + } + expressions[461] = BinaryenBinary(the_module, 138, expressions[459], expressions[460]); + { + uint8_t t153[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[462] = BinaryenConst(the_module, BinaryenLiteralVec128(t153)); + } + { + uint8_t t154[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[463] = BinaryenConst(the_module, BinaryenLiteralVec128(t154)); + } + expressions[464] = BinaryenBinary(the_module, 139, expressions[462], expressions[463]); + { + uint8_t t155[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[465] = BinaryenConst(the_module, BinaryenLiteralVec128(t155)); + } + { + uint8_t t156[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[466] = BinaryenConst(the_module, BinaryenLiteralVec128(t156)); + } + expressions[467] = BinaryenBinary(the_module, 140, expressions[465], expressions[466]); + { + uint8_t t157[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[468] = BinaryenConst(the_module, BinaryenLiteralVec128(t157)); + } + { + uint8_t t158[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[469] = BinaryenConst(the_module, BinaryenLiteralVec128(t158)); + } + expressions[470] = BinaryenBinary(the_module, 141, expressions[468], expressions[469]); + { + uint8_t t159[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[471] = BinaryenConst(the_module, BinaryenLiteralVec128(t159)); + } + { + uint8_t t160[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[472] = BinaryenConst(the_module, BinaryenLiteralVec128(t160)); + } + expressions[473] = BinaryenBinary(the_module, 142, expressions[471], expressions[472]); + { + uint8_t t161[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[474] = BinaryenConst(the_module, BinaryenLiteralVec128(t161)); + } + { + uint8_t t162[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[475] = BinaryenConst(the_module, BinaryenLiteralVec128(t162)); + } + expressions[476] = BinaryenBinary(the_module, 143, expressions[474], expressions[475]); + { + uint8_t t163[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[477] = BinaryenConst(the_module, BinaryenLiteralVec128(t163)); + } + { + uint8_t t164[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[478] = BinaryenConst(the_module, BinaryenLiteralVec128(t164)); + } + expressions[479] = BinaryenBinary(the_module, 144, expressions[477], expressions[478]); + { + uint8_t t165[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[480] = BinaryenConst(the_module, BinaryenLiteralVec128(t165)); + } + { + uint8_t t166[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[481] = BinaryenConst(the_module, BinaryenLiteralVec128(t166)); + } + expressions[482] = BinaryenBinary(the_module, 145, expressions[480], expressions[481]); + { + uint8_t t167[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[483] = BinaryenConst(the_module, BinaryenLiteralVec128(t167)); + } + { + uint8_t t168[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[484] = BinaryenConst(the_module, BinaryenLiteralVec128(t168)); + } + expressions[485] = BinaryenBinary(the_module, 146, expressions[483], expressions[484]); + { + uint8_t t169[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[486] = BinaryenConst(the_module, BinaryenLiteralVec128(t169)); + } + { + uint8_t t170[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[487] = BinaryenConst(the_module, BinaryenLiteralVec128(t170)); + } + expressions[488] = BinaryenBinary(the_module, 147, expressions[486], expressions[487]); + { + uint8_t t171[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[489] = BinaryenConst(the_module, BinaryenLiteralVec128(t171)); + } + { + uint8_t t172[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[490] = BinaryenConst(the_module, BinaryenLiteralVec128(t172)); + } + expressions[491] = BinaryenBinary(the_module, 148, expressions[489], expressions[490]); + { + uint8_t t173[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[492] = BinaryenConst(the_module, BinaryenLiteralVec128(t173)); + } + { + uint8_t t174[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[493] = BinaryenConst(the_module, BinaryenLiteralVec128(t174)); + } + expressions[494] = BinaryenBinary(the_module, 149, expressions[492], expressions[493]); + { + uint8_t t175[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[495] = BinaryenConst(the_module, BinaryenLiteralVec128(t175)); + } + { + uint8_t t176[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[496] = BinaryenConst(the_module, BinaryenLiteralVec128(t176)); + } + expressions[497] = BinaryenBinary(the_module, 150, expressions[495], expressions[496]); + { + uint8_t t177[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[498] = BinaryenConst(the_module, BinaryenLiteralVec128(t177)); + } + { + uint8_t t178[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[499] = BinaryenConst(the_module, BinaryenLiteralVec128(t178)); + } + expressions[500] = BinaryenBinary(the_module, 151, expressions[498], expressions[499]); + { + uint8_t t179[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[501] = BinaryenConst(the_module, BinaryenLiteralVec128(t179)); + } + expressions[502] = BinaryenSIMDExtract(the_module, 0, expressions[501], 1); + { + uint8_t t180[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[503] = BinaryenConst(the_module, BinaryenLiteralVec128(t180)); + } + expressions[504] = BinaryenSIMDExtract(the_module, 1, expressions[503], 1); + { + uint8_t t181[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[505] = BinaryenConst(the_module, BinaryenLiteralVec128(t181)); + } + expressions[506] = BinaryenSIMDExtract(the_module, 2, expressions[505], 1); + { + uint8_t t182[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[507] = BinaryenConst(the_module, BinaryenLiteralVec128(t182)); + } + expressions[508] = BinaryenSIMDExtract(the_module, 3, expressions[507], 1); + { + uint8_t t183[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[509] = BinaryenConst(the_module, BinaryenLiteralVec128(t183)); + } + expressions[510] = BinaryenSIMDExtract(the_module, 4, expressions[509], 1); + { + uint8_t t184[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[511] = BinaryenConst(the_module, BinaryenLiteralVec128(t184)); + } + expressions[512] = BinaryenSIMDExtract(the_module, 5, expressions[511], 1); + { + uint8_t t185[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[513] = BinaryenConst(the_module, BinaryenLiteralVec128(t185)); + } + expressions[514] = BinaryenSIMDExtract(the_module, 6, expressions[513], 1); + { + uint8_t t186[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[515] = BinaryenConst(the_module, BinaryenLiteralVec128(t186)); + } + expressions[516] = BinaryenSIMDExtract(the_module, 7, expressions[515], 1); + { + uint8_t t187[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[517] = BinaryenConst(the_module, BinaryenLiteralVec128(t187)); + } + expressions[518] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[519] = BinaryenSIMDReplace(the_module, 1, expressions[517], 1, expressions[518]); + { + uint8_t t188[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[520] = BinaryenConst(the_module, BinaryenLiteralVec128(t188)); + } + expressions[521] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[522] = BinaryenSIMDReplace(the_module, 0, expressions[520], 1, expressions[521]); + { + uint8_t t189[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[523] = BinaryenConst(the_module, BinaryenLiteralVec128(t189)); + } + expressions[524] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[525] = BinaryenSIMDReplace(the_module, 2, expressions[523], 1, expressions[524]); + { + uint8_t t190[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[526] = BinaryenConst(the_module, BinaryenLiteralVec128(t190)); + } + expressions[527] = BinaryenConst(the_module, BinaryenLiteralInt64(184683593770)); + expressions[528] = BinaryenSIMDReplace(the_module, 3, expressions[526], 1, expressions[527]); + { + uint8_t t191[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[529] = BinaryenConst(the_module, BinaryenLiteralVec128(t191)); + } + expressions[530] = BinaryenConst(the_module, BinaryenLiteralFloat32(42)); + expressions[531] = BinaryenSIMDReplace(the_module, 4, expressions[529], 1, expressions[530]); + { + uint8_t t192[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[532] = BinaryenConst(the_module, BinaryenLiteralVec128(t192)); + } + expressions[533] = BinaryenConst(the_module, BinaryenLiteralFloat64(42)); + expressions[534] = BinaryenSIMDReplace(the_module, 5, expressions[532], 1, expressions[533]); + { + uint8_t t193[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[535] = BinaryenConst(the_module, BinaryenLiteralVec128(t193)); + } + expressions[536] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[537] = BinaryenSIMDShift(the_module, 0, expressions[535], expressions[536]); + { + uint8_t t194[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[538] = BinaryenConst(the_module, BinaryenLiteralVec128(t194)); + } + expressions[539] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[540] = BinaryenSIMDShift(the_module, 1, expressions[538], expressions[539]); + { + uint8_t t195[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[541] = BinaryenConst(the_module, BinaryenLiteralVec128(t195)); + } + expressions[542] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[543] = BinaryenSIMDShift(the_module, 2, expressions[541], expressions[542]); + { + uint8_t t196[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[544] = BinaryenConst(the_module, BinaryenLiteralVec128(t196)); + } + expressions[545] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[546] = BinaryenSIMDShift(the_module, 3, expressions[544], expressions[545]); + { + uint8_t t197[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[547] = BinaryenConst(the_module, BinaryenLiteralVec128(t197)); + } + expressions[548] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[549] = BinaryenSIMDShift(the_module, 4, expressions[547], expressions[548]); + { + uint8_t t198[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[550] = BinaryenConst(the_module, BinaryenLiteralVec128(t198)); + } + expressions[551] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[552] = BinaryenSIMDShift(the_module, 5, expressions[550], expressions[551]); + { + uint8_t t199[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[553] = BinaryenConst(the_module, BinaryenLiteralVec128(t199)); + } + expressions[554] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[555] = BinaryenSIMDShift(the_module, 6, expressions[553], expressions[554]); + { + uint8_t t200[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[556] = BinaryenConst(the_module, BinaryenLiteralVec128(t200)); + } + expressions[557] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[558] = BinaryenSIMDShift(the_module, 7, expressions[556], expressions[557]); + { + uint8_t t201[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[559] = BinaryenConst(the_module, BinaryenLiteralVec128(t201)); + } + expressions[560] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[561] = BinaryenSIMDShift(the_module, 8, expressions[559], expressions[560]); + { + uint8_t t202[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[562] = BinaryenConst(the_module, BinaryenLiteralVec128(t202)); + } + expressions[563] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[564] = BinaryenSIMDShift(the_module, 9, expressions[562], expressions[563]); + { + uint8_t t203[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[565] = BinaryenConst(the_module, BinaryenLiteralVec128(t203)); + } + expressions[566] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[567] = BinaryenSIMDShift(the_module, 10, expressions[565], expressions[566]); + { + uint8_t t204[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[568] = BinaryenConst(the_module, BinaryenLiteralVec128(t204)); + } + expressions[569] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[570] = BinaryenSIMDShift(the_module, 11, expressions[568], expressions[569]); + { + uint8_t t205[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[571] = BinaryenConst(the_module, BinaryenLiteralVec128(t205)); + } + { + uint8_t t206[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[572] = BinaryenConst(the_module, BinaryenLiteralVec128(t206)); + } + { + uint8_t mask[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[573] = BinaryenSIMDShuffle(the_module, expressions[571], expressions[572], mask); + } + { + uint8_t t207[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[574] = BinaryenConst(the_module, BinaryenLiteralVec128(t207)); + } + { + uint8_t t208[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[575] = BinaryenConst(the_module, BinaryenLiteralVec128(t208)); + } + { + uint8_t t209[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[576] = BinaryenConst(the_module, BinaryenLiteralVec128(t209)); + } + expressions[577] = BinaryenSIMDBitselect(the_module, expressions[574], expressions[575], expressions[576]); { BinaryenExpressionRef children[] = { 0 }; - expressions[207] = BinaryenBlock(the_module, NULL, children, 0, 0); - } - expressions[208] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]); - expressions[209] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]); - expressions[210] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[211] = BinaryenLoop(the_module, "in", expressions[210]); - expressions[212] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[213] = BinaryenLoop(the_module, NULL, expressions[212]); - expressions[214] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]); - expressions[215] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[216] = BinaryenBreak(the_module, "the-nothing", expressions[215], expressions[0]); - expressions[217] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); - expressions[218] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[217]); - expressions[219] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); + expressions[578] = BinaryenBlock(the_module, NULL, children, 0, 0); + } + expressions[579] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]); + expressions[580] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]); + expressions[581] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[582] = BinaryenLoop(the_module, "in", expressions[581]); + expressions[583] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[584] = BinaryenLoop(the_module, NULL, expressions[583]); + expressions[585] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]); + expressions[586] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[587] = BinaryenBreak(the_module, "the-nothing", expressions[586], expressions[0]); + expressions[588] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); + expressions[589] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[588]); + expressions[590] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); { const char* names[] = { "the-value" }; - expressions[220] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]); + expressions[591] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]); } - expressions[221] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[592] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); { const char* names[] = { "the-nothing" }; - expressions[222] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[221], expressions[0]); - } - expressions[223] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[224] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); - expressions[225] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); - expressions[226] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); - { - BinaryenExpressionRef operands[] = { expressions[223], expressions[224], expressions[225], expressions[226] }; - expressions[227] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1); - } - expressions[228] = BinaryenUnary(the_module, 20, expressions[227]); - expressions[229] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[230] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); - { - BinaryenExpressionRef operands[] = { expressions[229], expressions[230] }; - expressions[231] = BinaryenCall(the_module, "an-imported", operands, 2, 3); - } - expressions[232] = BinaryenUnary(the_module, 25, expressions[231]); - expressions[233] = BinaryenUnary(the_module, 20, expressions[232]); - expressions[234] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); - expressions[235] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[236] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); - expressions[237] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); - expressions[238] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); - { - BinaryenExpressionRef operands[] = { expressions[235], expressions[236], expressions[237], expressions[238] }; - expressions[239] = BinaryenCallIndirect(the_module, expressions[234], operands, 4, "iiIfF"); - } - expressions[240] = BinaryenUnary(the_module, 20, expressions[239]); - expressions[241] = BinaryenGetLocal(the_module, 0, 1); - expressions[242] = BinaryenDrop(the_module, expressions[241]); - expressions[243] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); - expressions[244] = BinaryenSetLocal(the_module, 0, expressions[243]); - expressions[245] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); - expressions[246] = BinaryenTeeLocal(the_module, 0, expressions[245]); - expressions[247] = BinaryenDrop(the_module, expressions[246]); - expressions[248] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[249] = BinaryenLoad(the_module, 4, 1, 0, 0, 1, expressions[248]); - expressions[250] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); - expressions[251] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[250]); - expressions[252] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[253] = BinaryenLoad(the_module, 4, 1, 0, 0, 3, expressions[252]); - expressions[254] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); - expressions[255] = BinaryenLoad(the_module, 8, 1, 2, 8, 4, expressions[254]); - expressions[256] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 1); - expressions[257] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 2); - expressions[258] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]); - expressions[259] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); - expressions[260] = BinaryenReturn(the_module, expressions[259]); - expressions[261] = BinaryenNop(the_module); - expressions[262] = BinaryenUnreachable(the_module); + expressions[593] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[592], expressions[0]); + } + expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); + expressions[595] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); + expressions[596] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); + expressions[597] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + { + BinaryenExpressionRef operands[] = { expressions[594], expressions[595], expressions[596], expressions[597] }; + expressions[598] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1); + } + expressions[599] = BinaryenUnary(the_module, 20, expressions[598]); + expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); + expressions[601] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + { + BinaryenExpressionRef operands[] = { expressions[600], expressions[601] }; + expressions[602] = BinaryenCall(the_module, "an-imported", operands, 2, 3); + } + expressions[603] = BinaryenUnary(the_module, 25, expressions[602]); + expressions[604] = BinaryenUnary(the_module, 20, expressions[603]); + expressions[605] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[606] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); + expressions[607] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); + expressions[608] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); + expressions[609] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + { + BinaryenExpressionRef operands[] = { expressions[606], expressions[607], expressions[608], expressions[609] }; + expressions[610] = BinaryenCallIndirect(the_module, expressions[605], operands, 4, "iiIfF"); + } + expressions[611] = BinaryenUnary(the_module, 20, expressions[610]); + expressions[612] = BinaryenGetLocal(the_module, 0, 1); + expressions[613] = BinaryenDrop(the_module, expressions[612]); + expressions[614] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); + expressions[615] = BinaryenSetLocal(the_module, 0, expressions[614]); + expressions[616] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); + expressions[617] = BinaryenTeeLocal(the_module, 0, expressions[616]); + expressions[618] = BinaryenDrop(the_module, expressions[617]); + expressions[619] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[620] = BinaryenLoad(the_module, 4, 1, 0, 0, 1, expressions[619]); + expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); + expressions[622] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[621]); + expressions[623] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[624] = BinaryenLoad(the_module, 4, 1, 0, 0, 3, expressions[623]); + expressions[625] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); + expressions[626] = BinaryenLoad(the_module, 8, 1, 2, 8, 4, expressions[625]); + expressions[627] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 1); + expressions[628] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 2); + expressions[629] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]); + expressions[630] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); + expressions[631] = BinaryenReturn(the_module, expressions[630]); + expressions[632] = BinaryenNop(the_module); + expressions[633] = BinaryenUnreachable(the_module); BinaryenExpressionGetId(expressions[30]); BinaryenExpressionGetType(expressions[30]); BinaryenUnaryGetOp(expressions[30]); @@ -1431,26 +3213,26 @@ getExpressionInfo={"id":15,"type":3,"op":6} (f32.const -33.61199951171875) ) - expressions[263] = BinaryenConst(the_module, BinaryenLiteralInt32(5)); - BinaryenExpressionGetId(expressions[263]); - BinaryenExpressionGetType(expressions[263]); - BinaryenConstGetValueI32(expressions[263]); + expressions[634] = BinaryenConst(the_module, BinaryenLiteralInt32(5)); + BinaryenExpressionGetId(expressions[634]); + BinaryenExpressionGetType(expressions[634]); + BinaryenConstGetValueI32(expressions[634]); getExpressionInfo(i32.const)={"id":14,"type":1,"value":5} - expressions[264] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078)); - BinaryenExpressionGetId(expressions[264]); - BinaryenExpressionGetType(expressions[264]); - BinaryenConstGetValueI64Low(expressions[264]); - BinaryenConstGetValueI64High(expressions[264]); + expressions[635] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078)); + BinaryenExpressionGetId(expressions[635]); + BinaryenExpressionGetType(expressions[635]); + BinaryenConstGetValueI64Low(expressions[635]); + BinaryenConstGetValueI64High(expressions[635]); getExpressionInfo(i64.const)={"id":14,"type":2,"value":{"low":6,"high":7}} - expressions[265] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5)); - BinaryenExpressionGetId(expressions[265]); - BinaryenExpressionGetType(expressions[265]); - BinaryenConstGetValueF32(expressions[265]); + expressions[636] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5)); + BinaryenExpressionGetId(expressions[636]); + BinaryenExpressionGetType(expressions[636]); + BinaryenConstGetValueF32(expressions[636]); getExpressionInfo(f32.const)={"id":14,"type":3,"value":8.5} - expressions[266] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5)); - BinaryenExpressionGetId(expressions[266]); - BinaryenExpressionGetType(expressions[266]); - BinaryenConstGetValueF64(expressions[266]); + expressions[637] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5)); + BinaryenExpressionGetId(expressions[637]); + BinaryenExpressionGetType(expressions[637]); + BinaryenConstGetValueF64(expressions[637]); getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5} { BinaryenExpressionRef children[] = { expressions[24], expressions[26], expressions[28], expressions[30], expressions[32], @@ -1460,32 +3242,55 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5} expressions[70], expressions[72], expressions[74], expressions[76], expressions[78], expressions[80], expressions[82], expressions[84], expressions[86], expressions[88], expressions[90], expressions[92], expressions[94], expressions[96], expressions[98], expressions[100], expressions[102], expressions[104], - expressions[106], expressions[108], expressions[110], expressions[113], expressions[116], expressions[119], - expressions[122], expressions[125], expressions[128], expressions[131], expressions[134], expressions[137], - expressions[140], expressions[143], expressions[146], expressions[149], expressions[152], expressions[155], - expressions[158], expressions[161], expressions[164], expressions[167], expressions[170], expressions[173], - expressions[176], expressions[179], expressions[182], expressions[185], expressions[188], expressions[191], - expressions[194], expressions[197], expressions[200], expressions[203], expressions[206], expressions[207], - expressions[208], expressions[209], expressions[211], expressions[213], expressions[214], expressions[216], - expressions[218], expressions[219], expressions[220], expressions[222], expressions[228], expressions[233], - expressions[240], expressions[242], expressions[244], expressions[247], expressions[249], expressions[251], - expressions[253], expressions[255], expressions[256], expressions[257], expressions[258], expressions[260], - expressions[261], expressions[262] }; - expressions[267] = BinaryenBlock(the_module, "the-value", children, 103, 0); + expressions[106], expressions[108], expressions[110], expressions[112], expressions[114], expressions[116], + expressions[118], expressions[120], expressions[122], expressions[124], expressions[126], expressions[128], + expressions[130], expressions[132], expressions[134], expressions[136], expressions[138], expressions[140], + expressions[142], expressions[144], expressions[146], expressions[148], expressions[150], expressions[152], + expressions[154], expressions[156], expressions[158], expressions[160], expressions[162], expressions[164], + expressions[166], expressions[168], expressions[170], expressions[172], expressions[174], expressions[176], + expressions[179], expressions[182], expressions[185], expressions[188], expressions[191], expressions[194], + expressions[197], expressions[200], expressions[203], expressions[206], expressions[209], expressions[212], + expressions[215], expressions[218], expressions[221], expressions[224], expressions[227], expressions[230], + expressions[233], expressions[236], expressions[239], expressions[242], expressions[245], expressions[248], + expressions[251], expressions[254], expressions[257], expressions[260], expressions[263], expressions[266], + expressions[269], expressions[272], expressions[275], expressions[278], expressions[281], expressions[284], + expressions[287], expressions[290], expressions[293], expressions[296], expressions[299], expressions[302], + expressions[305], expressions[308], expressions[311], expressions[314], expressions[317], expressions[320], + expressions[323], expressions[326], expressions[329], expressions[332], expressions[335], expressions[338], + expressions[341], expressions[344], expressions[347], expressions[350], expressions[353], expressions[356], + expressions[359], expressions[362], expressions[365], expressions[368], expressions[371], expressions[374], + expressions[377], expressions[380], expressions[383], expressions[386], expressions[389], expressions[392], + expressions[395], expressions[398], expressions[401], expressions[404], expressions[407], expressions[410], + expressions[413], expressions[416], expressions[419], expressions[422], expressions[425], expressions[428], + expressions[431], expressions[434], expressions[437], expressions[440], expressions[443], expressions[446], + expressions[449], expressions[452], expressions[455], expressions[458], expressions[461], expressions[464], + expressions[467], expressions[470], expressions[473], expressions[476], expressions[479], expressions[482], + expressions[485], expressions[488], expressions[491], expressions[494], expressions[497], expressions[500], + expressions[502], expressions[504], expressions[506], expressions[508], expressions[510], expressions[512], + expressions[514], expressions[516], expressions[519], expressions[522], expressions[525], expressions[528], + expressions[531], expressions[534], expressions[537], expressions[540], expressions[543], expressions[546], + expressions[549], expressions[552], expressions[555], expressions[558], expressions[561], expressions[564], + expressions[567], expressions[570], expressions[573], expressions[577], expressions[578], expressions[579], + expressions[580], expressions[582], expressions[584], expressions[585], expressions[587], expressions[589], + expressions[590], expressions[591], expressions[593], expressions[599], expressions[604], expressions[611], + expressions[613], expressions[615], expressions[618], expressions[620], expressions[622], expressions[624], + expressions[626], expressions[627], expressions[628], expressions[629], expressions[631], expressions[632], + expressions[633] }; + expressions[638] = BinaryenBlock(the_module, "the-value", children, 240, 0); } - expressions[268] = BinaryenDrop(the_module, expressions[267]); + expressions[639] = BinaryenDrop(the_module, expressions[638]); { - BinaryenExpressionRef children[] = { expressions[268] }; - expressions[269] = BinaryenBlock(the_module, "the-nothing", children, 1, 0); + BinaryenExpressionRef children[] = { expressions[639] }; + expressions[640] = BinaryenBlock(the_module, "the-nothing", children, 1, 0); } - expressions[270] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[641] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); { - BinaryenExpressionRef children[] = { expressions[269], expressions[270] }; - expressions[271] = BinaryenBlock(the_module, "the-body", children, 2, 0); + BinaryenExpressionRef children[] = { expressions[640], expressions[641] }; + expressions[642] = BinaryenBlock(the_module, "the-body", children, 2, 0); } { BinaryenType varTypes[] = { 1 }; - functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[271]); + functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[642]); } { BinaryenType paramTypes[] = { 1, 4 }; @@ -1510,11 +3315,11 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5} const char* funcNames[] = { "kitchen()sinker" }; BinaryenSetFunctionTable(the_module, 1, 4294967295, funcNames, 1); } - expressions[272] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); + expressions[643] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); { const char segment0[] = { 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 }; const char* segments[] = { segment0 }; - BinaryenExpressionRef segmentOffsets[] = { expressions[272] }; + BinaryenExpressionRef segmentOffsets[] = { expressions[643] }; BinaryenIndex segmentSizes[] = { 12 }; BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentOffsets, segmentSizes, 1, 0); } @@ -1522,10 +3327,10 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5} BinaryenType paramTypes[] = { 0 }; functionTypes[2] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0); } - expressions[273] = BinaryenNop(the_module); + expressions[644] = BinaryenNop(the_module); { BinaryenType varTypes[] = { 0 }; - functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[273]); + functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[644]); } BinaryenSetStart(the_module, functions[1]); { @@ -1775,6 +3580,171 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5} ) ) (drop + (i8x16.splat + (i32.const 42) + ) + ) + (drop + (i16x8.splat + (i32.const 42) + ) + ) + (drop + (i32x4.splat + (i32.const 42) + ) + ) + (drop + (i64x2.splat + (i64.const 1958505087099) + ) + ) + (drop + (f32x4.splat + (f32.const 42) + ) + ) + (drop + (f64x2.splat + (f64.const 42) + ) + ) + (drop + (v128.not + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_s/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_u/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_s/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_u/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_s/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_u/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_s/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_u/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop (i32.add (i32.const -10) (i32.const -11) @@ -1966,6 +3936,614 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5} (f32.const -62.5) ) ) + (drop + (i8x16.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + ( + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ( + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ( + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + (drop + (i8x16.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_s 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_u 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_s 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_u 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.extract_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.extract_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.extract_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.extract_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i8x16.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i32x4.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i64x2.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i64.const 184683593770) + ) + ) + (drop + (f32x4.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f32.const 42) + ) + ) + (drop + (f64x2.replace_lane 1 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f64.const 42) + ) + ) + (drop + (i8x16.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.bitselect + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) (block ) (if diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index d056d0e75..cf2ce6c04 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -15,11 +15,14 @@ // helpers +static const uint8_t v128_bytes[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + BinaryenExpressionRef makeUnary(BinaryenModuleRef module, BinaryenOp op, BinaryenType inputType) { if (inputType == BinaryenTypeInt32()) return BinaryenUnary(module, op, BinaryenConst(module, BinaryenLiteralInt32(-10))); if (inputType == BinaryenTypeInt64()) return BinaryenUnary(module, op, BinaryenConst(module, BinaryenLiteralInt64(-22))); if (inputType == BinaryenTypeFloat32()) return BinaryenUnary(module, op, BinaryenConst(module, BinaryenLiteralFloat32(-33.612f))); if (inputType == BinaryenTypeFloat64()) return BinaryenUnary(module, op, BinaryenConst(module, BinaryenLiteralFloat64(-9005.841))); + if (inputType == BinaryenTypeVec128()) return BinaryenUnary(module, op, BinaryenConst(module, BinaryenLiteralVec128(v128_bytes))); abort(); } @@ -41,6 +44,10 @@ BinaryenExpressionRef makeBinary(BinaryenModuleRef module, BinaryenOp op, Binary BinaryenExpressionRef temp = BinaryenConst(module, BinaryenLiteralFloat64(-9007.333)); return BinaryenBinary(module, op, BinaryenConst(module, BinaryenLiteralFloat64(-9005.841)), temp); } + if (type == BinaryenTypeVec128()) { + BinaryenExpressionRef temp = BinaryenConst(module, BinaryenLiteralVec128(v128_bytes)); + return BinaryenBinary(module, op, BinaryenConst(module, BinaryenLiteralVec128(v128_bytes)), temp); + } abort(); } @@ -60,6 +67,10 @@ BinaryenExpressionRef makeFloat64(BinaryenModuleRef module, double x) { return BinaryenConst(module, BinaryenLiteralFloat64(x)); } +BinaryenExpressionRef makeVec128(BinaryenModuleRef module, uint8_t const *bytes) { + return BinaryenConst(module, BinaryenLiteralVec128(bytes)); +} + BinaryenExpressionRef makeSomething(BinaryenModuleRef module) { return makeInt32(module, 1337); } @@ -68,6 +79,48 @@ BinaryenExpressionRef makeDroppedInt32(BinaryenModuleRef module, int x) { return BinaryenDrop(module, BinaryenConst(module, BinaryenLiteralInt32(x))); } +BinaryenExpressionRef makeSIMDExtract(BinaryenModuleRef module, BinaryenOp op) { + return BinaryenSIMDExtract(module, op, makeVec128(module, v128_bytes), 0); +} + +BinaryenExpressionRef makeSIMDReplace(BinaryenModuleRef module, BinaryenOp op, BinaryenType type) { + BinaryenExpressionRef val; + if (type == BinaryenTypeInt32()) { + val = makeInt32(module, 42); + } + if (type == BinaryenTypeInt64()) { + val = makeInt64(module, 42); + } + if (type == BinaryenTypeFloat32()) { + val = makeFloat32(module, 42.); + } + if (type == BinaryenTypeFloat64()) { + val = makeFloat64(module, 42.); + } + if (!val) { + abort(); + } + return BinaryenSIMDReplace(module, op, makeVec128(module, v128_bytes), 0, val); +} + +BinaryenExpressionRef makeSIMDShuffle(BinaryenModuleRef module) { + BinaryenExpressionRef left = makeVec128(module, v128_bytes); + BinaryenExpressionRef right = makeVec128(module, v128_bytes); + return BinaryenSIMDShuffle(module, left, right, (uint8_t[16]) {}); +} + +BinaryenExpressionRef makeSIMDBitselect(BinaryenModuleRef module) { + BinaryenExpressionRef left = makeVec128(module, v128_bytes); + BinaryenExpressionRef right = makeVec128(module, v128_bytes); + BinaryenExpressionRef cond = makeVec128(module, v128_bytes); + return BinaryenSIMDBitselect(module, left, right, cond); +} + +BinaryenExpressionRef makeSIMDShift(BinaryenModuleRef module, BinaryenOp op) { + BinaryenExpressionRef vec = makeVec128(module, v128_bytes); + return BinaryenSIMDShift(module, op, vec, makeInt32(module, 1)); +} + // tests void test_types() { @@ -94,7 +147,8 @@ void test_core() { constF32 = BinaryenConst(module, BinaryenLiteralFloat32(3.14f)), constF64 = BinaryenConst(module, BinaryenLiteralFloat64(2.1828)), constF32Bits = BinaryenConst(module, BinaryenLiteralFloat32Bits(0xffff1234)), - constF64Bits = BinaryenConst(module, BinaryenLiteralFloat64Bits(0xffff12345678abcdLL)); + constF64Bits = BinaryenConst(module, BinaryenLiteralFloat64Bits(0xffff12345678abcdLL)), + constV128 = BinaryenConst(module, BinaryenLiteralVec128(v128_bytes)); const char* switchValueNames[] = { "the-value" }; const char* switchBodyNames[] = { "the-nothing" }; @@ -160,6 +214,39 @@ void test_core() { makeUnary(module, BinaryenDemoteFloat64(), 4), makeUnary(module, BinaryenReinterpretInt32(), 1), makeUnary(module, BinaryenReinterpretInt64(), 2), + makeUnary(module, BinaryenSplatVecI8x16(), 1), + makeUnary(module, BinaryenSplatVecI16x8(), 1), + makeUnary(module, BinaryenSplatVecI32x4(), 1), + makeUnary(module, BinaryenSplatVecI64x2(), 2), + makeUnary(module, BinaryenSplatVecF32x4(), 3), + makeUnary(module, BinaryenSplatVecF64x2(), 4), + makeUnary(module, BinaryenNotVec128(), 5), + makeUnary(module, BinaryenNegVecI8x16(), 5), + makeUnary(module, BinaryenAnyTrueVecI8x16(), 5), + makeUnary(module, BinaryenAllTrueVecI8x16(), 5), + makeUnary(module, BinaryenNegVecI16x8(), 5), + makeUnary(module, BinaryenAnyTrueVecI16x8(), 5), + makeUnary(module, BinaryenAllTrueVecI16x8(), 5), + makeUnary(module, BinaryenNegVecI32x4(), 5), + makeUnary(module, BinaryenAnyTrueVecI32x4(), 5), + makeUnary(module, BinaryenAllTrueVecI32x4(), 5), + makeUnary(module, BinaryenNegVecI64x2(), 5), + makeUnary(module, BinaryenAnyTrueVecI64x2(), 5), + makeUnary(module, BinaryenAllTrueVecI64x2(), 5), + makeUnary(module, BinaryenAbsVecF32x4(), 5), + makeUnary(module, BinaryenNegVecF32x4(), 5), + makeUnary(module, BinaryenSqrtVecF32x4(), 5), + makeUnary(module, BinaryenAbsVecF64x2(), 5), + makeUnary(module, BinaryenNegVecF64x2(), 5), + makeUnary(module, BinaryenSqrtVecF64x2(), 5), + makeUnary(module, BinaryenTruncSatSVecF32x4ToVecI32x4(), 5), + makeUnary(module, BinaryenTruncSatUVecF32x4ToVecI32x4(), 5), + makeUnary(module, BinaryenTruncSatSVecF64x2ToVecI64x2(), 5), + makeUnary(module, BinaryenTruncSatUVecF64x2ToVecI64x2(), 5), + makeUnary(module, BinaryenConvertSVecI32x4ToVecF32x4(), 5), + makeUnary(module, BinaryenConvertUVecI32x4ToVecF32x4(), 5), + makeUnary(module, BinaryenConvertSVecI64x2ToVecF64x2(), 5), + makeUnary(module, BinaryenConvertUVecI64x2ToVecF64x2(), 5), // Binary makeBinary(module, BinaryenAddInt32(), 1), makeBinary(module, BinaryenSubFloat64(), 4), @@ -193,6 +280,113 @@ void test_core() { makeBinary(module, BinaryenLeFloat64(), 4), makeBinary(module, BinaryenGtFloat64(), 4), makeBinary(module, BinaryenGeFloat32(), 3), + makeBinary(module, BinaryenEqVecI8x16(), 5), + makeBinary(module, BinaryenNeVecI8x16(), 5), + makeBinary(module, BinaryenLtSVecI8x16(), 5), + makeBinary(module, BinaryenLtUVecI8x16(), 5), + makeBinary(module, BinaryenGtSVecI8x16(), 5), + makeBinary(module, BinaryenGtUVecI8x16(), 5), + makeBinary(module, BinaryenLeSVecI8x16(), 5), + makeBinary(module, BinaryenLeUVecI8x16(), 5), + makeBinary(module, BinaryenGeSVecI8x16(), 5), + makeBinary(module, BinaryenGeUVecI8x16(), 5), + makeBinary(module, BinaryenEqVecI16x8(), 5), + makeBinary(module, BinaryenNeVecI16x8(), 5), + makeBinary(module, BinaryenLtSVecI16x8(), 5), + makeBinary(module, BinaryenLtUVecI16x8(), 5), + makeBinary(module, BinaryenGtSVecI16x8(), 5), + makeBinary(module, BinaryenGtUVecI16x8(), 5), + makeBinary(module, BinaryenLeSVecI16x8(), 5), + makeBinary(module, BinaryenLeUVecI16x8(), 5), + makeBinary(module, BinaryenGeSVecI16x8(), 5), + makeBinary(module, BinaryenGeUVecI16x8(), 5), + makeBinary(module, BinaryenEqVecI32x4(), 5), + makeBinary(module, BinaryenNeVecI32x4(), 5), + makeBinary(module, BinaryenLtSVecI32x4(), 5), + makeBinary(module, BinaryenLtUVecI32x4(), 5), + makeBinary(module, BinaryenGtSVecI32x4(), 5), + makeBinary(module, BinaryenGtUVecI32x4(), 5), + makeBinary(module, BinaryenLeSVecI32x4(), 5), + makeBinary(module, BinaryenLeUVecI32x4(), 5), + makeBinary(module, BinaryenGeSVecI32x4(), 5), + makeBinary(module, BinaryenGeUVecI32x4(), 5), + makeBinary(module, BinaryenEqVecF32x4(), 5), + makeBinary(module, BinaryenNeVecF32x4(), 5), + makeBinary(module, BinaryenLtVecF32x4(), 5), + makeBinary(module, BinaryenGtVecF32x4(), 5), + makeBinary(module, BinaryenLeVecF32x4(), 5), + makeBinary(module, BinaryenGeVecF32x4(), 5), + makeBinary(module, BinaryenEqVecF64x2(), 5), + makeBinary(module, BinaryenNeVecF64x2(), 5), + makeBinary(module, BinaryenLtVecF64x2(), 5), + makeBinary(module, BinaryenGtVecF64x2(), 5), + makeBinary(module, BinaryenLeVecF64x2(), 5), + makeBinary(module, BinaryenGeVecF64x2(), 5), + makeBinary(module, BinaryenAndVec128(), 5), + makeBinary(module, BinaryenOrVec128(), 5), + makeBinary(module, BinaryenXorVec128(), 5), + makeBinary(module, BinaryenAddVecI8x16(), 5), + makeBinary(module, BinaryenAddSatSVecI8x16(), 5), + makeBinary(module, BinaryenAddSatUVecI8x16(), 5), + makeBinary(module, BinaryenSubVecI8x16(), 5), + makeBinary(module, BinaryenSubSatSVecI8x16(), 5), + makeBinary(module, BinaryenSubSatUVecI8x16(), 5), + makeBinary(module, BinaryenMulVecI8x16(), 5), + makeBinary(module, BinaryenAddVecI16x8(), 5), + makeBinary(module, BinaryenAddSatSVecI16x8(), 5), + makeBinary(module, BinaryenAddSatUVecI16x8(), 5), + makeBinary(module, BinaryenSubVecI16x8(), 5), + makeBinary(module, BinaryenSubSatSVecI16x8(), 5), + makeBinary(module, BinaryenSubSatUVecI16x8(), 5), + makeBinary(module, BinaryenMulVecI16x8(), 5), + makeBinary(module, BinaryenAddVecI32x4(), 5), + makeBinary(module, BinaryenSubVecI32x4(), 5), + makeBinary(module, BinaryenMulVecI32x4(), 5), + makeBinary(module, BinaryenAddVecI64x2(), 5), + makeBinary(module, BinaryenSubVecI64x2(), 5), + makeBinary(module, BinaryenAddVecF32x4(), 5), + makeBinary(module, BinaryenSubVecF32x4(), 5), + makeBinary(module, BinaryenMulVecF32x4(), 5), + makeBinary(module, BinaryenDivVecF32x4(), 5), + makeBinary(module, BinaryenMinVecF32x4(), 5), + makeBinary(module, BinaryenMaxVecF32x4(), 5), + makeBinary(module, BinaryenAddVecF64x2(), 5), + makeBinary(module, BinaryenSubVecF64x2(), 5), + makeBinary(module, BinaryenMulVecF64x2(), 5), + makeBinary(module, BinaryenDivVecF64x2(), 5), + makeBinary(module, BinaryenMinVecF64x2(), 5), + makeBinary(module, BinaryenMaxVecF64x2(), 5), + // SIMD lane manipulation + makeSIMDExtract(module, BinaryenExtractLaneSVecI8x16()), + makeSIMDExtract(module, BinaryenExtractLaneUVecI8x16()), + makeSIMDExtract(module, BinaryenExtractLaneSVecI16x8()), + makeSIMDExtract(module, BinaryenExtractLaneUVecI16x8()), + makeSIMDExtract(module, BinaryenExtractLaneVecI32x4()), + makeSIMDExtract(module, BinaryenExtractLaneVecI64x2()), + makeSIMDExtract(module, BinaryenExtractLaneVecF32x4()), + makeSIMDExtract(module, BinaryenExtractLaneVecF64x2()), + makeSIMDReplace(module, BinaryenReplaceLaneVecI8x16(), 1), + makeSIMDReplace(module, BinaryenReplaceLaneVecI16x8(), 1), + makeSIMDReplace(module, BinaryenReplaceLaneVecI32x4(), 1), + makeSIMDReplace(module, BinaryenReplaceLaneVecI64x2(), 2), + makeSIMDReplace(module, BinaryenReplaceLaneVecF32x4(), 3), + makeSIMDReplace(module, BinaryenReplaceLaneVecF64x2(), 4), + // SIMD shift + makeSIMDShift(module, BinaryenShlVecI8x16()), + makeSIMDShift(module, BinaryenShrSVecI8x16()), + makeSIMDShift(module, BinaryenShrUVecI8x16()), + makeSIMDShift(module, BinaryenShlVecI16x8()), + makeSIMDShift(module, BinaryenShrSVecI16x8()), + makeSIMDShift(module, BinaryenShrUVecI16x8()), + makeSIMDShift(module, BinaryenShlVecI32x4()), + makeSIMDShift(module, BinaryenShrSVecI32x4()), + makeSIMDShift(module, BinaryenShrUVecI32x4()), + makeSIMDShift(module, BinaryenShlVecI64x2()), + makeSIMDShift(module, BinaryenShrSVecI64x2()), + makeSIMDShift(module, BinaryenShrUVecI64x2()), + // Other SIMD + makeSIMDShuffle(module), + makeSIMDBitselect(module), // All the rest BinaryenBlock(module, NULL, NULL, 0, -1), // block with no name and no type BinaryenIf(module, temp1, temp2, temp3), diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index 600efb4dd..8b716f1b3 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -251,6 +251,171 @@ BinaryenTypeAuto: -1 ) ) (drop + (i8x16.splat + (i32.const -10) + ) + ) + (drop + (i16x8.splat + (i32.const -10) + ) + ) + (drop + (i32x4.splat + (i32.const -10) + ) + ) + (drop + (i64x2.splat + (i64.const -22) + ) + ) + (drop + (f32x4.splat + (f32.const -33.61199951171875) + ) + ) + (drop + (f64x2.splat + (f64.const -9005.841) + ) + ) + (drop + (v128.not + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_s/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_u/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_s/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_u/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_s/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_u/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_s/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_u/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop (i32.add (i32.const -10) (i32.const -11) @@ -442,6 +607,623 @@ BinaryenTypeAuto: -1 (f32.const -62.5) ) ) + (drop + (i8x16.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.and + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.or + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.xor + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_s 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_u 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_s 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_u 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i16x8.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i32x4.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i64x2.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i64.const 42) + ) + ) + (drop + (f32x4.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f32.const 42) + ) + ) + (drop + (f64x2.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f64.const 42) + ) + ) + (drop + (i8x16.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (v8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.bitselect + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) (block ) (if @@ -1111,327 +1893,1358 @@ int main() { expressions[4] = BinaryenConst(the_module, BinaryenLiteralFloat64(2.1828)); expressions[5] = BinaryenConst(the_module, BinaryenLiteralFloat32(NAN)); expressions[6] = BinaryenConst(the_module, BinaryenLiteralFloat64(NAN)); - expressions[7] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[8] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); - expressions[9] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[10] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); - expressions[11] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); - expressions[12] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); - expressions[13] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[14] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); - expressions[15] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); - expressions[16] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + { + uint8_t t0[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[7] = BinaryenConst(the_module, BinaryenLiteralVec128(t0)); + } + expressions[8] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); + expressions[9] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + expressions[10] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); + expressions[11] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); + expressions[12] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); + expressions[13] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + expressions[14] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); + expressions[15] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); + expressions[16] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); + expressions[17] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); { BinaryenType paramTypes[] = { 1, 2, 3, 4 }; functionTypes[0] = BinaryenAddFunctionType(the_module, "iiIfF", 1, paramTypes, 4); } - expressions[17] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[18] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[19] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); - expressions[20] = BinaryenConst(the_module, BinaryenLiteralInt32(4)); - expressions[21] = BinaryenConst(the_module, BinaryenLiteralInt32(5)); - expressions[22] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[23] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[24] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[25] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[18] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[19] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[20] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); + expressions[21] = BinaryenConst(the_module, BinaryenLiteralInt32(4)); + expressions[22] = BinaryenConst(the_module, BinaryenLiteralInt32(5)); + expressions[23] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[24] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[25] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); expressions[26] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[27] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); - expressions[28] = BinaryenConst(the_module, BinaryenLiteralInt32(5)); - expressions[29] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); - expressions[30] = BinaryenConst(the_module, BinaryenLiteralInt32(11)); - expressions[31] = BinaryenConst(the_module, BinaryenLiteralInt32(110)); - expressions[32] = BinaryenConst(the_module, BinaryenLiteralInt64(111)); - expressions[33] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[34] = BinaryenUnary(the_module, 0, expressions[33]); - expressions[35] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[36] = BinaryenUnary(the_module, 3, expressions[35]); - expressions[37] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[38] = BinaryenUnary(the_module, 4, expressions[37]); - expressions[39] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[40] = BinaryenUnary(the_module, 6, expressions[39]); - expressions[41] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[42] = BinaryenUnary(the_module, 9, expressions[41]); - expressions[43] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[44] = BinaryenUnary(the_module, 10, expressions[43]); - expressions[45] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[46] = BinaryenUnary(the_module, 13, expressions[45]); - expressions[47] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[48] = BinaryenUnary(the_module, 14, expressions[47]); - expressions[49] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[50] = BinaryenUnary(the_module, 16, expressions[49]); - expressions[51] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[52] = BinaryenUnary(the_module, 19, expressions[51]); - expressions[53] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[54] = BinaryenUnary(the_module, 20, expressions[53]); - expressions[55] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[56] = BinaryenUnary(the_module, 22, expressions[55]); - expressions[57] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[58] = BinaryenUnary(the_module, 23, expressions[57]); - expressions[59] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[60] = BinaryenUnary(the_module, 24, expressions[59]); - expressions[61] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[62] = BinaryenUnary(the_module, 25, expressions[61]); - expressions[63] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[64] = BinaryenUnary(the_module, 26, expressions[63]); - expressions[65] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[66] = BinaryenUnary(the_module, 27, expressions[65]); - expressions[67] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[68] = BinaryenUnary(the_module, 28, expressions[67]); - expressions[69] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[70] = BinaryenUnary(the_module, 29, expressions[69]); - expressions[71] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[72] = BinaryenUnary(the_module, 30, expressions[71]); - expressions[73] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[74] = BinaryenUnary(the_module, 31, expressions[73]); - expressions[75] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[76] = BinaryenUnary(the_module, 32, expressions[75]); - expressions[77] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[78] = BinaryenUnary(the_module, 52, expressions[77]); - expressions[79] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[80] = BinaryenUnary(the_module, 56, expressions[79]); - expressions[81] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[82] = BinaryenUnary(the_module, 53, expressions[81]); - expressions[83] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[84] = BinaryenUnary(the_module, 57, expressions[83]); - expressions[85] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[86] = BinaryenUnary(the_module, 54, expressions[85]); - expressions[87] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[88] = BinaryenUnary(the_module, 58, expressions[87]); - expressions[89] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[90] = BinaryenUnary(the_module, 55, expressions[89]); - expressions[91] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[92] = BinaryenUnary(the_module, 59, expressions[91]); - expressions[93] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[94] = BinaryenUnary(the_module, 33, expressions[93]); - expressions[95] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[96] = BinaryenUnary(the_module, 34, expressions[95]); - expressions[97] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[98] = BinaryenUnary(the_module, 35, expressions[97]); - expressions[99] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[100] = BinaryenUnary(the_module, 36, expressions[99]); - expressions[101] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[102] = BinaryenUnary(the_module, 37, expressions[101]); - expressions[103] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[104] = BinaryenUnary(the_module, 38, expressions[103]); - expressions[105] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[106] = BinaryenUnary(the_module, 39, expressions[105]); - expressions[107] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[108] = BinaryenUnary(the_module, 40, expressions[107]); - expressions[109] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[110] = BinaryenUnary(the_module, 41, expressions[109]); - expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[112] = BinaryenUnary(the_module, 42, expressions[111]); - expressions[113] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[114] = BinaryenUnary(the_module, 43, expressions[113]); - expressions[115] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[116] = BinaryenUnary(the_module, 44, expressions[115]); - expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[118] = BinaryenUnary(the_module, 45, expressions[117]); - expressions[119] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[120] = BinaryenUnary(the_module, 46, expressions[119]); - expressions[121] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[27] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[28] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); + expressions[29] = BinaryenConst(the_module, BinaryenLiteralInt32(5)); + expressions[30] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); + expressions[31] = BinaryenConst(the_module, BinaryenLiteralInt32(11)); + expressions[32] = BinaryenConst(the_module, BinaryenLiteralInt32(110)); + expressions[33] = BinaryenConst(the_module, BinaryenLiteralInt64(111)); + expressions[34] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[35] = BinaryenUnary(the_module, 0, expressions[34]); + expressions[36] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[37] = BinaryenUnary(the_module, 3, expressions[36]); + expressions[38] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[39] = BinaryenUnary(the_module, 4, expressions[38]); + expressions[40] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[41] = BinaryenUnary(the_module, 6, expressions[40]); + expressions[42] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[43] = BinaryenUnary(the_module, 9, expressions[42]); + expressions[44] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[45] = BinaryenUnary(the_module, 10, expressions[44]); + expressions[46] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[47] = BinaryenUnary(the_module, 13, expressions[46]); + expressions[48] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[49] = BinaryenUnary(the_module, 14, expressions[48]); + expressions[50] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[51] = BinaryenUnary(the_module, 16, expressions[50]); + expressions[52] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[53] = BinaryenUnary(the_module, 19, expressions[52]); + expressions[54] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[55] = BinaryenUnary(the_module, 20, expressions[54]); + expressions[56] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[57] = BinaryenUnary(the_module, 22, expressions[56]); + expressions[58] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[59] = BinaryenUnary(the_module, 23, expressions[58]); + expressions[60] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[61] = BinaryenUnary(the_module, 24, expressions[60]); + expressions[62] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[63] = BinaryenUnary(the_module, 25, expressions[62]); + expressions[64] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[65] = BinaryenUnary(the_module, 26, expressions[64]); + expressions[66] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[67] = BinaryenUnary(the_module, 27, expressions[66]); + expressions[68] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[69] = BinaryenUnary(the_module, 28, expressions[68]); + expressions[70] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[71] = BinaryenUnary(the_module, 29, expressions[70]); + expressions[72] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[73] = BinaryenUnary(the_module, 30, expressions[72]); + expressions[74] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[75] = BinaryenUnary(the_module, 31, expressions[74]); + expressions[76] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[77] = BinaryenUnary(the_module, 32, expressions[76]); + expressions[78] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[79] = BinaryenUnary(the_module, 52, expressions[78]); + expressions[80] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[81] = BinaryenUnary(the_module, 56, expressions[80]); + expressions[82] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[83] = BinaryenUnary(the_module, 53, expressions[82]); + expressions[84] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[85] = BinaryenUnary(the_module, 57, expressions[84]); + expressions[86] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[87] = BinaryenUnary(the_module, 54, expressions[86]); + expressions[88] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[89] = BinaryenUnary(the_module, 58, expressions[88]); + expressions[90] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[91] = BinaryenUnary(the_module, 55, expressions[90]); + expressions[92] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[93] = BinaryenUnary(the_module, 59, expressions[92]); + expressions[94] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[95] = BinaryenUnary(the_module, 33, expressions[94]); + expressions[96] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[97] = BinaryenUnary(the_module, 34, expressions[96]); + expressions[98] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[99] = BinaryenUnary(the_module, 35, expressions[98]); + expressions[100] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[101] = BinaryenUnary(the_module, 36, expressions[100]); + expressions[102] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[103] = BinaryenUnary(the_module, 37, expressions[102]); + expressions[104] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[105] = BinaryenUnary(the_module, 38, expressions[104]); + expressions[106] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[107] = BinaryenUnary(the_module, 39, expressions[106]); + expressions[108] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[109] = BinaryenUnary(the_module, 40, expressions[108]); + expressions[110] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[111] = BinaryenUnary(the_module, 41, expressions[110]); + expressions[112] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[113] = BinaryenUnary(the_module, 42, expressions[112]); + expressions[114] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[115] = BinaryenUnary(the_module, 43, expressions[114]); + expressions[116] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[117] = BinaryenUnary(the_module, 44, expressions[116]); + expressions[118] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[119] = BinaryenUnary(the_module, 45, expressions[118]); + expressions[120] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[121] = BinaryenUnary(the_module, 46, expressions[120]); expressions[122] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[123] = BinaryenBinary(the_module, 0, expressions[122], expressions[121]); - expressions[124] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[125] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[126] = BinaryenBinary(the_module, 64, expressions[125], expressions[124]); - expressions[127] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[128] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[129] = BinaryenBinary(the_module, 3, expressions[128], expressions[127]); - expressions[130] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[131] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[132] = BinaryenBinary(the_module, 29, expressions[131], expressions[130]); - expressions[133] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[134] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[135] = BinaryenBinary(the_module, 30, expressions[134], expressions[133]); - expressions[136] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[137] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[138] = BinaryenBinary(the_module, 6, expressions[137], expressions[136]); - expressions[139] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[140] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[141] = BinaryenBinary(the_module, 7, expressions[140], expressions[139]); - expressions[142] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[143] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[144] = BinaryenBinary(the_module, 33, expressions[143], expressions[142]); - expressions[145] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[146] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[147] = BinaryenBinary(the_module, 9, expressions[146], expressions[145]); - expressions[148] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[149] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[150] = BinaryenBinary(the_module, 35, expressions[149], expressions[148]); - expressions[151] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[152] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[153] = BinaryenBinary(the_module, 36, expressions[152], expressions[151]); - expressions[154] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[155] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[156] = BinaryenBinary(the_module, 12, expressions[155], expressions[154]); - expressions[157] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[158] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[159] = BinaryenBinary(the_module, 13, expressions[158], expressions[157]); - expressions[160] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[161] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[162] = BinaryenBinary(the_module, 39, expressions[161], expressions[160]); - expressions[163] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[164] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[165] = BinaryenBinary(the_module, 53, expressions[164], expressions[163]); - expressions[166] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[167] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[168] = BinaryenBinary(the_module, 67, expressions[167], expressions[166]); - expressions[169] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[170] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[171] = BinaryenBinary(the_module, 55, expressions[170], expressions[169]); - expressions[172] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[173] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[174] = BinaryenBinary(the_module, 69, expressions[173], expressions[172]); - expressions[175] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[176] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[177] = BinaryenBinary(the_module, 15, expressions[176], expressions[175]); - expressions[178] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[179] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[180] = BinaryenBinary(the_module, 58, expressions[179], expressions[178]); - expressions[181] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[182] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[183] = BinaryenBinary(the_module, 17, expressions[182], expressions[181]); - expressions[184] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[185] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[186] = BinaryenBinary(the_module, 43, expressions[185], expressions[184]); - expressions[187] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[188] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[189] = BinaryenBinary(the_module, 44, expressions[188], expressions[187]); - expressions[190] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[191] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[192] = BinaryenBinary(the_module, 20, expressions[191], expressions[190]); - expressions[193] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[194] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[195] = BinaryenBinary(the_module, 46, expressions[194], expressions[193]); - expressions[196] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[197] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[198] = BinaryenBinary(the_module, 22, expressions[197], expressions[196]); - expressions[199] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[200] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[201] = BinaryenBinary(the_module, 23, expressions[200], expressions[199]); - expressions[202] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[203] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[204] = BinaryenBinary(the_module, 49, expressions[203], expressions[202]); - expressions[205] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[206] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[207] = BinaryenBinary(the_module, 59, expressions[206], expressions[205]); - expressions[208] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[209] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[210] = BinaryenBinary(the_module, 73, expressions[209], expressions[208]); - expressions[211] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[212] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[213] = BinaryenBinary(the_module, 74, expressions[212], expressions[211]); - expressions[214] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[215] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[216] = BinaryenBinary(the_module, 62, expressions[215], expressions[214]); + expressions[123] = BinaryenUnary(the_module, 60, expressions[122]); + expressions[124] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[125] = BinaryenUnary(the_module, 61, expressions[124]); + expressions[126] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[127] = BinaryenUnary(the_module, 62, expressions[126]); + expressions[128] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[129] = BinaryenUnary(the_module, 63, expressions[128]); + expressions[130] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[131] = BinaryenUnary(the_module, 64, expressions[130]); + expressions[132] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[133] = BinaryenUnary(the_module, 65, expressions[132]); + { + uint8_t t1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[134] = BinaryenConst(the_module, BinaryenLiteralVec128(t1)); + } + expressions[135] = BinaryenUnary(the_module, 66, expressions[134]); + { + uint8_t t2[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[136] = BinaryenConst(the_module, BinaryenLiteralVec128(t2)); + } + expressions[137] = BinaryenUnary(the_module, 67, expressions[136]); + { + uint8_t t3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[138] = BinaryenConst(the_module, BinaryenLiteralVec128(t3)); + } + expressions[139] = BinaryenUnary(the_module, 68, expressions[138]); + { + uint8_t t4[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[140] = BinaryenConst(the_module, BinaryenLiteralVec128(t4)); + } + expressions[141] = BinaryenUnary(the_module, 69, expressions[140]); + { + uint8_t t5[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[142] = BinaryenConst(the_module, BinaryenLiteralVec128(t5)); + } + expressions[143] = BinaryenUnary(the_module, 70, expressions[142]); + { + uint8_t t6[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[144] = BinaryenConst(the_module, BinaryenLiteralVec128(t6)); + } + expressions[145] = BinaryenUnary(the_module, 71, expressions[144]); + { + uint8_t t7[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[146] = BinaryenConst(the_module, BinaryenLiteralVec128(t7)); + } + expressions[147] = BinaryenUnary(the_module, 72, expressions[146]); + { + uint8_t t8[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[148] = BinaryenConst(the_module, BinaryenLiteralVec128(t8)); + } + expressions[149] = BinaryenUnary(the_module, 73, expressions[148]); + { + uint8_t t9[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[150] = BinaryenConst(the_module, BinaryenLiteralVec128(t9)); + } + expressions[151] = BinaryenUnary(the_module, 74, expressions[150]); + { + uint8_t t10[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[152] = BinaryenConst(the_module, BinaryenLiteralVec128(t10)); + } + expressions[153] = BinaryenUnary(the_module, 75, expressions[152]); + { + uint8_t t11[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[154] = BinaryenConst(the_module, BinaryenLiteralVec128(t11)); + } + expressions[155] = BinaryenUnary(the_module, 76, expressions[154]); + { + uint8_t t12[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[156] = BinaryenConst(the_module, BinaryenLiteralVec128(t12)); + } + expressions[157] = BinaryenUnary(the_module, 77, expressions[156]); + { + uint8_t t13[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[158] = BinaryenConst(the_module, BinaryenLiteralVec128(t13)); + } + expressions[159] = BinaryenUnary(the_module, 78, expressions[158]); + { + uint8_t t14[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[160] = BinaryenConst(the_module, BinaryenLiteralVec128(t14)); + } + expressions[161] = BinaryenUnary(the_module, 79, expressions[160]); + { + uint8_t t15[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[162] = BinaryenConst(the_module, BinaryenLiteralVec128(t15)); + } + expressions[163] = BinaryenUnary(the_module, 80, expressions[162]); + { + uint8_t t16[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[164] = BinaryenConst(the_module, BinaryenLiteralVec128(t16)); + } + expressions[165] = BinaryenUnary(the_module, 81, expressions[164]); + { + uint8_t t17[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[166] = BinaryenConst(the_module, BinaryenLiteralVec128(t17)); + } + expressions[167] = BinaryenUnary(the_module, 82, expressions[166]); + { + uint8_t t18[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[168] = BinaryenConst(the_module, BinaryenLiteralVec128(t18)); + } + expressions[169] = BinaryenUnary(the_module, 83, expressions[168]); + { + uint8_t t19[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[170] = BinaryenConst(the_module, BinaryenLiteralVec128(t19)); + } + expressions[171] = BinaryenUnary(the_module, 84, expressions[170]); + { + uint8_t t20[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[172] = BinaryenConst(the_module, BinaryenLiteralVec128(t20)); + } + expressions[173] = BinaryenUnary(the_module, 85, expressions[172]); + { + uint8_t t21[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[174] = BinaryenConst(the_module, BinaryenLiteralVec128(t21)); + } + expressions[175] = BinaryenUnary(the_module, 86, expressions[174]); + { + uint8_t t22[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[176] = BinaryenConst(the_module, BinaryenLiteralVec128(t22)); + } + expressions[177] = BinaryenUnary(the_module, 87, expressions[176]); + { + uint8_t t23[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[178] = BinaryenConst(the_module, BinaryenLiteralVec128(t23)); + } + expressions[179] = BinaryenUnary(the_module, 88, expressions[178]); + { + uint8_t t24[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[180] = BinaryenConst(the_module, BinaryenLiteralVec128(t24)); + } + expressions[181] = BinaryenUnary(the_module, 89, expressions[180]); + { + uint8_t t25[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[182] = BinaryenConst(the_module, BinaryenLiteralVec128(t25)); + } + expressions[183] = BinaryenUnary(the_module, 90, expressions[182]); + { + uint8_t t26[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[184] = BinaryenConst(the_module, BinaryenLiteralVec128(t26)); + } + expressions[185] = BinaryenUnary(the_module, 91, expressions[184]); + { + uint8_t t27[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[186] = BinaryenConst(the_module, BinaryenLiteralVec128(t27)); + } + expressions[187] = BinaryenUnary(the_module, 92, expressions[186]); + expressions[188] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[189] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[190] = BinaryenBinary(the_module, 0, expressions[189], expressions[188]); + expressions[191] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[192] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[193] = BinaryenBinary(the_module, 64, expressions[192], expressions[191]); + expressions[194] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[195] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[196] = BinaryenBinary(the_module, 3, expressions[195], expressions[194]); + expressions[197] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[198] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[199] = BinaryenBinary(the_module, 29, expressions[198], expressions[197]); + expressions[200] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[201] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[202] = BinaryenBinary(the_module, 30, expressions[201], expressions[200]); + expressions[203] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[204] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[205] = BinaryenBinary(the_module, 6, expressions[204], expressions[203]); + expressions[206] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[207] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[208] = BinaryenBinary(the_module, 7, expressions[207], expressions[206]); + expressions[209] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[210] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[211] = BinaryenBinary(the_module, 33, expressions[210], expressions[209]); + expressions[212] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[213] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[214] = BinaryenBinary(the_module, 9, expressions[213], expressions[212]); + expressions[215] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[216] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[217] = BinaryenBinary(the_module, 35, expressions[216], expressions[215]); + expressions[218] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[219] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[220] = BinaryenBinary(the_module, 36, expressions[219], expressions[218]); + expressions[221] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[222] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[223] = BinaryenBinary(the_module, 12, expressions[222], expressions[221]); + expressions[224] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[225] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[226] = BinaryenBinary(the_module, 13, expressions[225], expressions[224]); + expressions[227] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[228] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[229] = BinaryenBinary(the_module, 39, expressions[228], expressions[227]); + expressions[230] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[231] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[232] = BinaryenBinary(the_module, 53, expressions[231], expressions[230]); + expressions[233] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[234] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[235] = BinaryenBinary(the_module, 67, expressions[234], expressions[233]); + expressions[236] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[237] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[238] = BinaryenBinary(the_module, 55, expressions[237], expressions[236]); + expressions[239] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[240] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[241] = BinaryenBinary(the_module, 69, expressions[240], expressions[239]); + expressions[242] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[243] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[244] = BinaryenBinary(the_module, 15, expressions[243], expressions[242]); + expressions[245] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[246] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[247] = BinaryenBinary(the_module, 58, expressions[246], expressions[245]); + expressions[248] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[249] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[250] = BinaryenBinary(the_module, 17, expressions[249], expressions[248]); + expressions[251] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[252] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[253] = BinaryenBinary(the_module, 43, expressions[252], expressions[251]); + expressions[254] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[255] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[256] = BinaryenBinary(the_module, 44, expressions[255], expressions[254]); + expressions[257] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[258] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[259] = BinaryenBinary(the_module, 20, expressions[258], expressions[257]); + expressions[260] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[261] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[262] = BinaryenBinary(the_module, 46, expressions[261], expressions[260]); + expressions[263] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[264] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[265] = BinaryenBinary(the_module, 22, expressions[264], expressions[263]); + expressions[266] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[267] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[268] = BinaryenBinary(the_module, 23, expressions[267], expressions[266]); + expressions[269] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[270] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[271] = BinaryenBinary(the_module, 49, expressions[270], expressions[269]); + expressions[272] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[273] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[274] = BinaryenBinary(the_module, 59, expressions[273], expressions[272]); + expressions[275] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[276] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[277] = BinaryenBinary(the_module, 73, expressions[276], expressions[275]); + expressions[278] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[279] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[280] = BinaryenBinary(the_module, 74, expressions[279], expressions[278]); + expressions[281] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[282] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[283] = BinaryenBinary(the_module, 62, expressions[282], expressions[281]); + { + uint8_t t28[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[284] = BinaryenConst(the_module, BinaryenLiteralVec128(t28)); + } + { + uint8_t t29[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[285] = BinaryenConst(the_module, BinaryenLiteralVec128(t29)); + } + expressions[286] = BinaryenBinary(the_module, 76, expressions[285], expressions[284]); + { + uint8_t t30[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[287] = BinaryenConst(the_module, BinaryenLiteralVec128(t30)); + } + { + uint8_t t31[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[288] = BinaryenConst(the_module, BinaryenLiteralVec128(t31)); + } + expressions[289] = BinaryenBinary(the_module, 77, expressions[288], expressions[287]); + { + uint8_t t32[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[290] = BinaryenConst(the_module, BinaryenLiteralVec128(t32)); + } + { + uint8_t t33[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[291] = BinaryenConst(the_module, BinaryenLiteralVec128(t33)); + } + expressions[292] = BinaryenBinary(the_module, 78, expressions[291], expressions[290]); + { + uint8_t t34[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[293] = BinaryenConst(the_module, BinaryenLiteralVec128(t34)); + } + { + uint8_t t35[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[294] = BinaryenConst(the_module, BinaryenLiteralVec128(t35)); + } + expressions[295] = BinaryenBinary(the_module, 79, expressions[294], expressions[293]); + { + uint8_t t36[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[296] = BinaryenConst(the_module, BinaryenLiteralVec128(t36)); + } + { + uint8_t t37[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[297] = BinaryenConst(the_module, BinaryenLiteralVec128(t37)); + } + expressions[298] = BinaryenBinary(the_module, 80, expressions[297], expressions[296]); + { + uint8_t t38[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[299] = BinaryenConst(the_module, BinaryenLiteralVec128(t38)); + } + { + uint8_t t39[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[300] = BinaryenConst(the_module, BinaryenLiteralVec128(t39)); + } + expressions[301] = BinaryenBinary(the_module, 81, expressions[300], expressions[299]); + { + uint8_t t40[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[302] = BinaryenConst(the_module, BinaryenLiteralVec128(t40)); + } + { + uint8_t t41[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[303] = BinaryenConst(the_module, BinaryenLiteralVec128(t41)); + } + expressions[304] = BinaryenBinary(the_module, 82, expressions[303], expressions[302]); + { + uint8_t t42[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[305] = BinaryenConst(the_module, BinaryenLiteralVec128(t42)); + } + { + uint8_t t43[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[306] = BinaryenConst(the_module, BinaryenLiteralVec128(t43)); + } + expressions[307] = BinaryenBinary(the_module, 83, expressions[306], expressions[305]); + { + uint8_t t44[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[308] = BinaryenConst(the_module, BinaryenLiteralVec128(t44)); + } + { + uint8_t t45[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[309] = BinaryenConst(the_module, BinaryenLiteralVec128(t45)); + } + expressions[310] = BinaryenBinary(the_module, 84, expressions[309], expressions[308]); + { + uint8_t t46[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[311] = BinaryenConst(the_module, BinaryenLiteralVec128(t46)); + } + { + uint8_t t47[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[312] = BinaryenConst(the_module, BinaryenLiteralVec128(t47)); + } + expressions[313] = BinaryenBinary(the_module, 85, expressions[312], expressions[311]); + { + uint8_t t48[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[314] = BinaryenConst(the_module, BinaryenLiteralVec128(t48)); + } + { + uint8_t t49[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[315] = BinaryenConst(the_module, BinaryenLiteralVec128(t49)); + } + expressions[316] = BinaryenBinary(the_module, 86, expressions[315], expressions[314]); + { + uint8_t t50[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[317] = BinaryenConst(the_module, BinaryenLiteralVec128(t50)); + } + { + uint8_t t51[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[318] = BinaryenConst(the_module, BinaryenLiteralVec128(t51)); + } + expressions[319] = BinaryenBinary(the_module, 87, expressions[318], expressions[317]); + { + uint8_t t52[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[320] = BinaryenConst(the_module, BinaryenLiteralVec128(t52)); + } + { + uint8_t t53[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[321] = BinaryenConst(the_module, BinaryenLiteralVec128(t53)); + } + expressions[322] = BinaryenBinary(the_module, 88, expressions[321], expressions[320]); + { + uint8_t t54[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[323] = BinaryenConst(the_module, BinaryenLiteralVec128(t54)); + } + { + uint8_t t55[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[324] = BinaryenConst(the_module, BinaryenLiteralVec128(t55)); + } + expressions[325] = BinaryenBinary(the_module, 89, expressions[324], expressions[323]); + { + uint8_t t56[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[326] = BinaryenConst(the_module, BinaryenLiteralVec128(t56)); + } + { + uint8_t t57[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[327] = BinaryenConst(the_module, BinaryenLiteralVec128(t57)); + } + expressions[328] = BinaryenBinary(the_module, 90, expressions[327], expressions[326]); + { + uint8_t t58[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[329] = BinaryenConst(the_module, BinaryenLiteralVec128(t58)); + } + { + uint8_t t59[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[330] = BinaryenConst(the_module, BinaryenLiteralVec128(t59)); + } + expressions[331] = BinaryenBinary(the_module, 91, expressions[330], expressions[329]); + { + uint8_t t60[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[332] = BinaryenConst(the_module, BinaryenLiteralVec128(t60)); + } + { + uint8_t t61[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[333] = BinaryenConst(the_module, BinaryenLiteralVec128(t61)); + } + expressions[334] = BinaryenBinary(the_module, 92, expressions[333], expressions[332]); + { + uint8_t t62[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[335] = BinaryenConst(the_module, BinaryenLiteralVec128(t62)); + } + { + uint8_t t63[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[336] = BinaryenConst(the_module, BinaryenLiteralVec128(t63)); + } + expressions[337] = BinaryenBinary(the_module, 93, expressions[336], expressions[335]); + { + uint8_t t64[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[338] = BinaryenConst(the_module, BinaryenLiteralVec128(t64)); + } + { + uint8_t t65[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[339] = BinaryenConst(the_module, BinaryenLiteralVec128(t65)); + } + expressions[340] = BinaryenBinary(the_module, 94, expressions[339], expressions[338]); + { + uint8_t t66[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[341] = BinaryenConst(the_module, BinaryenLiteralVec128(t66)); + } + { + uint8_t t67[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[342] = BinaryenConst(the_module, BinaryenLiteralVec128(t67)); + } + expressions[343] = BinaryenBinary(the_module, 95, expressions[342], expressions[341]); + { + uint8_t t68[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[344] = BinaryenConst(the_module, BinaryenLiteralVec128(t68)); + } + { + uint8_t t69[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[345] = BinaryenConst(the_module, BinaryenLiteralVec128(t69)); + } + expressions[346] = BinaryenBinary(the_module, 96, expressions[345], expressions[344]); + { + uint8_t t70[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[347] = BinaryenConst(the_module, BinaryenLiteralVec128(t70)); + } + { + uint8_t t71[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[348] = BinaryenConst(the_module, BinaryenLiteralVec128(t71)); + } + expressions[349] = BinaryenBinary(the_module, 97, expressions[348], expressions[347]); + { + uint8_t t72[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[350] = BinaryenConst(the_module, BinaryenLiteralVec128(t72)); + } + { + uint8_t t73[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[351] = BinaryenConst(the_module, BinaryenLiteralVec128(t73)); + } + expressions[352] = BinaryenBinary(the_module, 98, expressions[351], expressions[350]); + { + uint8_t t74[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[353] = BinaryenConst(the_module, BinaryenLiteralVec128(t74)); + } + { + uint8_t t75[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[354] = BinaryenConst(the_module, BinaryenLiteralVec128(t75)); + } + expressions[355] = BinaryenBinary(the_module, 99, expressions[354], expressions[353]); + { + uint8_t t76[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[356] = BinaryenConst(the_module, BinaryenLiteralVec128(t76)); + } + { + uint8_t t77[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[357] = BinaryenConst(the_module, BinaryenLiteralVec128(t77)); + } + expressions[358] = BinaryenBinary(the_module, 100, expressions[357], expressions[356]); + { + uint8_t t78[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[359] = BinaryenConst(the_module, BinaryenLiteralVec128(t78)); + } + { + uint8_t t79[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[360] = BinaryenConst(the_module, BinaryenLiteralVec128(t79)); + } + expressions[361] = BinaryenBinary(the_module, 101, expressions[360], expressions[359]); + { + uint8_t t80[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[362] = BinaryenConst(the_module, BinaryenLiteralVec128(t80)); + } + { + uint8_t t81[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[363] = BinaryenConst(the_module, BinaryenLiteralVec128(t81)); + } + expressions[364] = BinaryenBinary(the_module, 102, expressions[363], expressions[362]); + { + uint8_t t82[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[365] = BinaryenConst(the_module, BinaryenLiteralVec128(t82)); + } + { + uint8_t t83[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[366] = BinaryenConst(the_module, BinaryenLiteralVec128(t83)); + } + expressions[367] = BinaryenBinary(the_module, 103, expressions[366], expressions[365]); + { + uint8_t t84[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[368] = BinaryenConst(the_module, BinaryenLiteralVec128(t84)); + } + { + uint8_t t85[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[369] = BinaryenConst(the_module, BinaryenLiteralVec128(t85)); + } + expressions[370] = BinaryenBinary(the_module, 104, expressions[369], expressions[368]); + { + uint8_t t86[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[371] = BinaryenConst(the_module, BinaryenLiteralVec128(t86)); + } + { + uint8_t t87[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[372] = BinaryenConst(the_module, BinaryenLiteralVec128(t87)); + } + expressions[373] = BinaryenBinary(the_module, 105, expressions[372], expressions[371]); + { + uint8_t t88[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[374] = BinaryenConst(the_module, BinaryenLiteralVec128(t88)); + } + { + uint8_t t89[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[375] = BinaryenConst(the_module, BinaryenLiteralVec128(t89)); + } + expressions[376] = BinaryenBinary(the_module, 106, expressions[375], expressions[374]); + { + uint8_t t90[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[377] = BinaryenConst(the_module, BinaryenLiteralVec128(t90)); + } + { + uint8_t t91[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[378] = BinaryenConst(the_module, BinaryenLiteralVec128(t91)); + } + expressions[379] = BinaryenBinary(the_module, 107, expressions[378], expressions[377]); + { + uint8_t t92[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[380] = BinaryenConst(the_module, BinaryenLiteralVec128(t92)); + } + { + uint8_t t93[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[381] = BinaryenConst(the_module, BinaryenLiteralVec128(t93)); + } + expressions[382] = BinaryenBinary(the_module, 108, expressions[381], expressions[380]); + { + uint8_t t94[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[383] = BinaryenConst(the_module, BinaryenLiteralVec128(t94)); + } + { + uint8_t t95[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[384] = BinaryenConst(the_module, BinaryenLiteralVec128(t95)); + } + expressions[385] = BinaryenBinary(the_module, 109, expressions[384], expressions[383]); + { + uint8_t t96[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[386] = BinaryenConst(the_module, BinaryenLiteralVec128(t96)); + } + { + uint8_t t97[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[387] = BinaryenConst(the_module, BinaryenLiteralVec128(t97)); + } + expressions[388] = BinaryenBinary(the_module, 110, expressions[387], expressions[386]); + { + uint8_t t98[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[389] = BinaryenConst(the_module, BinaryenLiteralVec128(t98)); + } + { + uint8_t t99[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[390] = BinaryenConst(the_module, BinaryenLiteralVec128(t99)); + } + expressions[391] = BinaryenBinary(the_module, 111, expressions[390], expressions[389]); + { + uint8_t t100[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[392] = BinaryenConst(the_module, BinaryenLiteralVec128(t100)); + } + { + uint8_t t101[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[393] = BinaryenConst(the_module, BinaryenLiteralVec128(t101)); + } + expressions[394] = BinaryenBinary(the_module, 112, expressions[393], expressions[392]); + { + uint8_t t102[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[395] = BinaryenConst(the_module, BinaryenLiteralVec128(t102)); + } + { + uint8_t t103[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[396] = BinaryenConst(the_module, BinaryenLiteralVec128(t103)); + } + expressions[397] = BinaryenBinary(the_module, 113, expressions[396], expressions[395]); + { + uint8_t t104[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[398] = BinaryenConst(the_module, BinaryenLiteralVec128(t104)); + } + { + uint8_t t105[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[399] = BinaryenConst(the_module, BinaryenLiteralVec128(t105)); + } + expressions[400] = BinaryenBinary(the_module, 114, expressions[399], expressions[398]); + { + uint8_t t106[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[401] = BinaryenConst(the_module, BinaryenLiteralVec128(t106)); + } + { + uint8_t t107[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[402] = BinaryenConst(the_module, BinaryenLiteralVec128(t107)); + } + expressions[403] = BinaryenBinary(the_module, 115, expressions[402], expressions[401]); + { + uint8_t t108[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[404] = BinaryenConst(the_module, BinaryenLiteralVec128(t108)); + } + { + uint8_t t109[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[405] = BinaryenConst(the_module, BinaryenLiteralVec128(t109)); + } + expressions[406] = BinaryenBinary(the_module, 116, expressions[405], expressions[404]); + { + uint8_t t110[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[407] = BinaryenConst(the_module, BinaryenLiteralVec128(t110)); + } + { + uint8_t t111[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[408] = BinaryenConst(the_module, BinaryenLiteralVec128(t111)); + } + expressions[409] = BinaryenBinary(the_module, 117, expressions[408], expressions[407]); + { + uint8_t t112[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[410] = BinaryenConst(the_module, BinaryenLiteralVec128(t112)); + } + { + uint8_t t113[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[411] = BinaryenConst(the_module, BinaryenLiteralVec128(t113)); + } + expressions[412] = BinaryenBinary(the_module, 118, expressions[411], expressions[410]); + { + uint8_t t114[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[413] = BinaryenConst(the_module, BinaryenLiteralVec128(t114)); + } + { + uint8_t t115[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[414] = BinaryenConst(the_module, BinaryenLiteralVec128(t115)); + } + expressions[415] = BinaryenBinary(the_module, 119, expressions[414], expressions[413]); + { + uint8_t t116[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[416] = BinaryenConst(the_module, BinaryenLiteralVec128(t116)); + } + { + uint8_t t117[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[417] = BinaryenConst(the_module, BinaryenLiteralVec128(t117)); + } + expressions[418] = BinaryenBinary(the_module, 120, expressions[417], expressions[416]); + { + uint8_t t118[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[419] = BinaryenConst(the_module, BinaryenLiteralVec128(t118)); + } + { + uint8_t t119[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[420] = BinaryenConst(the_module, BinaryenLiteralVec128(t119)); + } + expressions[421] = BinaryenBinary(the_module, 121, expressions[420], expressions[419]); + { + uint8_t t120[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[422] = BinaryenConst(the_module, BinaryenLiteralVec128(t120)); + } + { + uint8_t t121[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[423] = BinaryenConst(the_module, BinaryenLiteralVec128(t121)); + } + expressions[424] = BinaryenBinary(the_module, 122, expressions[423], expressions[422]); + { + uint8_t t122[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[425] = BinaryenConst(the_module, BinaryenLiteralVec128(t122)); + } + { + uint8_t t123[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[426] = BinaryenConst(the_module, BinaryenLiteralVec128(t123)); + } + expressions[427] = BinaryenBinary(the_module, 123, expressions[426], expressions[425]); + { + uint8_t t124[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[428] = BinaryenConst(the_module, BinaryenLiteralVec128(t124)); + } + { + uint8_t t125[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[429] = BinaryenConst(the_module, BinaryenLiteralVec128(t125)); + } + expressions[430] = BinaryenBinary(the_module, 124, expressions[429], expressions[428]); + { + uint8_t t126[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[431] = BinaryenConst(the_module, BinaryenLiteralVec128(t126)); + } + { + uint8_t t127[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[432] = BinaryenConst(the_module, BinaryenLiteralVec128(t127)); + } + expressions[433] = BinaryenBinary(the_module, 125, expressions[432], expressions[431]); + { + uint8_t t128[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[434] = BinaryenConst(the_module, BinaryenLiteralVec128(t128)); + } + { + uint8_t t129[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[435] = BinaryenConst(the_module, BinaryenLiteralVec128(t129)); + } + expressions[436] = BinaryenBinary(the_module, 126, expressions[435], expressions[434]); + { + uint8_t t130[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[437] = BinaryenConst(the_module, BinaryenLiteralVec128(t130)); + } + { + uint8_t t131[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[438] = BinaryenConst(the_module, BinaryenLiteralVec128(t131)); + } + expressions[439] = BinaryenBinary(the_module, 127, expressions[438], expressions[437]); + { + uint8_t t132[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[440] = BinaryenConst(the_module, BinaryenLiteralVec128(t132)); + } + { + uint8_t t133[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[441] = BinaryenConst(the_module, BinaryenLiteralVec128(t133)); + } + expressions[442] = BinaryenBinary(the_module, 128, expressions[441], expressions[440]); + { + uint8_t t134[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[443] = BinaryenConst(the_module, BinaryenLiteralVec128(t134)); + } + { + uint8_t t135[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[444] = BinaryenConst(the_module, BinaryenLiteralVec128(t135)); + } + expressions[445] = BinaryenBinary(the_module, 129, expressions[444], expressions[443]); + { + uint8_t t136[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[446] = BinaryenConst(the_module, BinaryenLiteralVec128(t136)); + } + { + uint8_t t137[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[447] = BinaryenConst(the_module, BinaryenLiteralVec128(t137)); + } + expressions[448] = BinaryenBinary(the_module, 130, expressions[447], expressions[446]); + { + uint8_t t138[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[449] = BinaryenConst(the_module, BinaryenLiteralVec128(t138)); + } + { + uint8_t t139[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[450] = BinaryenConst(the_module, BinaryenLiteralVec128(t139)); + } + expressions[451] = BinaryenBinary(the_module, 131, expressions[450], expressions[449]); + { + uint8_t t140[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[452] = BinaryenConst(the_module, BinaryenLiteralVec128(t140)); + } + { + uint8_t t141[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[453] = BinaryenConst(the_module, BinaryenLiteralVec128(t141)); + } + expressions[454] = BinaryenBinary(the_module, 132, expressions[453], expressions[452]); + { + uint8_t t142[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[455] = BinaryenConst(the_module, BinaryenLiteralVec128(t142)); + } + { + uint8_t t143[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[456] = BinaryenConst(the_module, BinaryenLiteralVec128(t143)); + } + expressions[457] = BinaryenBinary(the_module, 133, expressions[456], expressions[455]); + { + uint8_t t144[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[458] = BinaryenConst(the_module, BinaryenLiteralVec128(t144)); + } + { + uint8_t t145[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[459] = BinaryenConst(the_module, BinaryenLiteralVec128(t145)); + } + expressions[460] = BinaryenBinary(the_module, 134, expressions[459], expressions[458]); + { + uint8_t t146[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[461] = BinaryenConst(the_module, BinaryenLiteralVec128(t146)); + } + { + uint8_t t147[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[462] = BinaryenConst(the_module, BinaryenLiteralVec128(t147)); + } + expressions[463] = BinaryenBinary(the_module, 135, expressions[462], expressions[461]); + { + uint8_t t148[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[464] = BinaryenConst(the_module, BinaryenLiteralVec128(t148)); + } + { + uint8_t t149[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[465] = BinaryenConst(the_module, BinaryenLiteralVec128(t149)); + } + expressions[466] = BinaryenBinary(the_module, 136, expressions[465], expressions[464]); + { + uint8_t t150[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[467] = BinaryenConst(the_module, BinaryenLiteralVec128(t150)); + } + { + uint8_t t151[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[468] = BinaryenConst(the_module, BinaryenLiteralVec128(t151)); + } + expressions[469] = BinaryenBinary(the_module, 137, expressions[468], expressions[467]); + { + uint8_t t152[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[470] = BinaryenConst(the_module, BinaryenLiteralVec128(t152)); + } + { + uint8_t t153[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[471] = BinaryenConst(the_module, BinaryenLiteralVec128(t153)); + } + expressions[472] = BinaryenBinary(the_module, 138, expressions[471], expressions[470]); + { + uint8_t t154[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[473] = BinaryenConst(the_module, BinaryenLiteralVec128(t154)); + } + { + uint8_t t155[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[474] = BinaryenConst(the_module, BinaryenLiteralVec128(t155)); + } + expressions[475] = BinaryenBinary(the_module, 139, expressions[474], expressions[473]); + { + uint8_t t156[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[476] = BinaryenConst(the_module, BinaryenLiteralVec128(t156)); + } + { + uint8_t t157[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[477] = BinaryenConst(the_module, BinaryenLiteralVec128(t157)); + } + expressions[478] = BinaryenBinary(the_module, 140, expressions[477], expressions[476]); + { + uint8_t t158[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[479] = BinaryenConst(the_module, BinaryenLiteralVec128(t158)); + } + { + uint8_t t159[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[480] = BinaryenConst(the_module, BinaryenLiteralVec128(t159)); + } + expressions[481] = BinaryenBinary(the_module, 141, expressions[480], expressions[479]); + { + uint8_t t160[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[482] = BinaryenConst(the_module, BinaryenLiteralVec128(t160)); + } + { + uint8_t t161[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[483] = BinaryenConst(the_module, BinaryenLiteralVec128(t161)); + } + expressions[484] = BinaryenBinary(the_module, 142, expressions[483], expressions[482]); + { + uint8_t t162[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[485] = BinaryenConst(the_module, BinaryenLiteralVec128(t162)); + } + { + uint8_t t163[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[486] = BinaryenConst(the_module, BinaryenLiteralVec128(t163)); + } + expressions[487] = BinaryenBinary(the_module, 143, expressions[486], expressions[485]); + { + uint8_t t164[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[488] = BinaryenConst(the_module, BinaryenLiteralVec128(t164)); + } + { + uint8_t t165[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[489] = BinaryenConst(the_module, BinaryenLiteralVec128(t165)); + } + expressions[490] = BinaryenBinary(the_module, 144, expressions[489], expressions[488]); + { + uint8_t t166[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[491] = BinaryenConst(the_module, BinaryenLiteralVec128(t166)); + } + { + uint8_t t167[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[492] = BinaryenConst(the_module, BinaryenLiteralVec128(t167)); + } + expressions[493] = BinaryenBinary(the_module, 145, expressions[492], expressions[491]); + { + uint8_t t168[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[494] = BinaryenConst(the_module, BinaryenLiteralVec128(t168)); + } + { + uint8_t t169[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[495] = BinaryenConst(the_module, BinaryenLiteralVec128(t169)); + } + expressions[496] = BinaryenBinary(the_module, 146, expressions[495], expressions[494]); + { + uint8_t t170[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[497] = BinaryenConst(the_module, BinaryenLiteralVec128(t170)); + } + { + uint8_t t171[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[498] = BinaryenConst(the_module, BinaryenLiteralVec128(t171)); + } + expressions[499] = BinaryenBinary(the_module, 147, expressions[498], expressions[497]); + { + uint8_t t172[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[500] = BinaryenConst(the_module, BinaryenLiteralVec128(t172)); + } + { + uint8_t t173[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[501] = BinaryenConst(the_module, BinaryenLiteralVec128(t173)); + } + expressions[502] = BinaryenBinary(the_module, 148, expressions[501], expressions[500]); + { + uint8_t t174[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[503] = BinaryenConst(the_module, BinaryenLiteralVec128(t174)); + } + { + uint8_t t175[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[504] = BinaryenConst(the_module, BinaryenLiteralVec128(t175)); + } + expressions[505] = BinaryenBinary(the_module, 149, expressions[504], expressions[503]); + { + uint8_t t176[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[506] = BinaryenConst(the_module, BinaryenLiteralVec128(t176)); + } + { + uint8_t t177[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[507] = BinaryenConst(the_module, BinaryenLiteralVec128(t177)); + } + expressions[508] = BinaryenBinary(the_module, 150, expressions[507], expressions[506]); + { + uint8_t t178[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[509] = BinaryenConst(the_module, BinaryenLiteralVec128(t178)); + } + { + uint8_t t179[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[510] = BinaryenConst(the_module, BinaryenLiteralVec128(t179)); + } + expressions[511] = BinaryenBinary(the_module, 151, expressions[510], expressions[509]); + { + uint8_t t180[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[512] = BinaryenConst(the_module, BinaryenLiteralVec128(t180)); + } + expressions[513] = BinaryenSIMDExtract(the_module, 0, expressions[512], 0); + { + uint8_t t181[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[514] = BinaryenConst(the_module, BinaryenLiteralVec128(t181)); + } + expressions[515] = BinaryenSIMDExtract(the_module, 1, expressions[514], 0); + { + uint8_t t182[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[516] = BinaryenConst(the_module, BinaryenLiteralVec128(t182)); + } + expressions[517] = BinaryenSIMDExtract(the_module, 2, expressions[516], 0); + { + uint8_t t183[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[518] = BinaryenConst(the_module, BinaryenLiteralVec128(t183)); + } + expressions[519] = BinaryenSIMDExtract(the_module, 3, expressions[518], 0); + { + uint8_t t184[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[520] = BinaryenConst(the_module, BinaryenLiteralVec128(t184)); + } + expressions[521] = BinaryenSIMDExtract(the_module, 4, expressions[520], 0); + { + uint8_t t185[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[522] = BinaryenConst(the_module, BinaryenLiteralVec128(t185)); + } + expressions[523] = BinaryenSIMDExtract(the_module, 5, expressions[522], 0); + { + uint8_t t186[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[524] = BinaryenConst(the_module, BinaryenLiteralVec128(t186)); + } + expressions[525] = BinaryenSIMDExtract(the_module, 6, expressions[524], 0); + { + uint8_t t187[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[526] = BinaryenConst(the_module, BinaryenLiteralVec128(t187)); + } + expressions[527] = BinaryenSIMDExtract(the_module, 7, expressions[526], 0); + expressions[528] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + { + uint8_t t188[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[529] = BinaryenConst(the_module, BinaryenLiteralVec128(t188)); + } + expressions[530] = BinaryenSIMDReplace(the_module, 0, expressions[529], 0, expressions[528]); + expressions[531] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + { + uint8_t t189[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[532] = BinaryenConst(the_module, BinaryenLiteralVec128(t189)); + } + expressions[533] = BinaryenSIMDReplace(the_module, 1, expressions[532], 0, expressions[531]); + expressions[534] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + { + uint8_t t190[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[535] = BinaryenConst(the_module, BinaryenLiteralVec128(t190)); + } + expressions[536] = BinaryenSIMDReplace(the_module, 2, expressions[535], 0, expressions[534]); + expressions[537] = BinaryenConst(the_module, BinaryenLiteralInt64(42)); + { + uint8_t t191[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[538] = BinaryenConst(the_module, BinaryenLiteralVec128(t191)); + } + expressions[539] = BinaryenSIMDReplace(the_module, 3, expressions[538], 0, expressions[537]); + expressions[540] = BinaryenConst(the_module, BinaryenLiteralFloat32(42)); + { + uint8_t t192[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[541] = BinaryenConst(the_module, BinaryenLiteralVec128(t192)); + } + expressions[542] = BinaryenSIMDReplace(the_module, 4, expressions[541], 0, expressions[540]); + expressions[543] = BinaryenConst(the_module, BinaryenLiteralFloat64(42)); + { + uint8_t t193[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[544] = BinaryenConst(the_module, BinaryenLiteralVec128(t193)); + } + expressions[545] = BinaryenSIMDReplace(the_module, 5, expressions[544], 0, expressions[543]); + { + uint8_t t194[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[546] = BinaryenConst(the_module, BinaryenLiteralVec128(t194)); + } + expressions[547] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[548] = BinaryenSIMDShift(the_module, 0, expressions[546], expressions[547]); + { + uint8_t t195[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[549] = BinaryenConst(the_module, BinaryenLiteralVec128(t195)); + } + expressions[550] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[551] = BinaryenSIMDShift(the_module, 1, expressions[549], expressions[550]); + { + uint8_t t196[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[552] = BinaryenConst(the_module, BinaryenLiteralVec128(t196)); + } + expressions[553] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[554] = BinaryenSIMDShift(the_module, 2, expressions[552], expressions[553]); + { + uint8_t t197[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[555] = BinaryenConst(the_module, BinaryenLiteralVec128(t197)); + } + expressions[556] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[557] = BinaryenSIMDShift(the_module, 3, expressions[555], expressions[556]); + { + uint8_t t198[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[558] = BinaryenConst(the_module, BinaryenLiteralVec128(t198)); + } + expressions[559] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[560] = BinaryenSIMDShift(the_module, 4, expressions[558], expressions[559]); + { + uint8_t t199[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[561] = BinaryenConst(the_module, BinaryenLiteralVec128(t199)); + } + expressions[562] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[563] = BinaryenSIMDShift(the_module, 5, expressions[561], expressions[562]); + { + uint8_t t200[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[564] = BinaryenConst(the_module, BinaryenLiteralVec128(t200)); + } + expressions[565] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[566] = BinaryenSIMDShift(the_module, 6, expressions[564], expressions[565]); + { + uint8_t t201[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[567] = BinaryenConst(the_module, BinaryenLiteralVec128(t201)); + } + expressions[568] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[569] = BinaryenSIMDShift(the_module, 7, expressions[567], expressions[568]); + { + uint8_t t202[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[570] = BinaryenConst(the_module, BinaryenLiteralVec128(t202)); + } + expressions[571] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[572] = BinaryenSIMDShift(the_module, 8, expressions[570], expressions[571]); + { + uint8_t t203[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[573] = BinaryenConst(the_module, BinaryenLiteralVec128(t203)); + } + expressions[574] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[575] = BinaryenSIMDShift(the_module, 9, expressions[573], expressions[574]); + { + uint8_t t204[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[576] = BinaryenConst(the_module, BinaryenLiteralVec128(t204)); + } + expressions[577] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[578] = BinaryenSIMDShift(the_module, 10, expressions[576], expressions[577]); + { + uint8_t t205[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[579] = BinaryenConst(the_module, BinaryenLiteralVec128(t205)); + } + expressions[580] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[581] = BinaryenSIMDShift(the_module, 11, expressions[579], expressions[580]); + { + uint8_t t206[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[582] = BinaryenConst(the_module, BinaryenLiteralVec128(t206)); + } + { + uint8_t t207[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[583] = BinaryenConst(the_module, BinaryenLiteralVec128(t207)); + } + { + uint8_t mask[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + expressions[584] = BinaryenSIMDShuffle(the_module, expressions[582], expressions[583], mask); + } + { + uint8_t t208[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[585] = BinaryenConst(the_module, BinaryenLiteralVec128(t208)); + } + { + uint8_t t209[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[586] = BinaryenConst(the_module, BinaryenLiteralVec128(t209)); + } + { + uint8_t t210[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[587] = BinaryenConst(the_module, BinaryenLiteralVec128(t210)); + } + expressions[588] = BinaryenSIMDBitselect(the_module, expressions[585], expressions[586], expressions[587]); { BinaryenExpressionRef children[] = { 0 }; - expressions[217] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto()); - } - expressions[218] = BinaryenIf(the_module, expressions[17], expressions[18], expressions[19]); - expressions[219] = BinaryenIf(the_module, expressions[20], expressions[21], expressions[0]); - expressions[220] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[221] = BinaryenLoop(the_module, "in", expressions[220]); - expressions[222] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[223] = BinaryenLoop(the_module, NULL, expressions[222]); - expressions[224] = BinaryenBreak(the_module, "the-value", expressions[22], expressions[23]); - expressions[225] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[226] = BinaryenBreak(the_module, "the-nothing", expressions[225], expressions[0]); - expressions[227] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); - expressions[228] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[227]); - expressions[229] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); + expressions[589] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto()); + } + expressions[590] = BinaryenIf(the_module, expressions[18], expressions[19], expressions[20]); + expressions[591] = BinaryenIf(the_module, expressions[21], expressions[22], expressions[0]); + expressions[592] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[593] = BinaryenLoop(the_module, "in", expressions[592]); + expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[595] = BinaryenLoop(the_module, NULL, expressions[594]); + expressions[596] = BinaryenBreak(the_module, "the-value", expressions[23], expressions[24]); + expressions[597] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[598] = BinaryenBreak(the_module, "the-nothing", expressions[597], expressions[0]); + expressions[599] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); + expressions[600] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[599]); + expressions[601] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); { const char* names[] = { "the-value" }; - expressions[230] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[24], expressions[25]); + expressions[602] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[25], expressions[26]); } - expressions[231] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[603] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); { const char* names[] = { "the-nothing" }; - expressions[232] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[231], expressions[0]); - } - { - BinaryenExpressionRef operands[] = { expressions[9], expressions[10], expressions[11], expressions[12] }; - expressions[233] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1); - } - expressions[234] = BinaryenUnary(the_module, 20, expressions[233]); - { - BinaryenExpressionRef operands[] = { expressions[7], expressions[8] }; - expressions[235] = BinaryenCall(the_module, "an-imported", operands, 2, 3); - } - expressions[236] = BinaryenUnary(the_module, 25, expressions[235]); - expressions[237] = BinaryenUnary(the_module, 20, expressions[236]); - expressions[238] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); - { - BinaryenExpressionRef operands[] = { expressions[13], expressions[14], expressions[15], expressions[16] }; - expressions[239] = BinaryenCallIndirect(the_module, expressions[238], operands, 4, "iiIfF"); - } - expressions[240] = BinaryenUnary(the_module, 20, expressions[239]); - expressions[241] = BinaryenGetLocal(the_module, 0, 1); - expressions[242] = BinaryenDrop(the_module, expressions[241]); - expressions[243] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); - expressions[244] = BinaryenSetLocal(the_module, 0, expressions[243]); - expressions[245] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); - expressions[246] = BinaryenTeeLocal(the_module, 0, expressions[245]); - expressions[247] = BinaryenDrop(the_module, expressions[246]); - expressions[248] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[249] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[248]); - expressions[250] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); - expressions[251] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[250]); - expressions[252] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[253] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[252]); - expressions[254] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); - expressions[255] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[254]); - expressions[256] = BinaryenStore(the_module, 4, 0, 0, expressions[29], expressions[30], 1); - expressions[257] = BinaryenStore(the_module, 8, 2, 4, expressions[31], expressions[32], 2); - expressions[258] = BinaryenSelect(the_module, expressions[26], expressions[27], expressions[28]); - expressions[259] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); - expressions[260] = BinaryenReturn(the_module, expressions[259]); - expressions[261] = BinaryenNop(the_module); - expressions[262] = BinaryenUnreachable(the_module); - BinaryenExpressionPrint(expressions[40]); + expressions[604] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[603], expressions[0]); + } + { + BinaryenExpressionRef operands[] = { expressions[10], expressions[11], expressions[12], expressions[13] }; + expressions[605] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1); + } + expressions[606] = BinaryenUnary(the_module, 20, expressions[605]); + { + BinaryenExpressionRef operands[] = { expressions[8], expressions[9] }; + expressions[607] = BinaryenCall(the_module, "an-imported", operands, 2, 3); + } + expressions[608] = BinaryenUnary(the_module, 25, expressions[607]); + expressions[609] = BinaryenUnary(the_module, 20, expressions[608]); + expressions[610] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + { + BinaryenExpressionRef operands[] = { expressions[14], expressions[15], expressions[16], expressions[17] }; + expressions[611] = BinaryenCallIndirect(the_module, expressions[610], operands, 4, "iiIfF"); + } + expressions[612] = BinaryenUnary(the_module, 20, expressions[611]); + expressions[613] = BinaryenGetLocal(the_module, 0, 1); + expressions[614] = BinaryenDrop(the_module, expressions[613]); + expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); + expressions[616] = BinaryenSetLocal(the_module, 0, expressions[615]); + expressions[617] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); + expressions[618] = BinaryenTeeLocal(the_module, 0, expressions[617]); + expressions[619] = BinaryenDrop(the_module, expressions[618]); + expressions[620] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[621] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[620]); + expressions[622] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); + expressions[623] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[622]); + expressions[624] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[625] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[624]); + expressions[626] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); + expressions[627] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[626]); + expressions[628] = BinaryenStore(the_module, 4, 0, 0, expressions[30], expressions[31], 1); + expressions[629] = BinaryenStore(the_module, 8, 2, 4, expressions[32], expressions[33], 2); + expressions[630] = BinaryenSelect(the_module, expressions[27], expressions[28], expressions[29]); + expressions[631] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); + expressions[632] = BinaryenReturn(the_module, expressions[631]); + expressions[633] = BinaryenNop(the_module); + expressions[634] = BinaryenUnreachable(the_module); + BinaryenExpressionPrint(expressions[41]); (f32.neg (f32.const -33.61199951171875) ) { - BinaryenExpressionRef children[] = { expressions[34], expressions[36], expressions[38], expressions[40], expressions[42], - expressions[44], expressions[46], expressions[48], expressions[50], expressions[52], expressions[54], - expressions[56], expressions[58], expressions[60], expressions[62], expressions[64], expressions[66], - expressions[68], expressions[70], expressions[72], expressions[74], expressions[76], expressions[78], - expressions[80], expressions[82], expressions[84], expressions[86], expressions[88], expressions[90], - expressions[92], expressions[94], expressions[96], expressions[98], expressions[100], expressions[102], - expressions[104], expressions[106], expressions[108], expressions[110], expressions[112], expressions[114], - expressions[116], expressions[118], expressions[120], expressions[123], expressions[126], expressions[129], - expressions[132], expressions[135], expressions[138], expressions[141], expressions[144], expressions[147], - expressions[150], expressions[153], expressions[156], expressions[159], expressions[162], expressions[165], - expressions[168], expressions[171], expressions[174], expressions[177], expressions[180], expressions[183], - expressions[186], expressions[189], expressions[192], expressions[195], expressions[198], expressions[201], - expressions[204], expressions[207], expressions[210], expressions[213], expressions[216], expressions[217], - expressions[218], expressions[219], expressions[221], expressions[223], expressions[224], expressions[226], - expressions[228], expressions[229], expressions[230], expressions[232], expressions[234], expressions[237], - expressions[240], expressions[242], expressions[244], expressions[247], expressions[249], expressions[251], - expressions[253], expressions[255], expressions[256], expressions[257], expressions[258], expressions[260], - expressions[261], expressions[262] }; - expressions[263] = BinaryenBlock(the_module, "the-value", children, 103, BinaryenTypeAuto()); - } - expressions[264] = BinaryenDrop(the_module, expressions[263]); - { - BinaryenExpressionRef children[] = { expressions[264] }; - expressions[265] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto()); - } - expressions[266] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); - { - BinaryenExpressionRef children[] = { expressions[265], expressions[266] }; - expressions[267] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto()); + BinaryenExpressionRef children[] = { expressions[35], expressions[37], expressions[39], expressions[41], expressions[43], + expressions[45], expressions[47], expressions[49], expressions[51], expressions[53], expressions[55], + expressions[57], expressions[59], expressions[61], expressions[63], expressions[65], expressions[67], + expressions[69], expressions[71], expressions[73], expressions[75], expressions[77], expressions[79], + expressions[81], expressions[83], expressions[85], expressions[87], expressions[89], expressions[91], + expressions[93], expressions[95], expressions[97], expressions[99], expressions[101], expressions[103], + expressions[105], expressions[107], expressions[109], expressions[111], expressions[113], expressions[115], + expressions[117], expressions[119], expressions[121], expressions[123], expressions[125], expressions[127], + expressions[129], expressions[131], expressions[133], expressions[135], expressions[137], expressions[139], + expressions[141], expressions[143], expressions[145], expressions[147], expressions[149], expressions[151], + expressions[153], expressions[155], expressions[157], expressions[159], expressions[161], expressions[163], + expressions[165], expressions[167], expressions[169], expressions[171], expressions[173], expressions[175], + expressions[177], expressions[179], expressions[181], expressions[183], expressions[185], expressions[187], + expressions[190], expressions[193], expressions[196], expressions[199], expressions[202], expressions[205], + expressions[208], expressions[211], expressions[214], expressions[217], expressions[220], expressions[223], + expressions[226], expressions[229], expressions[232], expressions[235], expressions[238], expressions[241], + expressions[244], expressions[247], expressions[250], expressions[253], expressions[256], expressions[259], + expressions[262], expressions[265], expressions[268], expressions[271], expressions[274], expressions[277], + expressions[280], expressions[283], expressions[286], expressions[289], expressions[292], expressions[295], + expressions[298], expressions[301], expressions[304], expressions[307], expressions[310], expressions[313], + expressions[316], expressions[319], expressions[322], expressions[325], expressions[328], expressions[331], + expressions[334], expressions[337], expressions[340], expressions[343], expressions[346], expressions[349], + expressions[352], expressions[355], expressions[358], expressions[361], expressions[364], expressions[367], + expressions[370], expressions[373], expressions[376], expressions[379], expressions[382], expressions[385], + expressions[388], expressions[391], expressions[394], expressions[397], expressions[400], expressions[403], + expressions[406], expressions[409], expressions[412], expressions[415], expressions[418], expressions[421], + expressions[424], expressions[427], expressions[430], expressions[433], expressions[436], expressions[439], + expressions[442], expressions[445], expressions[448], expressions[451], expressions[454], expressions[457], + expressions[460], expressions[463], expressions[466], expressions[469], expressions[472], expressions[475], + expressions[478], expressions[481], expressions[484], expressions[487], expressions[490], expressions[493], + expressions[496], expressions[499], expressions[502], expressions[505], expressions[508], expressions[511], + expressions[513], expressions[515], expressions[517], expressions[519], expressions[521], expressions[523], + expressions[525], expressions[527], expressions[530], expressions[533], expressions[536], expressions[539], + expressions[542], expressions[545], expressions[548], expressions[551], expressions[554], expressions[557], + expressions[560], expressions[563], expressions[566], expressions[569], expressions[572], expressions[575], + expressions[578], expressions[581], expressions[584], expressions[588], expressions[589], expressions[590], + expressions[591], expressions[593], expressions[595], expressions[596], expressions[598], expressions[600], + expressions[601], expressions[602], expressions[604], expressions[606], expressions[609], expressions[612], + expressions[614], expressions[616], expressions[619], expressions[621], expressions[623], expressions[625], + expressions[627], expressions[628], expressions[629], expressions[630], expressions[632], expressions[633], + expressions[634] }; + expressions[635] = BinaryenBlock(the_module, "the-value", children, 240, BinaryenTypeAuto()); + } + expressions[636] = BinaryenDrop(the_module, expressions[635]); + { + BinaryenExpressionRef children[] = { expressions[636] }; + expressions[637] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto()); + } + expressions[638] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + { + BinaryenExpressionRef children[] = { expressions[637], expressions[638] }; + expressions[639] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto()); } { BinaryenType varTypes[] = { 1 }; - functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[267]); + functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[639]); } - expressions[268] = BinaryenConst(the_module, BinaryenLiteralInt32(7)); - BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[268]); - expressions[269] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5)); - BinaryenAddGlobal(the_module, "a-mutable-global", 3, 1, expressions[269]); + expressions[640] = BinaryenConst(the_module, BinaryenLiteralInt32(7)); + BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[640]); + expressions[641] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5)); + BinaryenAddGlobal(the_module, "a-mutable-global", 3, 1, expressions[641]); { BinaryenType paramTypes[] = { 1, 4 }; functionTypes[1] = BinaryenAddFunctionType(the_module, "fiF", 3, paramTypes, 2); @@ -1443,11 +3256,11 @@ int main() { const char* funcNames[] = { "kitchen()sinker" }; BinaryenSetFunctionTable(the_module, 1, 1, funcNames, 1); } - expressions[270] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); + expressions[642] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); { const char segment0[] = { 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 }; const char* segments[] = { segment0 }; - BinaryenExpressionRef segmentOffsets[] = { expressions[270] }; + BinaryenExpressionRef segmentOffsets[] = { expressions[642] }; BinaryenIndex segmentSizes[] = { 12 }; BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentOffsets, segmentSizes, 1, 0); } @@ -1455,10 +3268,10 @@ int main() { BinaryenType paramTypes[] = { 0 }; functionTypes[2] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0); } - expressions[271] = BinaryenNop(the_module); + expressions[643] = BinaryenNop(the_module); { BinaryenType varTypes[] = { 0 }; - functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[271]); + functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[643]); } BinaryenSetStart(the_module, functions[1]); { @@ -1710,6 +3523,171 @@ int main() { ) ) (drop + (i8x16.splat + (i32.const -10) + ) + ) + (drop + (i16x8.splat + (i32.const -10) + ) + ) + (drop + (i32x4.splat + (i32.const -10) + ) + ) + (drop + (i64x2.splat + (i64.const -22) + ) + ) + (drop + (f32x4.splat + (f32.const -33.61199951171875) + ) + ) + (drop + (f64x2.splat + (f64.const -9005.841) + ) + ) + (drop + (v128.not + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_s/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_u/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_s/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_u/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_s/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_u/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_s/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_u/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop (i32.add (i32.const -10) (i32.const -11) @@ -1901,6 +3879,623 @@ int main() { (f32.const -62.5) ) ) + (drop + (i8x16.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.and + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.or + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.xor + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_s 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_u 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_s 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_u 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i16x8.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i32x4.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i64x2.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i64.const 42) + ) + ) + (drop + (f32x4.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f32.const 42) + ) + ) + (drop + (f64x2.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f64.const 42) + ) + ) + (drop + (i8x16.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (v8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.bitselect + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) (block ) (if diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt index 4cf98c329..d19b06609 100644 --- a/test/example/c-api-kitchen-sink.txt.txt +++ b/test/example/c-api-kitchen-sink.txt.txt @@ -243,6 +243,171 @@ ) ) (drop + (i8x16.splat + (i32.const -10) + ) + ) + (drop + (i16x8.splat + (i32.const -10) + ) + ) + (drop + (i32x4.splat + (i32.const -10) + ) + ) + (drop + (i64x2.splat + (i64.const -22) + ) + ) + (drop + (f32x4.splat + (f32.const -33.61199951171875) + ) + ) + (drop + (f64x2.splat + (f64.const -9005.84) + ) + ) + (drop + (v128.not + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.any_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.all_true + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.abs + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.neg + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sqrt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_s/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.trunc_u/f32x4:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_s/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.trunc_u/f64x2:sat + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_s/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.convert_u/i32x4 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_s/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.convert_u/i64x2 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop (i32.add (i32.const -10) (i32.const -11) @@ -434,6 +599,623 @@ (f32.const -62.5) ) ) + (drop + (i8x16.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.lt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.gt_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.le_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.ge_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.eq + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ne + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.lt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.gt + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.le + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.ge + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.and + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.or + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.xor + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.add_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.sub_saturate_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.add + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.sub + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.mul + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.div + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.min + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.max + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_s 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.extract_lane_u 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_s 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i16x8.extract_lane_u 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i32x4.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i64x2.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f32x4.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (f64x2.extract_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (i8x16.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i16x8.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i32x4.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 42) + ) + ) + (drop + (i64x2.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i64.const 42) + ) + ) + (drop + (f32x4.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f32.const 42) + ) + ) + (drop + (f64x2.replace_lane 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (f64.const 42) + ) + ) + (drop + (i8x16.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i8x16.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i16x8.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i32x4.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shl + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_s + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (i64x2.shr_u + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (i32.const 1) + ) + ) + (drop + (v8x16.shuffle 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) + (drop + (v128.bitselect + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + (v128.const i32 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10) + ) + ) (block ) (if diff --git a/test/passes/safe-heap.txt b/test/passes/safe-heap.txt index f2513d502..c3a3fcdce 100644 --- a/test/passes/safe-heap.txt +++ b/test/passes/safe-heap.txt @@ -90,6 +90,12 @@ (i32.const 0) ) ) + (drop + (call $SAFE_HEAP_LOAD_v128_16_U_16 + (i32.const 14) + (i32.const 0) + ) + ) ) (func $stores (; 3 ;) (type $0) (call $SAFE_HEAP_STORE_i32_4_4 @@ -162,6 +168,11 @@ (i32.const 0) (f64.const 1300) ) + (call $SAFE_HEAP_STORE_v128_16_16 + (i32.const 14) + (i32.const 0) + (v128.const i32 0x1 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x3 0x0 0x0 0x0 0x4 0x0 0x0 0x0) + ) ) (func $SAFE_HEAP_LOAD_i32_1_A (; 4 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -1769,7 +1780,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_1_1 (; 50 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 50 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -1786,7 +1797,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 1) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -1795,11 +1806,11 @@ ) (call $segfault) ) - (f32.load8_u + (f32.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_2_1 (; 51 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 51 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -1816,7 +1827,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -1825,11 +1836,18 @@ ) (call $segfault) ) - (f32.load16_u align=1 + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (f32.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_2_2 (; 52 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 52 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -1846,7 +1864,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -1858,15 +1876,15 @@ (if (i32.and (get_local $2) - (i32.const 1) + (i32.const 3) ) (call $alignfault) ) - (f32.load16_u + (f32.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 53 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 53 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -1883,7 +1901,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -1892,11 +1910,11 @@ ) (call $segfault) ) - (f32.load align=1 + (f64.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 54 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 54 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -1913,7 +1931,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -1929,11 +1947,11 @@ ) (call $alignfault) ) - (f32.load align=2 + (f64.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 55 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 55 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -1950,7 +1968,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -1966,11 +1984,11 @@ ) (call $alignfault) ) - (f32.load + (f64.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_1_1 (; 56 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 56 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -1987,7 +2005,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 1) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -1996,11 +2014,18 @@ ) (call $segfault) ) - (f64.load8_u + (if + (i32.and + (get_local $2) + (i32.const 7) + ) + (call $alignfault) + ) + (f64.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_2_1 (; 57 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 57 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2017,7 +2042,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2026,11 +2051,11 @@ ) (call $segfault) ) - (f64.load16_u align=1 + (v128.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_2_2 (; 58 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 58 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2047,7 +2072,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2063,11 +2088,11 @@ ) (call $alignfault) ) - (f64.load16_u + (v128.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_1 (; 59 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 59 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2084,7 +2109,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2093,11 +2118,18 @@ ) (call $segfault) ) - (f64.load align=1 + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (v128.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_2 (; 60 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 60 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2114,7 +2146,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2126,15 +2158,15 @@ (if (i32.and (get_local $2) - (i32.const 1) + (i32.const 7) ) (call $alignfault) ) - (f64.load align=2 + (v128.load align=8 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_4 (; 61 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 61 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2151,7 +2183,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2163,15 +2195,15 @@ (if (i32.and (get_local $2) - (i32.const 3) + (i32.const 15) ) (call $alignfault) ) - (f64.load + (v128.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 62 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 62 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2188,7 +2220,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2197,11 +2229,11 @@ ) (call $segfault) ) - (f64.load align=1 + (v128.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 63 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 63 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2218,7 +2250,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2234,11 +2266,11 @@ ) (call $alignfault) ) - (f64.load align=2 + (v128.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 64 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 64 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2255,7 +2287,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2271,11 +2303,11 @@ ) (call $alignfault) ) - (f64.load align=4 + (v128.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 65 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 65 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -2292,7 +2324,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -2308,11 +2340,48 @@ ) (call $alignfault) ) - (f64.load + (v128.load align=8 (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_A (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 66 ;) (param $0 i32) (param $1 i32) (result v128) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 16) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 15) + ) + (call $alignfault) + ) + (v128.load + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i32_1_A (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2343,7 +2412,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2374,7 +2443,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2405,7 +2474,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_A (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_A (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2443,7 +2512,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2481,7 +2550,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2512,7 +2581,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2550,7 +2619,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_A (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_A (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2588,7 +2657,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -2626,7 +2695,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_A (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_A (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2657,7 +2726,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2688,7 +2757,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2719,7 +2788,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_A (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_A (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2757,7 +2826,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2795,7 +2864,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2826,7 +2895,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2864,7 +2933,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_A (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_A (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2902,7 +2971,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2940,7 +3009,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -2971,7 +3040,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -3009,7 +3078,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -3047,7 +3116,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_A (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_A (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -3085,7 +3154,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -3123,7 +3192,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_1_1 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -3140,7 +3209,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 1) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3149,12 +3218,12 @@ ) (call $segfault) ) - (f32.store8 + (f32.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_2_1 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -3171,7 +3240,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3180,12 +3249,19 @@ ) (call $segfault) ) - (f32.store16 align=1 + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (f32.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_2_2 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -3202,7 +3278,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3214,16 +3290,16 @@ (if (i32.and (get_local $3) - (i32.const 1) + (i32.const 3) ) (call $alignfault) ) - (f32.store16 + (f32.store (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_1 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -3240,7 +3316,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3249,12 +3325,12 @@ ) (call $segfault) ) - (f32.store align=1 + (f64.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_2 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -3271,7 +3347,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3287,12 +3363,12 @@ ) (call $alignfault) ) - (f32.store align=2 + (f64.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_4 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -3309,7 +3385,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3325,74 +3401,12 @@ ) (call $alignfault) ) - (f32.store - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_1_1 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 1) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store8 - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_2_1 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 2) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store16 align=1 + (f64.store align=4 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_2_2 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -3409,7 +3423,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3421,16 +3435,16 @@ (if (i32.and (get_local $3) - (i32.const 1) + (i32.const 7) ) (call $alignfault) ) - (f64.store16 + (f64.store (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_1 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_1 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -3447,7 +3461,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3456,12 +3470,12 @@ ) (call $segfault) ) - (f64.store align=1 + (v128.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_2 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_2 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -3478,7 +3492,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3494,12 +3508,12 @@ ) (call $alignfault) ) - (f64.store align=2 + (v128.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_4 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_4 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -3516,7 +3530,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3532,12 +3546,12 @@ ) (call $alignfault) ) - (f64.store + (v128.store align=4 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 101 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_8 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -3554,38 +3568,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 8) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store align=1 - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 102 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3597,54 +3580,16 @@ (if (i32.and (get_local $3) - (i32.const 1) - ) - (call $alignfault) - ) - (f64.store align=2 - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 103 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 8) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (get_local $3) - (i32.const 3) + (i32.const 7) ) (call $alignfault) ) - (f64.store align=4 + (v128.store align=8 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 104 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_16 (; 101 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -3661,7 +3606,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -3673,11 +3618,11 @@ (if (i32.and (get_local $3) - (i32.const 7) + (i32.const 15) ) (call $alignfault) ) - (f64.store + (v128.store (get_local $3) (get_local $2) ) @@ -4784,7 +4729,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_1_1 (; 35 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 35 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -4801,7 +4746,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 1) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -4810,11 +4755,11 @@ ) (call $segfault) ) - (f32.load8_u + (f32.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_2_1 (; 36 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 36 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -4831,7 +4776,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -4840,11 +4785,18 @@ ) (call $segfault) ) - (f32.load16_u align=1 + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (f32.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_2_2 (; 37 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 37 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -4861,7 +4813,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -4873,15 +4825,15 @@ (if (i32.and (get_local $2) - (i32.const 1) + (i32.const 3) ) (call $alignfault) ) - (f32.load16_u + (f32.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 38 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 38 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -4898,7 +4850,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -4907,11 +4859,11 @@ ) (call $segfault) ) - (f32.load align=1 + (f64.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 39 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 39 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -4928,7 +4880,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -4944,11 +4896,11 @@ ) (call $alignfault) ) - (f32.load align=2 + (f64.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 40 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 40 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -4965,7 +4917,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -4981,11 +4933,11 @@ ) (call $alignfault) ) - (f32.load + (f64.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_1_1 (; 41 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 41 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -5002,7 +4954,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 1) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5011,11 +4963,18 @@ ) (call $segfault) ) - (f64.load8_u + (if + (i32.and + (get_local $2) + (i32.const 7) + ) + (call $alignfault) + ) + (f64.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_2_1 (; 42 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 42 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5032,7 +4991,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5041,11 +5000,11 @@ ) (call $segfault) ) - (f64.load16_u align=1 + (v128.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_2_2 (; 43 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 43 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5062,7 +5021,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5078,11 +5037,11 @@ ) (call $alignfault) ) - (f64.load16_u + (v128.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_1 (; 44 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 44 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5099,7 +5058,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5108,11 +5067,18 @@ ) (call $segfault) ) - (f64.load align=1 + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (v128.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_2 (; 45 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 45 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5129,7 +5095,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5141,15 +5107,15 @@ (if (i32.and (get_local $2) - (i32.const 1) + (i32.const 7) ) (call $alignfault) ) - (f64.load align=2 + (v128.load align=8 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_4 (; 46 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 46 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5166,7 +5132,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5178,15 +5144,15 @@ (if (i32.and (get_local $2) - (i32.const 3) + (i32.const 15) ) (call $alignfault) ) - (f64.load + (v128.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 47 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 47 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5203,7 +5169,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5212,11 +5178,11 @@ ) (call $segfault) ) - (f64.load align=1 + (v128.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 48 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 48 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5233,7 +5199,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5249,11 +5215,11 @@ ) (call $alignfault) ) - (f64.load align=2 + (v128.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 49 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 49 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5270,7 +5236,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5286,11 +5252,11 @@ ) (call $alignfault) ) - (f64.load align=4 + (v128.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 50 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 50 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -5307,7 +5273,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5323,11 +5289,48 @@ ) (call $alignfault) ) - (f64.load + (v128.load align=8 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 51 ;) (param $0 i32) (param $1 i32) (result v128) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 16) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 15) + ) + (call $alignfault) + ) + (v128.load (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -5358,7 +5361,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -5389,7 +5392,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -5427,7 +5430,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -5458,7 +5461,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -5496,7 +5499,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -5534,7 +5537,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5565,7 +5568,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5596,7 +5599,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5634,7 +5637,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5665,7 +5668,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5703,7 +5706,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5741,7 +5744,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5772,7 +5775,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5810,7 +5813,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5848,7 +5851,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -5886,7 +5889,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_1_1 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -5903,7 +5906,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 1) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5912,12 +5915,12 @@ ) (call $segfault) ) - (f32.store8 + (f32.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_2_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -5934,7 +5937,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5943,12 +5946,19 @@ ) (call $segfault) ) - (f32.store16 align=1 + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (f32.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_2_2 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -5965,7 +5975,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -5977,16 +5987,16 @@ (if (i32.and (get_local $3) - (i32.const 1) + (i32.const 3) ) (call $alignfault) ) - (f32.store16 + (f32.store (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -6003,7 +6013,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6012,12 +6022,12 @@ ) (call $segfault) ) - (f32.store align=1 + (f64.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -6034,7 +6044,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6050,12 +6060,12 @@ ) (call $alignfault) ) - (f32.store align=2 + (f64.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_4 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -6072,7 +6082,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6088,74 +6098,12 @@ ) (call $alignfault) ) - (f32.store - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_1_1 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 1) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store8 - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_2_1 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 2) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store16 align=1 + (f64.store align=4 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_2_2 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -6172,7 +6120,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6184,16 +6132,16 @@ (if (i32.and (get_local $3) - (i32.const 1) + (i32.const 7) ) (call $alignfault) ) - (f64.store16 + (f64.store (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_1 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_1 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -6210,7 +6158,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6219,12 +6167,12 @@ ) (call $segfault) ) - (f64.store align=1 + (v128.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_2 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_2 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -6241,7 +6189,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6257,12 +6205,12 @@ ) (call $alignfault) ) - (f64.store align=2 + (v128.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_4 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_4 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -6279,7 +6227,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6295,43 +6243,12 @@ ) (call $alignfault) ) - (f64.store - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 8) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store align=1 + (v128.store align=4 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_8 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -6348,7 +6265,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6360,54 +6277,16 @@ (if (i32.and (get_local $3) - (i32.const 1) - ) - (call $alignfault) - ) - (f64.store align=2 - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 8) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (get_local $3) - (i32.const 3) + (i32.const 7) ) (call $alignfault) ) - (f64.store align=4 + (v128.store align=8 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_16 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -6424,7 +6303,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -6436,11 +6315,11 @@ (if (i32.and (get_local $3) - (i32.const 7) + (i32.const 15) ) (call $alignfault) ) - (f64.store + (v128.store (get_local $3) (get_local $2) ) @@ -8071,7 +7950,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_1_1 (; 49 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 49 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -8088,7 +7967,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 1) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8097,11 +7976,11 @@ ) (call $segfault) ) - (f32.load8_u + (f32.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_2_1 (; 50 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 50 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -8118,7 +7997,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8127,11 +8006,18 @@ ) (call $segfault) ) - (f32.load16_u align=1 + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (f32.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_2_2 (; 51 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 51 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (set_local $2 (i32.add @@ -8148,7 +8034,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8160,15 +8046,15 @@ (if (i32.and (get_local $2) - (i32.const 1) + (i32.const 3) ) (call $alignfault) ) - (f32.load16_u + (f32.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 52 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 52 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -8185,7 +8071,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8194,11 +8080,11 @@ ) (call $segfault) ) - (f32.load align=1 + (f64.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 53 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 53 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -8215,7 +8101,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8231,11 +8117,11 @@ ) (call $alignfault) ) - (f32.load align=2 + (f64.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 54 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 54 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -8252,7 +8138,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8268,11 +8154,11 @@ ) (call $alignfault) ) - (f32.load + (f64.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_1_1 (; 55 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 55 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (set_local $2 (i32.add @@ -8289,7 +8175,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 1) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8298,11 +8184,18 @@ ) (call $segfault) ) - (f64.load8_u + (if + (i32.and + (get_local $2) + (i32.const 7) + ) + (call $alignfault) + ) + (f64.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_2_1 (; 56 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 56 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8319,7 +8212,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8328,11 +8221,11 @@ ) (call $segfault) ) - (f64.load16_u align=1 + (v128.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_2_2 (; 57 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 57 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8349,7 +8242,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 2) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8365,11 +8258,11 @@ ) (call $alignfault) ) - (f64.load16_u + (v128.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_1 (; 58 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 58 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8386,7 +8279,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8395,11 +8288,18 @@ ) (call $segfault) ) - (f64.load align=1 + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (v128.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_2 (; 59 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 59 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8416,7 +8316,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8428,15 +8328,15 @@ (if (i32.and (get_local $2) - (i32.const 1) + (i32.const 7) ) (call $alignfault) ) - (f64.load align=2 + (v128.load align=8 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_4_4 (; 60 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 60 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8453,7 +8353,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8465,15 +8365,15 @@ (if (i32.and (get_local $2) - (i32.const 3) + (i32.const 15) ) (call $alignfault) ) - (f64.load + (v128.load (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 61 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 61 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8490,7 +8390,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8499,11 +8399,11 @@ ) (call $segfault) ) - (f64.load align=1 + (v128.load align=1 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 62 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 62 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8520,7 +8420,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8536,11 +8436,11 @@ ) (call $alignfault) ) - (f64.load align=2 + (v128.load align=2 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 63 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 63 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8557,7 +8457,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8573,11 +8473,11 @@ ) (call $alignfault) ) - (f64.load align=4 + (v128.load align=4 (get_local $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 64 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 64 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (set_local $2 (i32.add @@ -8594,7 +8494,7 @@ (i32.gt_u (i32.add (get_local $2) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -8610,11 +8510,48 @@ ) (call $alignfault) ) - (f64.load + (v128.load align=8 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 65 ;) (param $0 i32) (param $1 i32) (result v128) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 16) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 15) + ) + (call $alignfault) + ) + (v128.load (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_A (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_A (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8645,7 +8582,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8676,7 +8613,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8707,7 +8644,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_A (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_A (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8745,7 +8682,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8783,7 +8720,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8814,7 +8751,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8852,7 +8789,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_A (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_A (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8890,7 +8827,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (set_local $3 (i32.add @@ -8928,7 +8865,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_A (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_A (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -8959,7 +8896,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -8990,7 +8927,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9021,7 +8958,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_A (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_A (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9059,7 +8996,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9097,7 +9034,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9128,7 +9065,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9166,7 +9103,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_A (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_A (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9204,7 +9141,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9242,7 +9179,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9273,7 +9210,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9311,7 +9248,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9349,7 +9286,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_A (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_A (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9387,7 +9324,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (set_local $3 (i32.add @@ -9425,7 +9362,7 @@ (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_1_1 (; 88 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -9442,7 +9379,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 1) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9451,12 +9388,12 @@ ) (call $segfault) ) - (f32.store8 + (f32.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_2_1 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -9473,7 +9410,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9482,12 +9419,19 @@ ) (call $segfault) ) - (f32.store16 align=1 + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (f32.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_2_2 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (set_local $3 (i32.add @@ -9504,7 +9448,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 4) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9516,16 +9460,16 @@ (if (i32.and (get_local $3) - (i32.const 1) + (i32.const 3) ) (call $alignfault) ) - (f32.store16 + (f32.store (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_1 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -9542,7 +9486,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9551,12 +9495,12 @@ ) (call $segfault) ) - (f32.store align=1 + (f64.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_2 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -9573,7 +9517,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9589,12 +9533,12 @@ ) (call $alignfault) ) - (f32.store align=2 + (f64.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f64_8_4 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -9611,7 +9555,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9627,74 +9571,12 @@ ) (call $alignfault) ) - (f32.store - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_1_1 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 1) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store8 - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_2_1 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 2) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store16 align=1 + (f64.store align=4 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_2_2 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (set_local $3 (i32.add @@ -9711,7 +9593,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 2) + (i32.const 8) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9723,16 +9605,16 @@ (if (i32.and (get_local $3) - (i32.const 1) + (i32.const 7) ) (call $alignfault) ) - (f64.store16 + (f64.store (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_1 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_1 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -9749,7 +9631,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9758,12 +9640,12 @@ ) (call $segfault) ) - (f64.store align=1 + (v128.store align=1 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_2 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_2 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -9780,7 +9662,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9796,12 +9678,12 @@ ) (call $alignfault) ) - (f64.store align=2 + (v128.store align=2 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_4_4 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_4 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -9818,7 +9700,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 4) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9834,81 +9716,12 @@ ) (call $alignfault) ) - (f64.store - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 8) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (f64.store align=1 - (get_local $3) - (get_local $2) - ) - ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 101 ;) (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - (set_local $3 - (i32.add - (get_local $0) - (get_local $1) - ) - ) - (if - (i32.or - (i32.eq - (get_local $3) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (get_local $3) - (i32.const 8) - ) - (i32.load - (get_global $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (get_local $3) - (i32.const 1) - ) - (call $alignfault) - ) - (f64.store align=2 + (v128.store align=4 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 102 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_8 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -9925,7 +9738,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9937,16 +9750,16 @@ (if (i32.and (get_local $3) - (i32.const 3) + (i32.const 7) ) (call $alignfault) ) - (f64.store align=4 + (v128.store align=8 (get_local $3) (get_local $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 103 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_v128_16_16 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (set_local $3 (i32.add @@ -9963,7 +9776,7 @@ (i32.gt_u (i32.add (get_local $3) - (i32.const 8) + (i32.const 16) ) (i32.load (get_global $DYNAMICTOP_PTR) @@ -9975,11 +9788,11 @@ (if (i32.and (get_local $3) - (i32.const 7) + (i32.const 15) ) (call $alignfault) ) - (f64.store + (v128.store (get_local $3) (get_local $2) ) diff --git a/test/passes/safe-heap.wast b/test/passes/safe-heap.wast index 19aa94a35..a2754b469 100644 --- a/test/passes/safe-heap.wast +++ b/test/passes/safe-heap.wast @@ -15,6 +15,7 @@ (drop (i64.load (i32.const 11))) (drop (f32.load (i32.const 12))) (drop (f64.load (i32.const 13))) + (drop (v128.load (i32.const 14))) ) (func $stores (i32.store (i32.const 1) (i32.const 100)) @@ -31,6 +32,7 @@ (i64.store (i32.const 11) (i64.const 1100)) (f32.store (i32.const 12) (f32.const 1200)) (f64.store (i32.const 13) (f64.const 1300)) + (v128.store (i32.const 14) (v128.const i32 1 2 3 4)) ) ) ;; not shared @@ -52,4 +54,3 @@ (i32.store (i32.const 1) (i32.const 100)) ) ) - diff --git a/test/passes/safe-heap_disable-simd.txt b/test/passes/safe-heap_disable-simd.txt new file mode 100644 index 000000000..cf6fdc42c --- /dev/null +++ b/test/passes/safe-heap_disable-simd.txt @@ -0,0 +1,2148 @@ +(module + (type $FUNCSIG$v (func)) + (import "env" "DYNAMICTOP_PTR" (global $DYNAMICTOP_PTR i32)) + (import "env" "segfault" (func $segfault)) + (import "env" "alignfault" (func $alignfault)) + (func $SAFE_HEAP_LOAD_i32_1_1 (; 2 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 1) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.load8_s + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_1_U_1 (; 3 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 1) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.load8_u + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_2_1 (; 4 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.load16_s align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_2_2 (; 5 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i32.load16_s + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_2_U_1 (; 6 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.load16_u align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_2_U_2 (; 7 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i32.load16_u + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_4_1 (; 8 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.load align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_4_2 (; 9 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i32.load align=2 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_4_4 (; 10 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (i32.load + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_4_U_1 (; 11 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.load align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_4_U_2 (; 12 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i32.load align=2 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i32_4_U_4 (; 13 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (i32.load + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_1_1 (; 14 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 1) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.load8_s + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 15 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 1) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.load8_u + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_2_1 (; 16 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.load16_s align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_2_2 (; 17 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.load16_s + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.load16_u align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.load16_u + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_4_1 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.load32_s align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_4_2 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.load32_s align=2 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_4_4 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (i64.load32_s + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.load32_u align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.load32_u align=2 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (i64.load32_u + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_8_1 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.load align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_8_2 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.load align=2 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_8_4 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (i64.load align=4 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_8_8 (; 29 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 7) + ) + (call $alignfault) + ) + (i64.load + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_8_U_1 (; 30 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.load align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_8_U_2 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.load align=2 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_8_U_4 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (i64.load align=4 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_i64_8_U_8 (; 33 ;) (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 7) + ) + (call $alignfault) + ) + (i64.load + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 34 ;) (param $0 i32) (param $1 i32) (result f32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (f32.load align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 35 ;) (param $0 i32) (param $1 i32) (result f32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (f32.load align=2 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 36 ;) (param $0 i32) (param $1 i32) (result f32) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (f32.load + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 37 ;) (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (f64.load align=1 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 38 ;) (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 1) + ) + (call $alignfault) + ) + (f64.load align=2 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 39 ;) (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 3) + ) + (call $alignfault) + ) + (f64.load align=4 + (get_local $2) + ) + ) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 40 ;) (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) + (set_local $2 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $2) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $2) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $2) + (i32.const 7) + ) + (call $alignfault) + ) + (f64.load + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i32_1_1 (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 1) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.store8 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i32_2_1 (; 42 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.store16 align=1 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i32_2_2 (; 43 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (i32.store16 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i32_4_1 (; 44 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i32.store align=1 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i32_4_2 (; 45 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (i32.store align=2 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i32_4_4 (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 3) + ) + (call $alignfault) + ) + (i32.store + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_1_1 (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 1) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.store8 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_2_1 (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.store16 align=1 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_2_2 (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 2) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.store16 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_4_1 (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.store32 align=1 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_4_2 (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.store32 align=2 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_4_4 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 3) + ) + (call $alignfault) + ) + (i64.store32 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_8_1 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (i64.store align=1 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_8_2 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (i64.store align=2 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_8_4 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 3) + ) + (call $alignfault) + ) + (i64.store align=4 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_i64_8_8 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 7) + ) + (call $alignfault) + ) + (i64.store + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_f32_4_1 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (f32.store align=1 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_f32_4_2 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (f32.store align=2 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_f32_4_4 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 4) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 3) + ) + (call $alignfault) + ) + (f32.store + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_f64_8_1 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (f64.store align=1 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_f64_8_2 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 1) + ) + (call $alignfault) + ) + (f64.store align=2 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_f64_8_4 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 3) + ) + (call $alignfault) + ) + (f64.store align=4 + (get_local $3) + (get_local $2) + ) + ) + (func $SAFE_HEAP_STORE_f64_8_8 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (local $3 i32) + (set_local $3 + (i32.add + (get_local $0) + (get_local $1) + ) + ) + (if + (i32.or + (i32.eq + (get_local $3) + (i32.const 0) + ) + (i32.gt_u + (i32.add + (get_local $3) + (i32.const 8) + ) + (i32.load + (get_global $DYNAMICTOP_PTR) + ) + ) + ) + (call $segfault) + ) + (if + (i32.and + (get_local $3) + (i32.const 7) + ) + (call $alignfault) + ) + (f64.store + (get_local $3) + (get_local $2) + ) + ) +) diff --git a/test/passes/safe-heap_disable-simd.wast b/test/passes/safe-heap_disable-simd.wast new file mode 100644 index 000000000..3af8f2545 --- /dev/null +++ b/test/passes/safe-heap_disable-simd.wast @@ -0,0 +1 @@ +(module) diff --git a/test/simd.wast b/test/simd.wast new file mode 100644 index 000000000..79ecaeeaf --- /dev/null +++ b/test/simd.wast @@ -0,0 +1,793 @@ +(module + (func $v128.load (param $0 i32) (result v128) + (v128.load offset=0 align=16 + (get_local $0) + ) + ) + (func $v128.store (param $0 i32) (param $1 v128) + (v128.store offset=0 align=16 + (get_local $0) + (get_local $1) + ) + ) + (func $v128.const (result v128) + (v128.const i32 1 2 3 4) + ) + (func $v128.shuffle (param $0 v128) (param $1 v128) (result v128) + (v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31 + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.splat (param $0 i32) (result v128) + (i8x16.splat + (get_local $0) + ) + ) + (func $i8x16.extract_lane_s (param $0 v128) (result i32) + (i8x16.extract_lane_s 0 + (get_local $0) + ) + ) + (func $i8x16.extract_lane_u (param $0 v128) (result i32) + (i8x16.extract_lane_u 0 + (get_local $0) + ) + ) + (func $i8x16.replace_lane (param $0 v128) (param $1 i32) (result v128) + (i8x16.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.splat (param $0 i32) (result v128) + (i16x8.splat + (get_local $0) + ) + ) + (func $i16x8.extract_lane_s (param $0 v128) (result i32) + (i16x8.extract_lane_s 0 + (get_local $0) + ) + ) + (func $i16x8.extract_lane_u (param $0 v128) (result i32) + (i16x8.extract_lane_u 0 + (get_local $0) + ) + ) + (func $i16x8.replace_lane (param $0 v128) (param $1 i32) (result v128) + (i16x8.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.splat (param $0 i32) (result v128) + (i32x4.splat + (get_local $0) + ) + ) + (func $i32x4.extract_lane (param $0 v128) (result i32) + (i32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $i32x4.replace_lane (param $0 v128) (param $1 i32) (result v128) + (i32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.extract_lane (param $0 v128) (result i64) + (i64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $i64x2.replace_lane (param $0 v128) (param $1 i64) (result v128) + (i64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.splat (param $0 f32) (result v128) + (f32x4.splat + (get_local $0) + ) + ) + (func $f32x4.extract_lane (param $0 v128) (result f32) + (f32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $f32x4.replace_lane (param $0 v128) (param $1 f32) (result v128) + (f32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.splat (param $0 f64) (result v128) + (f64x2.splat + (get_local $0) + ) + ) + (func $f64x2.extract_lane (param $0 v128) (result f64) + (f64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $f64x2.replace_lane (param $0 v128) (param $1 f64) (result v128) + (f64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.eq (param $0 v128) (param $1 v128) (result v128) + (i8x16.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ne (param $0 v128) (param $1 v128) (result v128) + (i8x16.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.lt_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.lt_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.gt_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.gt_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.le_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.le_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ge_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ge_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.eq (param $0 v128) (param $1 v128) (result v128) + (i16x8.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ne (param $0 v128) (param $1 v128) (result v128) + (i16x8.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.lt_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.lt_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.gt_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.gt_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.le_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.le_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ge_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ge_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.eq (param $0 v128) (param $1 v128) (result v128) + (i32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ne (param $0 v128) (param $1 v128) (result v128) + (i32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.lt_s (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.lt_u (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.gt_s (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.gt_u (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.le_s (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.le_u (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ge_s (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ge_u (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.eq (param $0 v128) (param $1 v128) (result v128) + (f32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.ne (param $0 v128) (param $1 v128) (result v128) + (f32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.lt (param $0 v128) (param $1 v128) (result v128) + (f32x4.lt + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.gt (param $0 v128) (param $1 v128) (result v128) + (f32x4.gt + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.le (param $0 v128) (param $1 v128) (result v128) + (f32x4.le + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.ge (param $0 v128) (param $1 v128) (result v128) + (f32x4.ge + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.eq (param $0 v128) (param $1 v128) (result v128) + (f64x2.eq + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.ne (param $0 v128) (param $1 v128) (result v128) + (f64x2.ne + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.lt (param $0 v128) (param $1 v128) (result v128) + (f64x2.lt + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.gt (param $0 v128) (param $1 v128) (result v128) + (f64x2.gt + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.le (param $0 v128) (param $1 v128) (result v128) + (f64x2.le + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.ge (param $0 v128) (param $1 v128) (result v128) + (f64x2.ge + (get_local $0) + (get_local $1) + ) + ) + (func $v128.not (param $0 v128) (result v128) + (v128.not + (get_local $0) + ) + ) + (func $v128.and (param $0 v128) (param $1 v128) (result v128) + (v128.and + (get_local $0) + (get_local $1) + ) + ) + (func $v128.or (param $0 v128) (param $1 v128) (result v128) + (v128.or + (get_local $0) + (get_local $1) + ) + ) + (func $v128.xor (param $0 v128) (param $1 v128) (result v128) + (v128.xor + (get_local $0) + (get_local $1) + ) + ) + (func $v128.bitselect (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (v128.bitselect + (get_local $0) + (get_local $1) + (get_local $2) + ) + ) + (func $i8x16.neg (param $0 v128) (result v128) + (i8x16.neg + (get_local $0) + ) + ) + (func $i8x16.any_true (param $0 v128) (result i32) + (i8x16.any_true + (get_local $0) + ) + ) + (func $i8x16.all_true (param $0 v128) (result i32) + (i8x16.all_true + (get_local $0) + ) + ) + (func $i8x16.shl (param $0 v128) (param $1 i32) (result v128) + (i8x16.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.shr_s (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.shr_u (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add (param $0 v128) (param $1 v128) (result v128) + (i8x16.add + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add_saturate_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add_saturate_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub_saturate_s (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub_saturate_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.mul (param $0 v128) (param $1 v128) (result v128) + (i8x16.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.neg (param $0 v128) (result v128) + (i16x8.neg + (get_local $0) + ) + ) + (func $i16x8.any_true (param $0 v128) (result i32) + (i16x8.any_true + (get_local $0) + ) + ) + (func $i16x8.all_true (param $0 v128) (result i32) + (i16x8.all_true + (get_local $0) + ) + ) + (func $i16x8.shl (param $0 v128) (param $1 i32) (result v128) + (i16x8.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.shr_s (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.shr_u (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add (param $0 v128) (param $1 v128) (result v128) + (i16x8.add + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add_saturate_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add_saturate_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub_saturate_s (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub_saturate_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.mul (param $0 v128) (param $1 v128) (result v128) + (i16x8.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.neg (param $0 v128) (result v128) + (i32x4.neg + (get_local $0) + ) + ) + (func $i32x4.any_true (param $0 v128) (result i32) + (i32x4.any_true + (get_local $0) + ) + ) + (func $i32x4.all_true (param $0 v128) (result i32) + (i32x4.all_true + (get_local $0) + ) + ) + (func $i32x4.shl (param $0 v128) (param $1 i32) (result v128) + (i32x4.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.shr_s (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.shr_u (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.add (param $0 v128) (param $1 v128) (result v128) + (i32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.sub (param $0 v128) (param $1 v128) (result v128) + (i32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.mul (param $0 v128) (param $1 v128) (result v128) + (i32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.neg (param $0 v128) (result v128) + (i64x2.neg + (get_local $0) + ) + ) + (func $i64x2.any_true (param $0 v128) (result i32) + (i64x2.any_true + (get_local $0) + ) + ) + (func $i64x2.all_true (param $0 v128) (result i32) + (i64x2.all_true + (get_local $0) + ) + ) + (func $i64x2.shl (param $0 v128) (param $1 i32) (result v128) + (i64x2.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.shr_s (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.shr_u (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.add (param $0 v128) (param $1 v128) (result v128) + (i64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.sub (param $0 v128) (param $1 v128) (result v128) + (i64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.add (param $0 v128) (param $1 v128) (result v128) + (f32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.sub (param $0 v128) (param $1 v128) (result v128) + (f32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.mul (param $0 v128) (param $1 v128) (result v128) + (f32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.div (param $0 v128) (param $1 v128) (result v128) + (f32x4.div + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.min (param $0 v128) (param $1 v128) (result v128) + (f32x4.min + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.max (param $0 v128) (param $1 v128) (result v128) + (f32x4.max + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.abs (param $0 v128) (result v128) + (f32x4.abs + (get_local $0) + ) + ) + (func $f32x4.neg (param $0 v128) (result v128) + (f32x4.neg + (get_local $0) + ) + ) + (func $f32x4.sqrt (param $0 v128) (result v128) + (f32x4.sqrt + (get_local $0) + ) + ) + (func $f64x2.add (param $0 v128) (param $1 v128) (result v128) + (f64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.sub (param $0 v128) (param $1 v128) (result v128) + (f64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.mul (param $0 v128) (param $1 v128) (result v128) + (f64x2.mul + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.div (param $0 v128) (param $1 v128) (result v128) + (f64x2.div + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.min (param $0 v128) (param $1 v128) (result v128) + (f64x2.min + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.max (param $0 v128) (param $1 v128) (result v128) + (f64x2.max + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.abs (param $0 v128) (result v128) + (f64x2.abs + (get_local $0) + ) + ) + (func $f64x2.neg (param $0 v128) (result v128) + (f64x2.neg + (get_local $0) + ) + ) + (func $f64x2.sqrt (param $0 v128) (result v128) + (f64x2.sqrt + (get_local $0) + ) + ) + (func $i32x4.trunc_s/f32x4:sat (param $0 v128) (result v128) + (i32x4.trunc_s/f32x4:sat + (get_local $0) + ) + ) + (func $i32x4.trunc_u/f32x4:sat (param $0 v128) (result v128) + (i32x4.trunc_u/f32x4:sat + (get_local $0) + ) + ) + (func $i64x2.trunc_s/f64x2:sat (param $0 v128) (result v128) + (i64x2.trunc_s/f64x2:sat + (get_local $0) + ) + ) + (func $i64x2.trunc_u/f64x2:sat (param $0 v128) (result v128) + (i64x2.trunc_u/f64x2:sat + (get_local $0) + ) + ) + (func $f32x4.convert_s/i32x4 (param $0 v128) (result v128) + (f32x4.convert_s/i32x4 + (get_local $0) + ) + ) + (func $f32x4.convert_u/i32x4 (param $0 v128) (result v128) + (f32x4.convert_u/i32x4 + (get_local $0) + ) + ) + (func $f64x2.convert_s/i64x2 (param $0 v128) (result v128) + (f64x2.convert_s/i64x2 + (get_local $0) + ) + ) + (func $f64x2.convert_u/i64x2 (param $0 v128) (result v128) + (f64x2.convert_u/i64x2 + (get_local $0) + ) + ) +) diff --git a/test/simd.wast.from-wast b/test/simd.wast.from-wast new file mode 100644 index 000000000..76ff5977e --- /dev/null +++ b/test/simd.wast.from-wast @@ -0,0 +1,809 @@ +(module + (type $0 (func (param i32) (result v128))) + (type $1 (func (param i32 v128))) + (type $2 (func (result v128))) + (type $3 (func (param v128 v128) (result v128))) + (type $4 (func (param v128) (result i32))) + (type $5 (func (param v128 i32) (result v128))) + (type $6 (func (param v128) (result i64))) + (type $7 (func (param v128 i64) (result v128))) + (type $8 (func (param f32) (result v128))) + (type $9 (func (param v128) (result f32))) + (type $10 (func (param v128 f32) (result v128))) + (type $11 (func (param f64) (result v128))) + (type $12 (func (param v128) (result f64))) + (type $13 (func (param v128 f64) (result v128))) + (type $14 (func (param v128) (result v128))) + (type $15 (func (param v128 v128 v128) (result v128))) + (func $v128.load (; 0 ;) (type $0) (param $0 i32) (result v128) + (v128.load + (get_local $0) + ) + ) + (func $v128.store (; 1 ;) (type $1) (param $0 i32) (param $1 v128) + (v128.store + (get_local $0) + (get_local $1) + ) + ) + (func $v128.const (; 2 ;) (type $2) (result v128) + (v128.const i32 0x1 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x3 0x0 0x0 0x0 0x4 0x0 0x0 0x0) + ) + (func $v128.shuffle (; 3 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31 + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.splat (; 4 ;) (type $0) (param $0 i32) (result v128) + (i8x16.splat + (get_local $0) + ) + ) + (func $i8x16.extract_lane_s (; 5 ;) (type $4) (param $0 v128) (result i32) + (i8x16.extract_lane_s 0 + (get_local $0) + ) + ) + (func $i8x16.extract_lane_u (; 6 ;) (type $4) (param $0 v128) (result i32) + (i8x16.extract_lane_u 0 + (get_local $0) + ) + ) + (func $i8x16.replace_lane (; 7 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.splat (; 8 ;) (type $0) (param $0 i32) (result v128) + (i16x8.splat + (get_local $0) + ) + ) + (func $i16x8.extract_lane_s (; 9 ;) (type $4) (param $0 v128) (result i32) + (i16x8.extract_lane_s 0 + (get_local $0) + ) + ) + (func $i16x8.extract_lane_u (; 10 ;) (type $4) (param $0 v128) (result i32) + (i16x8.extract_lane_u 0 + (get_local $0) + ) + ) + (func $i16x8.replace_lane (; 11 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.splat (; 12 ;) (type $0) (param $0 i32) (result v128) + (i32x4.splat + (get_local $0) + ) + ) + (func $i32x4.extract_lane (; 13 ;) (type $4) (param $0 v128) (result i32) + (i32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $i32x4.replace_lane (; 14 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.extract_lane (; 15 ;) (type $6) (param $0 v128) (result i64) + (i64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $i64x2.replace_lane (; 16 ;) (type $7) (param $0 v128) (param $1 i64) (result v128) + (i64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.splat (; 17 ;) (type $8) (param $0 f32) (result v128) + (f32x4.splat + (get_local $0) + ) + ) + (func $f32x4.extract_lane (; 18 ;) (type $9) (param $0 v128) (result f32) + (f32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $f32x4.replace_lane (; 19 ;) (type $10) (param $0 v128) (param $1 f32) (result v128) + (f32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.splat (; 20 ;) (type $11) (param $0 f64) (result v128) + (f64x2.splat + (get_local $0) + ) + ) + (func $f64x2.extract_lane (; 21 ;) (type $12) (param $0 v128) (result f64) + (f64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $f64x2.replace_lane (; 22 ;) (type $13) (param $0 v128) (param $1 f64) (result v128) + (f64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.eq (; 23 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ne (; 24 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.lt_s (; 25 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.lt_u (; 26 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.gt_s (; 27 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.gt_u (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.le_s (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.le_u (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ge_s (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ge_u (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.eq (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ne (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.lt_s (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.lt_u (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.gt_s (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.gt_u (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.le_s (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.le_u (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ge_s (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ge_u (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.eq (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ne (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.lt_s (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.lt_u (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.gt_s (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.gt_u (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.le_s (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.le_u (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ge_s (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ge_u (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.eq (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.ne (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.lt (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.lt + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.gt (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.gt + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.le (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.le + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.ge (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.ge + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.eq (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.eq + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.ne (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.ne + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.lt (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.lt + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.gt (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.gt + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.le (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.le + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.ge (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.ge + (get_local $0) + (get_local $1) + ) + ) + (func $v128.not (; 65 ;) (type $14) (param $0 v128) (result v128) + (v128.not + (get_local $0) + ) + ) + (func $v128.and (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.and + (get_local $0) + (get_local $1) + ) + ) + (func $v128.or (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.or + (get_local $0) + (get_local $1) + ) + ) + (func $v128.xor (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.xor + (get_local $0) + (get_local $1) + ) + ) + (func $v128.bitselect (; 69 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (v128.bitselect + (get_local $0) + (get_local $1) + (get_local $2) + ) + ) + (func $i8x16.neg (; 70 ;) (type $14) (param $0 v128) (result v128) + (i8x16.neg + (get_local $0) + ) + ) + (func $i8x16.any_true (; 71 ;) (type $4) (param $0 v128) (result i32) + (i8x16.any_true + (get_local $0) + ) + ) + (func $i8x16.all_true (; 72 ;) (type $4) (param $0 v128) (result i32) + (i8x16.all_true + (get_local $0) + ) + ) + (func $i8x16.shl (; 73 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.shr_s (; 74 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.shr_u (; 75 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add (; 76 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add_saturate_s (; 77 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add_saturate_u (; 78 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub (; 79 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub_saturate_s (; 80 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub_saturate_u (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.mul (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.neg (; 83 ;) (type $14) (param $0 v128) (result v128) + (i16x8.neg + (get_local $0) + ) + ) + (func $i16x8.any_true (; 84 ;) (type $4) (param $0 v128) (result i32) + (i16x8.any_true + (get_local $0) + ) + ) + (func $i16x8.all_true (; 85 ;) (type $4) (param $0 v128) (result i32) + (i16x8.all_true + (get_local $0) + ) + ) + (func $i16x8.shl (; 86 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.shr_s (; 87 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.shr_u (; 88 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add (; 89 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add_saturate_s (; 90 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add_saturate_u (; 91 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub (; 92 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub_saturate_s (; 93 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub_saturate_u (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.mul (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.neg (; 96 ;) (type $14) (param $0 v128) (result v128) + (i32x4.neg + (get_local $0) + ) + ) + (func $i32x4.any_true (; 97 ;) (type $4) (param $0 v128) (result i32) + (i32x4.any_true + (get_local $0) + ) + ) + (func $i32x4.all_true (; 98 ;) (type $4) (param $0 v128) (result i32) + (i32x4.all_true + (get_local $0) + ) + ) + (func $i32x4.shl (; 99 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.shr_s (; 100 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.shr_u (; 101 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.add (; 102 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.sub (; 103 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.mul (; 104 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.neg (; 105 ;) (type $14) (param $0 v128) (result v128) + (i64x2.neg + (get_local $0) + ) + ) + (func $i64x2.any_true (; 106 ;) (type $4) (param $0 v128) (result i32) + (i64x2.any_true + (get_local $0) + ) + ) + (func $i64x2.all_true (; 107 ;) (type $4) (param $0 v128) (result i32) + (i64x2.all_true + (get_local $0) + ) + ) + (func $i64x2.shl (; 108 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.shr_s (; 109 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.shr_u (; 110 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.add (; 111 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.sub (; 112 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.add (; 113 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.sub (; 114 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.mul (; 115 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.div (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.div + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.min (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.min + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.max (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.max + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.abs (; 119 ;) (type $14) (param $0 v128) (result v128) + (f32x4.abs + (get_local $0) + ) + ) + (func $f32x4.neg (; 120 ;) (type $14) (param $0 v128) (result v128) + (f32x4.neg + (get_local $0) + ) + ) + (func $f32x4.sqrt (; 121 ;) (type $14) (param $0 v128) (result v128) + (f32x4.sqrt + (get_local $0) + ) + ) + (func $f64x2.add (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.sub (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.mul (; 124 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.mul + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.div (; 125 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.div + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.min (; 126 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.min + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.max (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.max + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.abs (; 128 ;) (type $14) (param $0 v128) (result v128) + (f64x2.abs + (get_local $0) + ) + ) + (func $f64x2.neg (; 129 ;) (type $14) (param $0 v128) (result v128) + (f64x2.neg + (get_local $0) + ) + ) + (func $f64x2.sqrt (; 130 ;) (type $14) (param $0 v128) (result v128) + (f64x2.sqrt + (get_local $0) + ) + ) + (func $i32x4.trunc_s/f32x4:sat (; 131 ;) (type $14) (param $0 v128) (result v128) + (i32x4.trunc_s/f32x4:sat + (get_local $0) + ) + ) + (func $i32x4.trunc_u/f32x4:sat (; 132 ;) (type $14) (param $0 v128) (result v128) + (i32x4.trunc_u/f32x4:sat + (get_local $0) + ) + ) + (func $i64x2.trunc_s/f64x2:sat (; 133 ;) (type $14) (param $0 v128) (result v128) + (i64x2.trunc_s/f64x2:sat + (get_local $0) + ) + ) + (func $i64x2.trunc_u/f64x2:sat (; 134 ;) (type $14) (param $0 v128) (result v128) + (i64x2.trunc_u/f64x2:sat + (get_local $0) + ) + ) + (func $f32x4.convert_s/i32x4 (; 135 ;) (type $14) (param $0 v128) (result v128) + (f32x4.convert_s/i32x4 + (get_local $0) + ) + ) + (func $f32x4.convert_u/i32x4 (; 136 ;) (type $14) (param $0 v128) (result v128) + (f32x4.convert_u/i32x4 + (get_local $0) + ) + ) + (func $f64x2.convert_s/i64x2 (; 137 ;) (type $14) (param $0 v128) (result v128) + (f64x2.convert_s/i64x2 + (get_local $0) + ) + ) + (func $f64x2.convert_u/i64x2 (; 138 ;) (type $14) (param $0 v128) (result v128) + (f64x2.convert_u/i64x2 + (get_local $0) + ) + ) +) diff --git a/test/simd.wast.fromBinary b/test/simd.wast.fromBinary new file mode 100644 index 000000000..e3210a891 --- /dev/null +++ b/test/simd.wast.fromBinary @@ -0,0 +1,810 @@ +(module + (type $0 (func (param i32) (result v128))) + (type $1 (func (param i32 v128))) + (type $2 (func (result v128))) + (type $3 (func (param v128 v128) (result v128))) + (type $4 (func (param v128) (result i32))) + (type $5 (func (param v128 i32) (result v128))) + (type $6 (func (param v128) (result i64))) + (type $7 (func (param v128 i64) (result v128))) + (type $8 (func (param f32) (result v128))) + (type $9 (func (param v128) (result f32))) + (type $10 (func (param v128 f32) (result v128))) + (type $11 (func (param f64) (result v128))) + (type $12 (func (param v128) (result f64))) + (type $13 (func (param v128 f64) (result v128))) + (type $14 (func (param v128) (result v128))) + (type $15 (func (param v128 v128 v128) (result v128))) + (func $v128.load (; 0 ;) (type $0) (param $0 i32) (result v128) + (v128.load + (get_local $0) + ) + ) + (func $v128.store (; 1 ;) (type $1) (param $0 i32) (param $1 v128) + (v128.store + (get_local $0) + (get_local $1) + ) + ) + (func $v128.const (; 2 ;) (type $2) (result v128) + (v128.const i32 0x1 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x3 0x0 0x0 0x0 0x4 0x0 0x0 0x0) + ) + (func $v128.shuffle (; 3 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31 + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.splat (; 4 ;) (type $0) (param $0 i32) (result v128) + (i8x16.splat + (get_local $0) + ) + ) + (func $i8x16.extract_lane_s (; 5 ;) (type $4) (param $0 v128) (result i32) + (i8x16.extract_lane_s 0 + (get_local $0) + ) + ) + (func $i8x16.extract_lane_u (; 6 ;) (type $4) (param $0 v128) (result i32) + (i8x16.extract_lane_u 0 + (get_local $0) + ) + ) + (func $i8x16.replace_lane (; 7 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.splat (; 8 ;) (type $0) (param $0 i32) (result v128) + (i16x8.splat + (get_local $0) + ) + ) + (func $i16x8.extract_lane_s (; 9 ;) (type $4) (param $0 v128) (result i32) + (i16x8.extract_lane_s 0 + (get_local $0) + ) + ) + (func $i16x8.extract_lane_u (; 10 ;) (type $4) (param $0 v128) (result i32) + (i16x8.extract_lane_u 0 + (get_local $0) + ) + ) + (func $i16x8.replace_lane (; 11 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.splat (; 12 ;) (type $0) (param $0 i32) (result v128) + (i32x4.splat + (get_local $0) + ) + ) + (func $i32x4.extract_lane (; 13 ;) (type $4) (param $0 v128) (result i32) + (i32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $i32x4.replace_lane (; 14 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.extract_lane (; 15 ;) (type $6) (param $0 v128) (result i64) + (i64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $i64x2.replace_lane (; 16 ;) (type $7) (param $0 v128) (param $1 i64) (result v128) + (i64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.splat (; 17 ;) (type $8) (param $0 f32) (result v128) + (f32x4.splat + (get_local $0) + ) + ) + (func $f32x4.extract_lane (; 18 ;) (type $9) (param $0 v128) (result f32) + (f32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $f32x4.replace_lane (; 19 ;) (type $10) (param $0 v128) (param $1 f32) (result v128) + (f32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.splat (; 20 ;) (type $11) (param $0 f64) (result v128) + (f64x2.splat + (get_local $0) + ) + ) + (func $f64x2.extract_lane (; 21 ;) (type $12) (param $0 v128) (result f64) + (f64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $f64x2.replace_lane (; 22 ;) (type $13) (param $0 v128) (param $1 f64) (result v128) + (f64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.eq (; 23 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ne (; 24 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.lt_s (; 25 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.lt_u (; 26 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.gt_s (; 27 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.gt_u (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.le_s (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.le_u (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ge_s (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.ge_u (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.eq (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ne (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.lt_s (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.lt_u (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.gt_s (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.gt_u (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.le_s (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.le_u (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ge_s (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.ge_u (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.eq (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ne (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.lt_s (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.lt_u (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.gt_s (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.gt_u (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.le_s (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.le_u (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ge_s (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.ge_u (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.eq (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.ne (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.lt (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.lt + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.gt (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.gt + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.le (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.le + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.ge (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.ge + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.eq (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.eq + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.ne (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.ne + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.lt (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.lt + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.gt (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.gt + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.le (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.le + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.ge (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.ge + (get_local $0) + (get_local $1) + ) + ) + (func $v128.not (; 65 ;) (type $14) (param $0 v128) (result v128) + (v128.not + (get_local $0) + ) + ) + (func $v128.and (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.and + (get_local $0) + (get_local $1) + ) + ) + (func $v128.or (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.or + (get_local $0) + (get_local $1) + ) + ) + (func $v128.xor (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.xor + (get_local $0) + (get_local $1) + ) + ) + (func $v128.bitselect (; 69 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (v128.bitselect + (get_local $0) + (get_local $1) + (get_local $2) + ) + ) + (func $i8x16.neg (; 70 ;) (type $14) (param $0 v128) (result v128) + (i8x16.neg + (get_local $0) + ) + ) + (func $i8x16.any_true (; 71 ;) (type $4) (param $0 v128) (result i32) + (i8x16.any_true + (get_local $0) + ) + ) + (func $i8x16.all_true (; 72 ;) (type $4) (param $0 v128) (result i32) + (i8x16.all_true + (get_local $0) + ) + ) + (func $i8x16.shl (; 73 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.shr_s (; 74 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.shr_u (; 75 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add (; 76 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add_saturate_s (; 77 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.add_saturate_u (; 78 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub (; 79 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub_saturate_s (; 80 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.sub_saturate_u (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i8x16.mul (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.neg (; 83 ;) (type $14) (param $0 v128) (result v128) + (i16x8.neg + (get_local $0) + ) + ) + (func $i16x8.any_true (; 84 ;) (type $4) (param $0 v128) (result i32) + (i16x8.any_true + (get_local $0) + ) + ) + (func $i16x8.all_true (; 85 ;) (type $4) (param $0 v128) (result i32) + (i16x8.all_true + (get_local $0) + ) + ) + (func $i16x8.shl (; 86 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.shr_s (; 87 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.shr_u (; 88 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add (; 89 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add_saturate_s (; 90 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.add_saturate_u (; 91 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub (; 92 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub_saturate_s (; 93 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.sub_saturate_u (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $i16x8.mul (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.neg (; 96 ;) (type $14) (param $0 v128) (result v128) + (i32x4.neg + (get_local $0) + ) + ) + (func $i32x4.any_true (; 97 ;) (type $4) (param $0 v128) (result i32) + (i32x4.any_true + (get_local $0) + ) + ) + (func $i32x4.all_true (; 98 ;) (type $4) (param $0 v128) (result i32) + (i32x4.all_true + (get_local $0) + ) + ) + (func $i32x4.shl (; 99 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.shr_s (; 100 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.shr_u (; 101 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.add (; 102 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.sub (; 103 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $i32x4.mul (; 104 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.neg (; 105 ;) (type $14) (param $0 v128) (result v128) + (i64x2.neg + (get_local $0) + ) + ) + (func $i64x2.any_true (; 106 ;) (type $4) (param $0 v128) (result i32) + (i64x2.any_true + (get_local $0) + ) + ) + (func $i64x2.all_true (; 107 ;) (type $4) (param $0 v128) (result i32) + (i64x2.all_true + (get_local $0) + ) + ) + (func $i64x2.shl (; 108 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shl + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.shr_s (; 109 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.shr_u (; 110 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.add (; 111 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $i64x2.sub (; 112 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.add (; 113 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.sub (; 114 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.mul (; 115 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.div (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.div + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.min (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.min + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.max (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.max + (get_local $0) + (get_local $1) + ) + ) + (func $f32x4.abs (; 119 ;) (type $14) (param $0 v128) (result v128) + (f32x4.abs + (get_local $0) + ) + ) + (func $f32x4.neg (; 120 ;) (type $14) (param $0 v128) (result v128) + (f32x4.neg + (get_local $0) + ) + ) + (func $f32x4.sqrt (; 121 ;) (type $14) (param $0 v128) (result v128) + (f32x4.sqrt + (get_local $0) + ) + ) + (func $f64x2.add (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.sub (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.mul (; 124 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.mul + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.div (; 125 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.div + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.min (; 126 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.min + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.max (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.max + (get_local $0) + (get_local $1) + ) + ) + (func $f64x2.abs (; 128 ;) (type $14) (param $0 v128) (result v128) + (f64x2.abs + (get_local $0) + ) + ) + (func $f64x2.neg (; 129 ;) (type $14) (param $0 v128) (result v128) + (f64x2.neg + (get_local $0) + ) + ) + (func $f64x2.sqrt (; 130 ;) (type $14) (param $0 v128) (result v128) + (f64x2.sqrt + (get_local $0) + ) + ) + (func $i32x4.trunc_s/f32x4:sat (; 131 ;) (type $14) (param $0 v128) (result v128) + (i32x4.trunc_s/f32x4:sat + (get_local $0) + ) + ) + (func $i32x4.trunc_u/f32x4:sat (; 132 ;) (type $14) (param $0 v128) (result v128) + (i32x4.trunc_u/f32x4:sat + (get_local $0) + ) + ) + (func $i64x2.trunc_s/f64x2:sat (; 133 ;) (type $14) (param $0 v128) (result v128) + (i64x2.trunc_s/f64x2:sat + (get_local $0) + ) + ) + (func $i64x2.trunc_u/f64x2:sat (; 134 ;) (type $14) (param $0 v128) (result v128) + (i64x2.trunc_u/f64x2:sat + (get_local $0) + ) + ) + (func $f32x4.convert_s/i32x4 (; 135 ;) (type $14) (param $0 v128) (result v128) + (f32x4.convert_s/i32x4 + (get_local $0) + ) + ) + (func $f32x4.convert_u/i32x4 (; 136 ;) (type $14) (param $0 v128) (result v128) + (f32x4.convert_u/i32x4 + (get_local $0) + ) + ) + (func $f64x2.convert_s/i64x2 (; 137 ;) (type $14) (param $0 v128) (result v128) + (f64x2.convert_s/i64x2 + (get_local $0) + ) + ) + (func $f64x2.convert_u/i64x2 (; 138 ;) (type $14) (param $0 v128) (result v128) + (f64x2.convert_u/i64x2 + (get_local $0) + ) + ) +) + diff --git a/test/simd.wast.fromBinary.noDebugInfo b/test/simd.wast.fromBinary.noDebugInfo new file mode 100644 index 000000000..e2d5c9647 --- /dev/null +++ b/test/simd.wast.fromBinary.noDebugInfo @@ -0,0 +1,810 @@ +(module + (type $0 (func (param i32) (result v128))) + (type $1 (func (param i32 v128))) + (type $2 (func (result v128))) + (type $3 (func (param v128 v128) (result v128))) + (type $4 (func (param v128) (result i32))) + (type $5 (func (param v128 i32) (result v128))) + (type $6 (func (param v128) (result i64))) + (type $7 (func (param v128 i64) (result v128))) + (type $8 (func (param f32) (result v128))) + (type $9 (func (param v128) (result f32))) + (type $10 (func (param v128 f32) (result v128))) + (type $11 (func (param f64) (result v128))) + (type $12 (func (param v128) (result f64))) + (type $13 (func (param v128 f64) (result v128))) + (type $14 (func (param v128) (result v128))) + (type $15 (func (param v128 v128 v128) (result v128))) + (func $0 (; 0 ;) (type $0) (param $0 i32) (result v128) + (v128.load + (get_local $0) + ) + ) + (func $1 (; 1 ;) (type $1) (param $0 i32) (param $1 v128) + (v128.store + (get_local $0) + (get_local $1) + ) + ) + (func $2 (; 2 ;) (type $2) (result v128) + (v128.const i32 0x1 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x3 0x0 0x0 0x0 0x4 0x0 0x0 0x0) + ) + (func $3 (; 3 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31 + (get_local $0) + (get_local $1) + ) + ) + (func $4 (; 4 ;) (type $0) (param $0 i32) (result v128) + (i8x16.splat + (get_local $0) + ) + ) + (func $5 (; 5 ;) (type $4) (param $0 v128) (result i32) + (i8x16.extract_lane_s 0 + (get_local $0) + ) + ) + (func $6 (; 6 ;) (type $4) (param $0 v128) (result i32) + (i8x16.extract_lane_u 0 + (get_local $0) + ) + ) + (func $7 (; 7 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $8 (; 8 ;) (type $0) (param $0 i32) (result v128) + (i16x8.splat + (get_local $0) + ) + ) + (func $9 (; 9 ;) (type $4) (param $0 v128) (result i32) + (i16x8.extract_lane_s 0 + (get_local $0) + ) + ) + (func $10 (; 10 ;) (type $4) (param $0 v128) (result i32) + (i16x8.extract_lane_u 0 + (get_local $0) + ) + ) + (func $11 (; 11 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $12 (; 12 ;) (type $0) (param $0 i32) (result v128) + (i32x4.splat + (get_local $0) + ) + ) + (func $13 (; 13 ;) (type $4) (param $0 v128) (result i32) + (i32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $14 (; 14 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $15 (; 15 ;) (type $6) (param $0 v128) (result i64) + (i64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $16 (; 16 ;) (type $7) (param $0 v128) (param $1 i64) (result v128) + (i64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $17 (; 17 ;) (type $8) (param $0 f32) (result v128) + (f32x4.splat + (get_local $0) + ) + ) + (func $18 (; 18 ;) (type $9) (param $0 v128) (result f32) + (f32x4.extract_lane 0 + (get_local $0) + ) + ) + (func $19 (; 19 ;) (type $10) (param $0 v128) (param $1 f32) (result v128) + (f32x4.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $20 (; 20 ;) (type $11) (param $0 f64) (result v128) + (f64x2.splat + (get_local $0) + ) + ) + (func $21 (; 21 ;) (type $12) (param $0 v128) (result f64) + (f64x2.extract_lane 0 + (get_local $0) + ) + ) + (func $22 (; 22 ;) (type $13) (param $0 v128) (param $1 f64) (result v128) + (f64x2.replace_lane 0 + (get_local $0) + (get_local $1) + ) + ) + (func $23 (; 23 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.eq + (get_local $0) + (get_local $1) + ) + ) + (func $24 (; 24 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ne + (get_local $0) + (get_local $1) + ) + ) + (func $25 (; 25 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $26 (; 26 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $27 (; 27 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $28 (; 28 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $29 (; 29 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $30 (; 30 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $31 (; 31 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $32 (; 32 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $33 (; 33 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.eq + (get_local $0) + (get_local $1) + ) + ) + (func $34 (; 34 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ne + (get_local $0) + (get_local $1) + ) + ) + (func $35 (; 35 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $36 (; 36 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $37 (; 37 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $38 (; 38 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $39 (; 39 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $40 (; 40 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $41 (; 41 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $42 (; 42 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $43 (; 43 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $44 (; 44 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $45 (; 45 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_s + (get_local $0) + (get_local $1) + ) + ) + (func $46 (; 46 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.lt_u + (get_local $0) + (get_local $1) + ) + ) + (func $47 (; 47 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_s + (get_local $0) + (get_local $1) + ) + ) + (func $48 (; 48 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.gt_u + (get_local $0) + (get_local $1) + ) + ) + (func $49 (; 49 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_s + (get_local $0) + (get_local $1) + ) + ) + (func $50 (; 50 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.le_u + (get_local $0) + (get_local $1) + ) + ) + (func $51 (; 51 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_s + (get_local $0) + (get_local $1) + ) + ) + (func $52 (; 52 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.ge_u + (get_local $0) + (get_local $1) + ) + ) + (func $53 (; 53 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.eq + (get_local $0) + (get_local $1) + ) + ) + (func $54 (; 54 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.ne + (get_local $0) + (get_local $1) + ) + ) + (func $55 (; 55 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.lt + (get_local $0) + (get_local $1) + ) + ) + (func $56 (; 56 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.gt + (get_local $0) + (get_local $1) + ) + ) + (func $57 (; 57 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.le + (get_local $0) + (get_local $1) + ) + ) + (func $58 (; 58 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.ge + (get_local $0) + (get_local $1) + ) + ) + (func $59 (; 59 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.eq + (get_local $0) + (get_local $1) + ) + ) + (func $60 (; 60 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.ne + (get_local $0) + (get_local $1) + ) + ) + (func $61 (; 61 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.lt + (get_local $0) + (get_local $1) + ) + ) + (func $62 (; 62 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.gt + (get_local $0) + (get_local $1) + ) + ) + (func $63 (; 63 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.le + (get_local $0) + (get_local $1) + ) + ) + (func $64 (; 64 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.ge + (get_local $0) + (get_local $1) + ) + ) + (func $65 (; 65 ;) (type $14) (param $0 v128) (result v128) + (v128.not + (get_local $0) + ) + ) + (func $66 (; 66 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.and + (get_local $0) + (get_local $1) + ) + ) + (func $67 (; 67 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.or + (get_local $0) + (get_local $1) + ) + ) + (func $68 (; 68 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (v128.xor + (get_local $0) + (get_local $1) + ) + ) + (func $69 (; 69 ;) (type $15) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (v128.bitselect + (get_local $0) + (get_local $1) + (get_local $2) + ) + ) + (func $70 (; 70 ;) (type $14) (param $0 v128) (result v128) + (i8x16.neg + (get_local $0) + ) + ) + (func $71 (; 71 ;) (type $4) (param $0 v128) (result i32) + (i8x16.any_true + (get_local $0) + ) + ) + (func $72 (; 72 ;) (type $4) (param $0 v128) (result i32) + (i8x16.all_true + (get_local $0) + ) + ) + (func $73 (; 73 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shl + (get_local $0) + (get_local $1) + ) + ) + (func $74 (; 74 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $75 (; 75 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i8x16.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $76 (; 76 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add + (get_local $0) + (get_local $1) + ) + ) + (func $77 (; 77 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $78 (; 78 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $79 (; 79 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub + (get_local $0) + (get_local $1) + ) + ) + (func $80 (; 80 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $81 (; 81 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $82 (; 82 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i8x16.mul + (get_local $0) + (get_local $1) + ) + ) + (func $83 (; 83 ;) (type $14) (param $0 v128) (result v128) + (i16x8.neg + (get_local $0) + ) + ) + (func $84 (; 84 ;) (type $4) (param $0 v128) (result i32) + (i16x8.any_true + (get_local $0) + ) + ) + (func $85 (; 85 ;) (type $4) (param $0 v128) (result i32) + (i16x8.all_true + (get_local $0) + ) + ) + (func $86 (; 86 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shl + (get_local $0) + (get_local $1) + ) + ) + (func $87 (; 87 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $88 (; 88 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i16x8.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $89 (; 89 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add + (get_local $0) + (get_local $1) + ) + ) + (func $90 (; 90 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $91 (; 91 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.add_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $92 (; 92 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub + (get_local $0) + (get_local $1) + ) + ) + (func $93 (; 93 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_s + (get_local $0) + (get_local $1) + ) + ) + (func $94 (; 94 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.sub_saturate_u + (get_local $0) + (get_local $1) + ) + ) + (func $95 (; 95 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i16x8.mul + (get_local $0) + (get_local $1) + ) + ) + (func $96 (; 96 ;) (type $14) (param $0 v128) (result v128) + (i32x4.neg + (get_local $0) + ) + ) + (func $97 (; 97 ;) (type $4) (param $0 v128) (result i32) + (i32x4.any_true + (get_local $0) + ) + ) + (func $98 (; 98 ;) (type $4) (param $0 v128) (result i32) + (i32x4.all_true + (get_local $0) + ) + ) + (func $99 (; 99 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shl + (get_local $0) + (get_local $1) + ) + ) + (func $100 (; 100 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $101 (; 101 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i32x4.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $102 (; 102 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $103 (; 103 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $104 (; 104 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $105 (; 105 ;) (type $14) (param $0 v128) (result v128) + (i64x2.neg + (get_local $0) + ) + ) + (func $106 (; 106 ;) (type $4) (param $0 v128) (result i32) + (i64x2.any_true + (get_local $0) + ) + ) + (func $107 (; 107 ;) (type $4) (param $0 v128) (result i32) + (i64x2.all_true + (get_local $0) + ) + ) + (func $108 (; 108 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shl + (get_local $0) + (get_local $1) + ) + ) + (func $109 (; 109 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_s + (get_local $0) + (get_local $1) + ) + ) + (func $110 (; 110 ;) (type $5) (param $0 v128) (param $1 i32) (result v128) + (i64x2.shr_u + (get_local $0) + (get_local $1) + ) + ) + (func $111 (; 111 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $112 (; 112 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (i64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $113 (; 113 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.add + (get_local $0) + (get_local $1) + ) + ) + (func $114 (; 114 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.sub + (get_local $0) + (get_local $1) + ) + ) + (func $115 (; 115 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.mul + (get_local $0) + (get_local $1) + ) + ) + (func $116 (; 116 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.div + (get_local $0) + (get_local $1) + ) + ) + (func $117 (; 117 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.min + (get_local $0) + (get_local $1) + ) + ) + (func $118 (; 118 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f32x4.max + (get_local $0) + (get_local $1) + ) + ) + (func $119 (; 119 ;) (type $14) (param $0 v128) (result v128) + (f32x4.abs + (get_local $0) + ) + ) + (func $120 (; 120 ;) (type $14) (param $0 v128) (result v128) + (f32x4.neg + (get_local $0) + ) + ) + (func $121 (; 121 ;) (type $14) (param $0 v128) (result v128) + (f32x4.sqrt + (get_local $0) + ) + ) + (func $122 (; 122 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.add + (get_local $0) + (get_local $1) + ) + ) + (func $123 (; 123 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.sub + (get_local $0) + (get_local $1) + ) + ) + (func $124 (; 124 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.mul + (get_local $0) + (get_local $1) + ) + ) + (func $125 (; 125 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.div + (get_local $0) + (get_local $1) + ) + ) + (func $126 (; 126 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.min + (get_local $0) + (get_local $1) + ) + ) + (func $127 (; 127 ;) (type $3) (param $0 v128) (param $1 v128) (result v128) + (f64x2.max + (get_local $0) + (get_local $1) + ) + ) + (func $128 (; 128 ;) (type $14) (param $0 v128) (result v128) + (f64x2.abs + (get_local $0) + ) + ) + (func $129 (; 129 ;) (type $14) (param $0 v128) (result v128) + (f64x2.neg + (get_local $0) + ) + ) + (func $130 (; 130 ;) (type $14) (param $0 v128) (result v128) + (f64x2.sqrt + (get_local $0) + ) + ) + (func $131 (; 131 ;) (type $14) (param $0 v128) (result v128) + (i32x4.trunc_s/f32x4:sat + (get_local $0) + ) + ) + (func $132 (; 132 ;) (type $14) (param $0 v128) (result v128) + (i32x4.trunc_u/f32x4:sat + (get_local $0) + ) + ) + (func $133 (; 133 ;) (type $14) (param $0 v128) (result v128) + (i64x2.trunc_s/f64x2:sat + (get_local $0) + ) + ) + (func $134 (; 134 ;) (type $14) (param $0 v128) (result v128) + (i64x2.trunc_u/f64x2:sat + (get_local $0) + ) + ) + (func $135 (; 135 ;) (type $14) (param $0 v128) (result v128) + (f32x4.convert_s/i32x4 + (get_local $0) + ) + ) + (func $136 (; 136 ;) (type $14) (param $0 v128) (result v128) + (f32x4.convert_u/i32x4 + (get_local $0) + ) + ) + (func $137 (; 137 ;) (type $14) (param $0 v128) (result v128) + (f64x2.convert_s/i64x2 + (get_local $0) + ) + ) + (func $138 (; 138 ;) (type $14) (param $0 v128) (result v128) + (f64x2.convert_u/i64x2 + (get_local $0) + ) + ) +) + diff --git a/test/spec/simd.wast b/test/spec/simd.wast new file mode 100644 index 000000000..e4ac42322 --- /dev/null +++ b/test/spec/simd.wast @@ -0,0 +1,661 @@ +(module + (memory 1) + (data (i32.const 128) "WASMSIMDGOESFAST") + (func (export "v128.load") (param $0 i32) (result v128)(v128.load (get_local $0))) + (func (export "v128.store") (param $0 i32) (param $1 v128) (result v128) + (v128.store offset=0 align=16 (get_local $0) (get_local $1)) + (v128.load (get_local $0)) + ) + (func (export "v128.const") (result v128) (v128.const i32 1 2 3 4)) + (func (export "v128.shuffle_interleave_bytes") (param $0 v128) (param $1 v128) (result v128) + (v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31 (get_local $0) (get_local $1)) + ) + (func (export "v128.shuffle_reverse_i32s") (param $0 v128) (result v128) + (v8x16.shuffle 12 13 14 15 8 9 10 11 4 5 6 7 0 1 2 3 (get_local $0) (get_local $0)) + ) + (func (export "i8x16.splat") (param $0 i32) (result v128) (i8x16.splat (get_local $0))) + (func (export "i8x16.extract_lane_s_first") (param $0 v128) (result i32) (i8x16.extract_lane_s 0 (get_local $0))) + (func (export "i8x16.extract_lane_s_last") (param $0 v128) (result i32) (i8x16.extract_lane_s 15 (get_local $0))) + (func (export "i8x16.extract_lane_u_first") (param $0 v128) (result i32) (i8x16.extract_lane_u 0 (get_local $0))) + (func (export "i8x16.extract_lane_u_last") (param $0 v128) (result i32) (i8x16.extract_lane_u 15 (get_local $0))) + (func (export "i8x16.replace_lane_first") (param $0 v128) (param $1 i32) (result v128) (i8x16.replace_lane 0 (get_local $0) (get_local $1))) + (func (export "i8x16.replace_lane_last") (param $0 v128) (param $1 i32) (result v128) (i8x16.replace_lane 15 (get_local $0) (get_local $1))) + (func (export "i16x8.splat") (param $0 i32) (result v128) (i16x8.splat (get_local $0))) + (func (export "i16x8.extract_lane_s_first") (param $0 v128) (result i32) (i16x8.extract_lane_s 0 (get_local $0))) + (func (export "i16x8.extract_lane_s_last") (param $0 v128) (result i32) (i16x8.extract_lane_s 7 (get_local $0))) + (func (export "i16x8.extract_lane_u_first") (param $0 v128) (result i32) (i16x8.extract_lane_u 0 (get_local $0))) + (func (export "i16x8.extract_lane_u_last") (param $0 v128) (result i32) (i16x8.extract_lane_u 7 (get_local $0))) + (func (export "i16x8.replace_lane_first") (param $0 v128) (param $1 i32) (result v128) (i16x8.replace_lane 0 (get_local $0) (get_local $1))) + (func (export "i16x8.replace_lane_last") (param $0 v128) (param $1 i32) (result v128) (i16x8.replace_lane 7 (get_local $0) (get_local $1))) + (func (export "i32x4.splat") (param $0 i32) (result v128) (i32x4.splat (get_local $0))) + (func (export "i32x4.extract_lane_first") (param $0 v128) (result i32) (i32x4.extract_lane 0 (get_local $0))) + (func (export "i32x4.extract_lane_last") (param $0 v128) (result i32) (i32x4.extract_lane 3 (get_local $0))) + (func (export "i32x4.replace_lane_first") (param $0 v128) (param $1 i32) (result v128) (i32x4.replace_lane 0 (get_local $0) (get_local $1))) + (func (export "i32x4.replace_lane_last") (param $0 v128) (param $1 i32) (result v128) (i32x4.replace_lane 3 (get_local $0) (get_local $1))) + (func (export "i64x2.splat") (param $0 i64) (result v128) (i64x2.splat (get_local $0))) + (func (export "i64x2.extract_lane_first") (param $0 v128) (result i64) (i64x2.extract_lane 0 (get_local $0))) + (func (export "i64x2.extract_lane_last") (param $0 v128) (result i64) (i64x2.extract_lane 1 (get_local $0))) + (func (export "i64x2.replace_lane_first") (param $0 v128) (param $1 i64) (result v128) (i64x2.replace_lane 0 (get_local $0) (get_local $1))) + (func (export "i64x2.replace_lane_last") (param $0 v128) (param $1 i64) (result v128) (i64x2.replace_lane 1 (get_local $0) (get_local $1))) + (func (export "f32x4.splat") (param $0 f32) (result v128) (f32x4.splat (get_local $0))) + (func (export "f32x4.extract_lane_first") (param $0 v128) (result f32) (f32x4.extract_lane 0 (get_local $0))) + (func (export "f32x4.extract_lane_last") (param $0 v128) (result f32) (f32x4.extract_lane 3 (get_local $0))) + (func (export "f32x4.replace_lane_first") (param $0 v128) (param $1 f32) (result v128) (f32x4.replace_lane 0 (get_local $0) (get_local $1))) + (func (export "f32x4.replace_lane_last") (param $0 v128) (param $1 f32) (result v128) (f32x4.replace_lane 3 (get_local $0) (get_local $1))) + (func (export "f64x2.splat") (param $0 f64) (result v128) (f64x2.splat (get_local $0))) + (func (export "f64x2.extract_lane_first") (param $0 v128) (result f64) (f64x2.extract_lane 0 (get_local $0))) + (func (export "f64x2.extract_lane_last") (param $0 v128) (result f64) (f64x2.extract_lane 1 (get_local $0))) + (func (export "f64x2.replace_lane_first") (param $0 v128) (param $1 f64) (result v128) (f64x2.replace_lane 0 (get_local $0) (get_local $1))) + (func (export "f64x2.replace_lane_last") (param $0 v128) (param $1 f64) (result v128) (f64x2.replace_lane 1 (get_local $0) (get_local $1))) + (func (export "i8x16.eq") (param $0 v128) (param $1 v128) (result v128) (i8x16.eq (get_local $0) (get_local $1))) + (func (export "i8x16.ne") (param $0 v128) (param $1 v128) (result v128) (i8x16.ne (get_local $0) (get_local $1))) + (func (export "i8x16.lt_s") (param $0 v128) (param $1 v128) (result v128) (i8x16.lt_s (get_local $0) (get_local $1))) + (func (export "i8x16.lt_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.lt_u (get_local $0) (get_local $1))) + (func (export "i8x16.gt_s") (param $0 v128) (param $1 v128) (result v128) (i8x16.gt_s (get_local $0) (get_local $1))) + (func (export "i8x16.gt_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.gt_u (get_local $0) (get_local $1))) + (func (export "i8x16.le_s") (param $0 v128) (param $1 v128) (result v128) (i8x16.le_s (get_local $0) (get_local $1))) + (func (export "i8x16.le_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.le_u (get_local $0) (get_local $1))) + (func (export "i8x16.ge_s") (param $0 v128) (param $1 v128) (result v128) (i8x16.ge_s (get_local $0) (get_local $1))) + (func (export "i8x16.ge_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.ge_u (get_local $0) (get_local $1))) + (func (export "i16x8.eq") (param $0 v128) (param $1 v128) (result v128) (i16x8.eq (get_local $0) (get_local $1))) + (func (export "i16x8.ne") (param $0 v128) (param $1 v128) (result v128) (i16x8.ne (get_local $0) (get_local $1))) + (func (export "i16x8.lt_s") (param $0 v128) (param $1 v128) (result v128) (i16x8.lt_s (get_local $0) (get_local $1))) + (func (export "i16x8.lt_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.lt_u (get_local $0) (get_local $1))) + (func (export "i16x8.gt_s") (param $0 v128) (param $1 v128) (result v128) (i16x8.gt_s (get_local $0) (get_local $1))) + (func (export "i16x8.gt_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.gt_u (get_local $0) (get_local $1))) + (func (export "i16x8.le_s") (param $0 v128) (param $1 v128) (result v128) (i16x8.le_s (get_local $0) (get_local $1))) + (func (export "i16x8.le_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.le_u (get_local $0) (get_local $1))) + (func (export "i16x8.ge_s") (param $0 v128) (param $1 v128) (result v128) (i16x8.ge_s (get_local $0) (get_local $1))) + (func (export "i16x8.ge_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.ge_u (get_local $0) (get_local $1))) + (func (export "i32x4.eq") (param $0 v128) (param $1 v128) (result v128) (i32x4.eq (get_local $0) (get_local $1))) + (func (export "i32x4.ne") (param $0 v128) (param $1 v128) (result v128) (i32x4.ne (get_local $0) (get_local $1))) + (func (export "i32x4.lt_s") (param $0 v128) (param $1 v128) (result v128) (i32x4.lt_s (get_local $0) (get_local $1))) + (func (export "i32x4.lt_u") (param $0 v128) (param $1 v128) (result v128) (i32x4.lt_u (get_local $0) (get_local $1))) + (func (export "i32x4.gt_s") (param $0 v128) (param $1 v128) (result v128) (i32x4.gt_s (get_local $0) (get_local $1))) + (func (export "i32x4.gt_u") (param $0 v128) (param $1 v128) (result v128) (i32x4.gt_u (get_local $0) (get_local $1))) + (func (export "i32x4.le_s") (param $0 v128) (param $1 v128) (result v128) (i32x4.le_s (get_local $0) (get_local $1))) + (func (export "i32x4.le_u") (param $0 v128) (param $1 v128) (result v128) (i32x4.le_u (get_local $0) (get_local $1))) + (func (export "i32x4.ge_s") (param $0 v128) (param $1 v128) (result v128) (i32x4.ge_s (get_local $0) (get_local $1))) + (func (export "i32x4.ge_u") (param $0 v128) (param $1 v128) (result v128) (i32x4.ge_u (get_local $0) (get_local $1))) + (func (export "f32x4.eq") (param $0 v128) (param $1 v128) (result v128) (f32x4.eq (get_local $0) (get_local $1))) + (func (export "f32x4.ne") (param $0 v128) (param $1 v128) (result v128) (f32x4.ne (get_local $0) (get_local $1))) + (func (export "f32x4.lt") (param $0 v128) (param $1 v128) (result v128) (f32x4.lt (get_local $0) (get_local $1))) + (func (export "f32x4.gt") (param $0 v128) (param $1 v128) (result v128) (f32x4.gt (get_local $0) (get_local $1))) + (func (export "f32x4.le") (param $0 v128) (param $1 v128) (result v128) (f32x4.le (get_local $0) (get_local $1))) + (func (export "f32x4.ge") (param $0 v128) (param $1 v128) (result v128) (f32x4.ge (get_local $0) (get_local $1))) + (func (export "f64x2.eq") (param $0 v128) (param $1 v128) (result v128) (f64x2.eq (get_local $0) (get_local $1))) + (func (export "f64x2.ne") (param $0 v128) (param $1 v128) (result v128) (f64x2.ne (get_local $0) (get_local $1))) + (func (export "f64x2.lt") (param $0 v128) (param $1 v128) (result v128) (f64x2.lt (get_local $0) (get_local $1))) + (func (export "f64x2.gt") (param $0 v128) (param $1 v128) (result v128) (f64x2.gt (get_local $0) (get_local $1))) + (func (export "f64x2.le") (param $0 v128) (param $1 v128) (result v128) (f64x2.le (get_local $0) (get_local $1))) + (func (export "f64x2.ge") (param $0 v128) (param $1 v128) (result v128) (f64x2.ge (get_local $0) (get_local $1))) + (func (export "v128.not") (param $0 v128) (result v128) (v128.not (get_local $0))) + (func (export "v128.and") (param $0 v128) (param $1 v128) (result v128) (v128.and (get_local $0) (get_local $1))) + (func (export "v128.or") (param $0 v128) (param $1 v128) (result v128) (v128.or (get_local $0) (get_local $1))) + (func (export "v128.xor") (param $0 v128) (param $1 v128) (result v128) (v128.xor (get_local $0) (get_local $1))) + (func (export "v128.bitselect") (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (v128.bitselect (get_local $0) (get_local $1) (get_local $2)) + ) + (func (export "i8x16.neg") (param $0 v128) (result v128) (i8x16.neg (get_local $0))) + (func (export "i8x16.any_true") (param $0 v128) (result i32) (i8x16.any_true (get_local $0))) + (func (export "i8x16.all_true") (param $0 v128) (result i32) (i8x16.all_true (get_local $0))) + (func (export "i8x16.shl") (param $0 v128) (param $1 i32) (result v128) (i8x16.shl (get_local $0) (get_local $1))) + (func (export "i8x16.shr_s") (param $0 v128) (param $1 i32) (result v128) (i8x16.shr_s (get_local $0) (get_local $1))) + (func (export "i8x16.shr_u") (param $0 v128) (param $1 i32) (result v128) (i8x16.shr_u (get_local $0) (get_local $1))) + (func (export "i8x16.add") (param $0 v128) (param $1 v128) (result v128) (i8x16.add (get_local $0) (get_local $1))) + (func (export "i8x16.add_saturate_s") (param $0 v128) (param $1 v128) (result v128) (i8x16.add_saturate_s (get_local $0) (get_local $1))) + (func (export "i8x16.add_saturate_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.add_saturate_u (get_local $0) (get_local $1))) + (func (export "i8x16.sub") (param $0 v128) (param $1 v128) (result v128) (i8x16.sub (get_local $0) (get_local $1))) + (func (export "i8x16.sub_saturate_s") (param $0 v128) (param $1 v128) (result v128) (i8x16.sub_saturate_s (get_local $0) (get_local $1))) + (func (export "i8x16.sub_saturate_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.sub_saturate_u (get_local $0) (get_local $1))) + (func (export "i8x16.mul") (param $0 v128) (param $1 v128) (result v128) (i8x16.mul (get_local $0) (get_local $1))) + (func (export "i16x8.neg") (param $0 v128) (result v128) (i16x8.neg (get_local $0))) + (func (export "i16x8.any_true") (param $0 v128) (result i32) (i16x8.any_true (get_local $0))) + (func (export "i16x8.all_true") (param $0 v128) (result i32) (i16x8.all_true (get_local $0))) + (func (export "i16x8.shl") (param $0 v128) (param $1 i32) (result v128) (i16x8.shl (get_local $0) (get_local $1))) + (func (export "i16x8.shr_s") (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_s (get_local $0) (get_local $1))) + (func (export "i16x8.shr_u") (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_u (get_local $0) (get_local $1))) + (func (export "i16x8.add") (param $0 v128) (param $1 v128) (result v128) (i16x8.add (get_local $0) (get_local $1))) + (func (export "i16x8.add_saturate_s") (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_s (get_local $0) (get_local $1))) + (func (export "i16x8.add_saturate_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_u (get_local $0) (get_local $1))) + (func (export "i16x8.sub") (param $0 v128) (param $1 v128) (result v128) (i16x8.sub (get_local $0) (get_local $1))) + (func (export "i16x8.sub_saturate_s") (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_s (get_local $0) (get_local $1))) + (func (export "i16x8.sub_saturate_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_u (get_local $0) (get_local $1))) + (func (export "i16x8.mul") (param $0 v128) (param $1 v128) (result v128) (i16x8.mul (get_local $0) (get_local $1))) + (func (export "i32x4.neg") (param $0 v128) (result v128) (i32x4.neg (get_local $0))) + (func (export "i32x4.any_true") (param $0 v128) (result i32) (i32x4.any_true (get_local $0))) + (func (export "i32x4.all_true") (param $0 v128) (result i32) (i32x4.all_true (get_local $0))) + (func (export "i32x4.shl") (param $0 v128) (param $1 i32) (result v128) (i32x4.shl (get_local $0) (get_local $1))) + (func (export "i32x4.shr_s") (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_s (get_local $0) (get_local $1))) + (func (export "i32x4.shr_u") (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_u (get_local $0) (get_local $1))) + (func (export "i32x4.add") (param $0 v128) (param $1 v128) (result v128) (i32x4.add (get_local $0) (get_local $1))) + (func (export "i32x4.sub") (param $0 v128) (param $1 v128) (result v128) (i32x4.sub (get_local $0) (get_local $1))) + (func (export "i32x4.mul") (param $0 v128) (param $1 v128) (result v128) (i32x4.mul (get_local $0) (get_local $1))) + (func (export "i64x2.neg") (param $0 v128) (result v128) (i64x2.neg (get_local $0))) + (func (export "i64x2.any_true") (param $0 v128) (result i32) (i64x2.any_true (get_local $0))) + (func (export "i64x2.all_true") (param $0 v128) (result i32) (i64x2.all_true (get_local $0))) + (func (export "i64x2.shl") (param $0 v128) (param $1 i32) (result v128) (i64x2.shl (get_local $0) (get_local $1))) + (func (export "i64x2.shr_s") (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_s (get_local $0) (get_local $1))) + (func (export "i64x2.shr_u") (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_u (get_local $0) (get_local $1))) + (func (export "f32x4.abs") (param $0 v128) (result v128) (f32x4.abs (get_local $0))) + (func (export "f32x4.neg") (param $0 v128) (result v128) (f32x4.neg (get_local $0))) + (func (export "f32x4.sqrt") (param $0 v128) (result v128) (f32x4.sqrt (get_local $0))) + (func (export "i64x2.add") (param $0 v128) (param $1 v128) (result v128) (i64x2.add (get_local $0) (get_local $1))) + (func (export "i64x2.sub") (param $0 v128) (param $1 v128) (result v128) (i64x2.sub (get_local $0) (get_local $1))) + (func (export "f32x4.add") (param $0 v128) (param $1 v128) (result v128) (f32x4.add (get_local $0) (get_local $1))) + (func (export "f32x4.sub") (param $0 v128) (param $1 v128) (result v128) (f32x4.sub (get_local $0) (get_local $1))) + (func (export "f32x4.mul") (param $0 v128) (param $1 v128) (result v128) (f32x4.mul (get_local $0) (get_local $1))) + (func (export "f32x4.div") (param $0 v128) (param $1 v128) (result v128) (f32x4.div (get_local $0) (get_local $1))) + (func (export "f32x4.min") (param $0 v128) (param $1 v128) (result v128) (f32x4.min (get_local $0) (get_local $1))) + (func (export "f32x4.max") (param $0 v128) (param $1 v128) (result v128) (f32x4.max (get_local $0) (get_local $1))) + (func (export "f64x2.abs") (param $0 v128) (result v128) (f64x2.abs (get_local $0))) + (func (export "f64x2.neg") (param $0 v128) (result v128) (f64x2.neg (get_local $0))) + (func (export "f64x2.sqrt") (param $0 v128) (result v128) (f64x2.sqrt (get_local $0))) + (func (export "f64x2.add") (param $0 v128) (param $1 v128) (result v128) (f64x2.add (get_local $0) (get_local $1))) + (func (export "f64x2.sub") (param $0 v128) (param $1 v128) (result v128) (f64x2.sub (get_local $0) (get_local $1))) + (func (export "f64x2.mul") (param $0 v128) (param $1 v128) (result v128) (f64x2.mul (get_local $0) (get_local $1))) + (func (export "f64x2.div") (param $0 v128) (param $1 v128) (result v128) (f64x2.div (get_local $0) (get_local $1))) + (func (export "f64x2.min") (param $0 v128) (param $1 v128) (result v128) (f64x2.min (get_local $0) (get_local $1))) + (func (export "f64x2.max") (param $0 v128) (param $1 v128) (result v128) (f64x2.max (get_local $0) (get_local $1))) + (func (export "i32x4.trunc_s/f32x4:sat") (param $0 v128) (result v128) (i32x4.trunc_s/f32x4:sat (get_local $0))) + (func (export "i32x4.trunc_u/f32x4:sat") (param $0 v128) (result v128) (i32x4.trunc_u/f32x4:sat (get_local $0))) + (func (export "i64x2.trunc_s/f64x2:sat") (param $0 v128) (result v128) (i64x2.trunc_s/f64x2:sat (get_local $0))) + (func (export "i64x2.trunc_u/f64x2:sat") (param $0 v128) (result v128) (i64x2.trunc_u/f64x2:sat (get_local $0))) + (func (export "f32x4.convert_s/i32x4") (param $0 v128) (result v128) (f32x4.convert_s/i32x4 (get_local $0))) + (func (export "f32x4.convert_u/i32x4") (param $0 v128) (result v128) (f32x4.convert_u/i32x4 (get_local $0))) + (func (export "f64x2.convert_s/i64x2") (param $0 v128) (result v128) (f64x2.convert_s/i64x2 (get_local $0))) + (func (export "f64x2.convert_u/i64x2") (param $0 v128) (result v128) (f64x2.convert_u/i64x2 (get_local $0))) +) + +;; Basic v128 manipulation +(assert_return (invoke "v128.load" (i32.const 128)) (v128.const i32 87 65 83 77 83 73 77 68 71 79 69 83 70 65 83 84)) +(assert_return (invoke "v128.store" (i32.const 16) (v128.const i32 1 2 3 4)) (v128.const i32 1 2 3 4)) +(assert_return (invoke "v128.const") (v128.const i32 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00)) +(assert_return + (invoke "v128.shuffle_interleave_bytes" + (v128.const i32 1 0 3 0 5 0 7 0 9 0 11 0 13 0 15 0) + (v128.const i32 0 2 0 4 0 6 0 8 0 10 0 12 0 14 0 16) + ) + (v128.const i32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16) +) +(assert_return (invoke "v128.shuffle_reverse_i32s" (v128.const i32 1 2 3 4)) (v128.const i32 4 3 2 1)) + +;; i8x16 lane accesses +(assert_return (invoke "i8x16.splat" (i32.const 5)) (v128.const i32 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5)) +(assert_return (invoke "i8x16.splat" (i32.const 257)) (v128.const i32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) +(assert_return (invoke "i8x16.extract_lane_s_first" (v128.const i32 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const -1)) +(assert_return (invoke "i8x16.extract_lane_s_last" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255)) (i32.const -1)) +(assert_return (invoke "i8x16.extract_lane_u_first" (v128.const i32 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 255)) +(assert_return (invoke "i8x16.extract_lane_u_last" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255)) (i32.const 255)) +(assert_return (invoke "i8x16.replace_lane_first" (v128.const i64 0 0) (i32.const 7)) (v128.const i32 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) +(assert_return (invoke "i8x16.replace_lane_last" (v128.const i64 0 0) (i32.const 7)) (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7)) + +;; i16x8 lane accesses +(assert_return (invoke "i16x8.splat" (i32.const 5)) (v128.const i32 5 5 5 5 5 5 5 5)) +(assert_return (invoke "i16x8.splat" (i32.const 65537)) (v128.const i32 1 1 1 1 1 1 1 1)) +(assert_return (invoke "i16x8.extract_lane_s_first" (v128.const i32 65535 0 0 0 0 0 0 0)) (i32.const -1)) +(assert_return (invoke "i16x8.extract_lane_s_last" (v128.const i32 0 0 0 0 0 0 0 65535)) (i32.const -1)) +(assert_return (invoke "i16x8.extract_lane_u_first" (v128.const i32 65535 0 0 0 0 0 0 0)) (i32.const 65535)) +(assert_return (invoke "i16x8.extract_lane_u_last" (v128.const i32 0 0 0 0 0 0 0 65535)) (i32.const 65535)) +(assert_return (invoke "i16x8.replace_lane_first" (v128.const i64 0 0) (i32.const 7)) (v128.const i32 7 0 0 0 0 0 0 0)) +(assert_return (invoke "i16x8.replace_lane_last" (v128.const i64 0 0) (i32.const 7)) (v128.const i32 0 0 0 0 0 0 0 7)) + +;; i32x4 lane accesses +(assert_return (invoke "i32x4.splat" (i32.const -5)) (v128.const i32 -5 -5 -5 -5)) +(assert_return (invoke "i32x4.extract_lane_first" (v128.const i32 -5 0 0 0)) (i32.const -5)) +(assert_return (invoke "i32x4.extract_lane_last" (v128.const i32 0 0 0 -5)) (i32.const -5)) +(assert_return (invoke "i32x4.replace_lane_first" (v128.const i64 0 0) (i32.const 53)) (v128.const i32 53 0 0 0)) +(assert_return (invoke "i32x4.replace_lane_last" (v128.const i64 0 0) (i32.const 53)) (v128.const i32 0 0 0 53)) + +;; i64x2 lane accesses +(assert_return (invoke "i64x2.splat" (i64.const -5)) (v128.const i64 -5 -5)) +(assert_return (invoke "i64x2.extract_lane_first" (v128.const i64 -5 0)) (i64.const -5)) +(assert_return (invoke "i64x2.extract_lane_last" (v128.const i64 0 -5)) (i64.const -5)) +(assert_return (invoke "i64x2.replace_lane_first" (v128.const i64 0 0) (i64.const 53)) (v128.const i64 53 0)) +(assert_return (invoke "i64x2.replace_lane_last" (v128.const i64 0 0) (i64.const 53)) (v128.const i64 0 53)) + +;; f32x4 lane accesses +(assert_return (invoke "f32x4.splat" (f32.const -5)) (v128.const f32 -5 -5 -5 -5)) +(assert_return (invoke "f32x4.extract_lane_first" (v128.const f32 -5 0 0 0)) (f32.const -5)) +(assert_return (invoke "f32x4.extract_lane_last" (v128.const f32 0 0 0 -5)) (f32.const -5)) +(assert_return (invoke "f32x4.replace_lane_first" (v128.const i64 0 0) (f32.const 53)) (v128.const f32 53 0 0 0)) +(assert_return (invoke "f32x4.replace_lane_last" (v128.const i64 0 0) (f32.const 53)) (v128.const f32 0 0 0 53)) + +;; f64x2 lane accesses +(assert_return (invoke "f64x2.splat" (f64.const -5)) (v128.const f64 -5 -5)) +(assert_return (invoke "f64x2.extract_lane_first" (v128.const f64 -5 0)) (f64.const -5)) +(assert_return (invoke "f64x2.extract_lane_last" (v128.const f64 0 -5)) (f64.const -5)) +(assert_return (invoke "f64x2.replace_lane_first" (v128.const f64 0 0) (f64.const 53)) (v128.const f64 53 0)) +(assert_return (invoke "f64x2.replace_lane_last" (v128.const f64 0 0) (f64.const 53)) (v128.const f64 0 53)) + +;; i8x16 comparisons +(assert_return + (invoke "i8x16.eq" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 -1 0 -1 0 0 0 0 0 -1 0 0 -1 0 0 0 0) +) +(assert_return + (invoke "i8x16.ne" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 0 -1 0 -1 -1 -1 -1 -1 0 -1 -1 0 -1 -1 -1 -1) +) +(assert_return + (invoke "i8x16.lt_s" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 0 0 0 -1 0 -1 -1 0 0 0 -1 0 0 -1 -1 0) +) +(assert_return + (invoke "i8x16.lt_u" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 0 -1 0 0 -1 -1 0 -1 0 -1 0 0 -1 -1 0 -1) +) +(assert_return + (invoke "i8x16.gt_s" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 0 -1 0 0 -1 0 0 -1 0 -1 0 0 -1 0 0 -1) +) +(assert_return + (invoke "i8x16.gt_u" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 0 0 0 -1 0 0 -1 0 0 0 -1 0 0 0 -1 0) +) +(assert_return + (invoke "i8x16.le_s" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 -1 0 -1 -1 0 -1 -1 0 -1 0 -1 -1 0 -1 -1 0) +) +(assert_return + (invoke "i8x16.le_u" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 -1 -1 -1 0 -1 -1 0 -1 -1 -1 0 -1 -1 -1 0 -1) +) +(assert_return + (invoke "i8x16.ge_s" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 -1 -1 -1 0 -1 0 0 -1 -1 -1 0 -1 -1 0 0 -1) +) +(assert_return + (invoke "i8x16.ge_u" + (v128.const i32 0 127 13 128 1 13 129 42 0 127 255 42 1 13 129 42) + (v128.const i32 0 255 13 42 129 127 0 128 0 255 13 42 129 127 0 128) + ) + (v128.const i32 -1 0 -1 -1 0 0 -1 0 -1 0 -1 -1 0 0 -1 0) +) + +;; i16x8 comparisons +(assert_return (invoke "i16x8.eq" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 -1 0 0 0 0 0 0 0) +) +(assert_return + (invoke "i16x8.ne" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 0 -1 -1 -1 -1 -1 -1 -1) +) +(assert_return + (invoke "i16x8.lt_s" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 0 0 0 -1 0 -1 0 -1) +) +(assert_return + (invoke "i16x8.lt_u" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 0 0 0 0 -1 0 -1 0) +) +(assert_return + (invoke "i16x8.gt_s" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 0 -1 -1 0 -1 0 -1 0) +) +(assert_return + (invoke "i16x8.gt_u" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 0 -1 -1 -1 0 -1 0 -1) +) +(assert_return + (invoke "i16x8.le_s" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 -1 0 0 -1 0 -1 0 -1) +) +(assert_return + (invoke "i16x8.le_u" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 -1 0 0 0 -1 0 -1 0) +) +(assert_return + (invoke "i16x8.ge_s" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 -1 -1 -1 0 -1 0 -1 0) +) +(assert_return + (invoke "i16x8.ge_u" + (v128.const i32 0 32767 13 32768 1 32769 42 40000) + (v128.const i32 0 13 1 32767 32769 42 40000 32767) + ) + (v128.const i32 -1 -1 -1 -1 0 -1 0 -1) +) + +;; i32x4 comparisons +(assert_return (invoke "i32x4.eq" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 0 0 0)) +(assert_return (invoke "i32x4.ne" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 -1 -1 -1)) +(assert_return (invoke "i32x4.lt_s" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 -1 0 -1)) +(assert_return (invoke "i32x4.lt_u" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 0 -1 -1)) +(assert_return (invoke "i32x4.gt_s" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 0 -1 0)) +(assert_return (invoke "i32x4.gt_u" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 0 -1 0 0)) +(assert_return (invoke "i32x4.le_s" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 -1 0 -1)) +(assert_return (invoke "i32x4.le_u" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 0 -1 -1)) +(assert_return (invoke "i32x4.ge_s" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 0 -1 0)) +(assert_return (invoke "i32x4.ge_u" (v128.const i32 0 -1 53 -7) (v128.const i32 0 53 -7 -1)) (v128.const i32 -1 -1 0 0)) + +;; f32x4 comparisons +(assert_return (invoke "f32x4.eq" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 -1 0 0 0)) +(assert_return (invoke "f32x4.ne" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 0 -1 -1 -1)) +(assert_return (invoke "f32x4.lt" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 0 -1 0 -1)) +(assert_return (invoke "f32x4.gt" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 0 0 -1 0)) +(assert_return (invoke "f32x4.le" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 -1 -1 0 -1)) +(assert_return (invoke "f32x4.ge" (v128.const f32 0 -1 1 0) (v128.const f32 0 0 -1 1)) (v128.const i32 -1 0 -1 0)) +(assert_return (invoke "f32x4.eq" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 -1)) +(assert_return (invoke "f32x4.ne" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 -1 -1 -1 0)) +(assert_return (invoke "f32x4.lt" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 0)) +(assert_return (invoke "f32x4.gt" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 0)) +(assert_return (invoke "f32x4.le" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 -1)) +(assert_return (invoke "f32x4.ge" (v128.const f32 nan 0 nan infinity) (v128.const f32 0 nan nan infinity)) (v128.const i32 0 0 0 -1)) +(assert_return (invoke "f32x4.eq" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 0 0 0 0)) +(assert_return (invoke "f32x4.ne" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 -1 -1 -1 -1)) +(assert_return (invoke "f32x4.lt" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 -1 -1 0 0)) +(assert_return (invoke "f32x4.gt" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 0 0 0 0)) +(assert_return (invoke "f32x4.le" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 -1 -1 0 0)) +(assert_return (invoke "f32x4.ge" (v128.const f32 -infinity 0 nan -infinity) (v128.const f32 0 infinity infinity nan)) (v128.const i32 0 0 0 0)) + +;; f64x2 comparisons +(assert_return (invoke "f64x2.eq" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 -1 0)) +(assert_return (invoke "f64x2.ne" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 0 -1)) +(assert_return (invoke "f64x2.lt" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 0 0)) +(assert_return (invoke "f64x2.gt" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 0 -1)) +(assert_return (invoke "f64x2.le" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 -1 0)) +(assert_return (invoke "f64x2.ge" (v128.const f64 0 1) (v128.const f64 0 0)) (v128.const i64 -1 -1)) +(assert_return (invoke "f64x2.eq" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 0)) +(assert_return (invoke "f64x2.ne" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 -1 -1)) +(assert_return (invoke "f64x2.lt" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 -1)) +(assert_return (invoke "f64x2.gt" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 0)) +(assert_return (invoke "f64x2.le" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 -1)) +(assert_return (invoke "f64x2.ge" (v128.const f64 nan 0) (v128.const f64 infinity infinity)) (v128.const i64 0 0)) + +;; bitwise operations +(assert_return (invoke "v128.not" (v128.const i32 0 -1 0 -1)) (v128.const i32 -1 0 -1 0)) +(assert_return (invoke "v128.and" (v128.const i32 0 0 -1 -1) (v128.const i32 0 -1 0 -1)) (v128.const i32 0 0 0 -1)) +(assert_return (invoke "v128.or" (v128.const i32 0 0 -1 -1) (v128.const i32 0 -1 0 -1)) (v128.const i32 0 -1 -1 -1)) +(assert_return (invoke "v128.xor" (v128.const i32 0 0 -1 -1) (v128.const i32 0 -1 0 -1)) (v128.const i32 0 -1 -1 0)) +(assert_return (invoke "v128.bitselect" + (v128.const i32 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA) + (v128.const i32 0xBBBBBBBB 0xBBBBBBBB 0xBBBBBBBB 0xBBBBBBBB) + (v128.const i32 0xF0F0F0F0 0xFFFFFFFF 0x00000000 0xFF00FF00) + ) + (v128.const i32 0xABABABAB 0xAAAAAAAA 0xBBBBBBBB 0xAABBAABB) +) + +;; i8x16 arithmetic +(assert_return (invoke "i8x16.neg" (v128.const i32 0 1 42 -3 -56 127 -128 -126 0 -1 -42 3 56 -127 -128 126)) + (v128.const i32 0 -1 -42 3 56 -127 -128 126 0 1 42 -3 -56 127 -128 -126) +) +(assert_return (invoke "i8x16.any_true" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 0)) +(assert_return (invoke "i8x16.any_true" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0)) (i32.const 1)) +(assert_return (invoke "i8x16.any_true" (v128.const i32 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1)) (i32.const 1)) +(assert_return (invoke "i8x16.any_true" (v128.const i32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) (i32.const 1)) +(assert_return (invoke "i8x16.all_true" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (i32.const 0)) +(assert_return (invoke "i8x16.all_true" (v128.const i32 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0)) (i32.const 0)) +(assert_return (invoke "i8x16.all_true" (v128.const i32 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1)) (i32.const 0)) +(assert_return (invoke "i8x16.all_true" (v128.const i32 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)) (i32.const 1)) +(assert_return (invoke "i8x16.shl" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1)) + (v128.const i32 0 2 4 8 16 32 64 -128 0 6 12 24 48 96 -64 -128) +) +(assert_return (invoke "i8x16.shl" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8)) + (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) +) +(assert_return (invoke "i8x16.shr_u" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1)) + (v128.const i32 0 0 1 2 4 8 16 32 64 1 3 6 12 24 48 96) +) +(assert_return (invoke "i8x16.shr_u" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8)) + (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) +) +(assert_return (invoke "i8x16.shr_s" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 1)) + (v128.const i32 0 0 1 2 4 8 16 32 -64 1 3 6 12 24 48 -32) +) +(assert_return (invoke "i8x16.shr_s" (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) (i32.const 8)) + (v128.const i32 0 1 2 4 8 16 32 64 -128 3 6 12 24 48 96 -64) +) +(assert_return + (invoke "i8x16.add" + (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73) + (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142) + ) + (v128.const i32 3 17 0 0 0 135 109 46 145 225 48 184 17 249 128 215) +) +(assert_return + (invoke "i8x16.add_saturate_s" + (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73) + (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142) + ) + (v128.const i32 3 17 0 128 0 135 109 46 127 225 48 184 17 249 127 215) +) +(assert_return + (invoke "i8x16.add_saturate_u" + (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73) + (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142) + ) + (v128.const i32 3 255 255 255 255 135 109 46 145 225 255 184 17 255 128 215) +) +(assert_return + (invoke "i8x16.sub" + (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73) + (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142) + ) + (v128.const i32 253 67 254 0 254 123 159 12 61 167 158 100 17 251 130 187) +) +(assert_return + (invoke "i8x16.sub_saturate_s" + (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73) + (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142) + ) + (v128.const i32 253 67 254 0 127 128 159 12 61 167 158 128 17 251 130 127) +) +(assert_return + (invoke "i8x16.sub_saturate_u" + (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73) + (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142) + ) + (v128.const i32 0 0 254 0 0 123 0 12 61 167 158 100 17 0 0 0) +) +(assert_return + (invoke "i8x16.mul" + (v128.const i32 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73) + (v128.const i32 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142) + ) + (v128.const i32 0 230 255 0 255 6 106 237 230 52 223 76 0 6 127 126) +) + +;; i16x8 arithmetic +(assert_return (invoke "i16x8.neg" (v128.const i32 0 1 42 -3 -56 32767 -32768 32766)) + (v128.const i32 0 -1 -42 3 56 -32767 -32768 -32766) +) +(assert_return (invoke "i16x8.any_true" (v128.const i32 0 0 0 0 0 0 0 0)) (i32.const 0)) +(assert_return (invoke "i16x8.any_true" (v128.const i32 0 0 1 0 0 0 0 0)) (i32.const 1)) +(assert_return (invoke "i16x8.any_true" (v128.const i32 1 1 1 1 1 0 1 1)) (i32.const 1)) +(assert_return (invoke "i16x8.any_true" (v128.const i32 1 1 1 1 1 1 1 1)) (i32.const 1)) +(assert_return (invoke "i16x8.all_true" (v128.const i32 0 0 0 0 0 0 0 0)) (i32.const 0)) +(assert_return (invoke "i16x8.all_true" (v128.const i32 0 0 1 0 0 0 0 0)) (i32.const 0)) +(assert_return (invoke "i16x8.all_true" (v128.const i32 1 1 1 1 1 0 1 1)) (i32.const 0)) +(assert_return (invoke "i16x8.all_true" (v128.const i32 1 1 1 1 1 1 1 1)) (i32.const 1)) +(assert_return (invoke "i16x8.shl" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32 0 16 32 256 512 4096 8192 0)) +(assert_return (invoke "i16x8.shl" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32 0 8 16 128 256 2048 4096 -32768)) +(assert_return (invoke "i16x8.shr_u" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32 0 4 8 64 128 1024 2048 16384)) +(assert_return (invoke "i16x8.shr_u" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32 0 8 16 128 256 2048 4096 -32768)) +(assert_return (invoke "i16x8.shr_s" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 1)) (v128.const i32 0 4 8 64 128 1024 2048 -16384)) +(assert_return (invoke "i16x8.shr_s" (v128.const i32 0 8 16 128 256 2048 4096 -32768) (i32.const 16)) (v128.const i32 0 8 16 128 256 2048 4096 -32768)) +(assert_return + (invoke "i16x8.add" + (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766) + (v128.const i32 768 1 32768 33024 1536 18688 65280 2) + ) + (v128.const i32 768 65281 0 0 34560 12288 63744 32768) +) +(assert_return + (invoke "i16x8.add_saturate_s" + (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766) + (v128.const i32 768 1 32768 33024 1536 18688 65280 2) + ) + (v128.const i32 768 65281 32768 0 34560 12288 63744 32767) +) +(assert_return + (invoke "i16x8.add_saturate_u" + (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766) + (v128.const i32 768 1 32768 33024 1536 18688 65280 2) + ) + (v128.const i32 768 65281 65535 65535 34560 65535 65535 32768) +) +(assert_return + (invoke "i16x8.sub" + (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766) + (v128.const i32 768 1 32768 33024 1536 18688 65280 2) + ) + (v128.const i32 64768 65279 0 65024 31488 40448 64256 32764) +) +(assert_return + (invoke "i16x8.sub_saturate_s" + (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766) + (v128.const i32 768 1 32768 33024 1536 18688 65280 2) + ) + (v128.const i32 64768 65279 0 32767 32768 40448 64256 32764) +) +(assert_return + (invoke "i16x8.sub_saturate_u" + (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766) + (v128.const i32 768 1 32768 33024 1536 18688 65280 2) + ) + (v128.const i32 0 65279 0 0 31488 40448 0 32764) +) +(assert_return + (invoke "i16x8.mul" + (v128.const i32 0 65280 32768 32512 33024 59136 64000 32766) + (v128.const i32 768 1 32768 33024 1536 18688 65280 2) + ) + (v128.const i32 0 65280 0 0 0 0 0 65532) +) + +;; i32x4 arithmetic +(assert_return (invoke "i32x4.neg" (v128.const i32 0 1 0x80000000 0x7fffffff)) (v128.const i32 0 -1 0x80000000 0x80000001)) +(assert_return (invoke "i32x4.any_true" (v128.const i32 0 0 0 0)) (i32.const 0)) +(assert_return (invoke "i32x4.any_true" (v128.const i32 0 0 1 0)) (i32.const 1)) +(assert_return (invoke "i32x4.any_true" (v128.const i32 1 0 1 1)) (i32.const 1)) +(assert_return (invoke "i32x4.any_true" (v128.const i32 1 1 1 1)) (i32.const 1)) +(assert_return (invoke "i32x4.all_true" (v128.const i32 0 0 0 0)) (i32.const 0)) +(assert_return (invoke "i32x4.all_true" (v128.const i32 0 0 1 0)) (i32.const 0)) +(assert_return (invoke "i32x4.all_true" (v128.const i32 1 0 1 1)) (i32.const 0)) +(assert_return (invoke "i32x4.all_true" (v128.const i32 1 1 1 1)) (i32.const 1)) +(assert_return (invoke "i32x4.shl" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32 2 0x80000000 0 -2)) +(assert_return (invoke "i32x4.shl" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32 1 0x40000000 0x80000000 -1)) +(assert_return (invoke "i32x4.shr_s" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32 0 0x20000000 0xc0000000 -1)) +(assert_return (invoke "i32x4.shr_s" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32 1 0x40000000 0x80000000 -1)) +(assert_return (invoke "i32x4.shr_u" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 1)) (v128.const i32 0 0x20000000 0x40000000 0x7fffffff)) +(assert_return (invoke "i32x4.shr_u" (v128.const i32 1 0x40000000 0x80000000 -1) (i32.const 32)) (v128.const i32 1 0x40000000 0x80000000 -1)) +(assert_return (invoke "i32x4.add" (v128.const i32 0 0x80000001 42 5) (v128.const i32 0 0x80000001 5 42)) (v128.const i32 0 2 47 47)) +(assert_return (invoke "i32x4.sub" (v128.const i32 0 2 47 47) (v128.const i32 0 0x80000001 42 5)) (v128.const i32 0 0x80000001 5 42)) +(assert_return (invoke "i32x4.mul" (v128.const i32 0 0x80000001 42 5) (v128.const i32 0 0x80000001 42 5)) (v128.const i32 0 1 1764 25)) + +;; i64x2 arithmetic +(assert_return (invoke "i64x2.neg" (v128.const i64 0x8000000000000000 42)) (v128.const i64 0x8000000000000000 -42)) +(assert_return (invoke "i64x2.any_true" (v128.const i64 0 0)) (i32.const 0)) +(assert_return (invoke "i64x2.any_true" (v128.const i64 1 0)) (i32.const 1)) +(assert_return (invoke "i64x2.any_true" (v128.const i64 1 1)) (i32.const 1)) +(assert_return (invoke "i64x2.all_true" (v128.const i64 0 0)) (i32.const 0)) +(assert_return (invoke "i64x2.all_true" (v128.const i64 1 0)) (i32.const 0)) +(assert_return (invoke "i64x2.all_true" (v128.const i64 1 1)) (i32.const 1)) +(assert_return (invoke "i64x2.shl" (v128.const i64 1 0x8000000000000000) (i32.const 1)) (v128.const i64 2 0)) +(assert_return (invoke "i64x2.shl" (v128.const i64 1 0x8000000000000000) (i32.const 64)) (v128.const i64 1 0x8000000000000000)) +(assert_return (invoke "i64x2.shr_s" (v128.const i64 1 0x8000000000000000) (i32.const 1)) (v128.const i64 0 0xc000000000000000)) +(assert_return (invoke "i64x2.shr_s" (v128.const i64 1 0x8000000000000000) (i32.const 64)) (v128.const i64 1 0x8000000000000000)) +(assert_return (invoke "i64x2.shr_u" (v128.const i64 1 0x8000000000000000) (i32.const 1)) (v128.const i64 0 0x4000000000000000)) +(assert_return (invoke "i64x2.shr_u" (v128.const i64 1 0x8000000000000000) (i32.const 64)) (v128.const i64 1 0x8000000000000000)) +(assert_return (invoke "i64x2.add" (v128.const i64 0x8000000000000001 42) (v128.const i64 0x8000000000000001 0)) (v128.const i64 2 42)) +(assert_return (invoke "i64x2.sub" (v128.const i64 2 42) (v128.const i64 0x8000000000000001 0)) (v128.const i64 0x8000000000000001 42)) + +;; f32x4 arithmetic +(assert_return (invoke "f32x4.abs" (v128.const f32 -0 nan -infinity 5)) (v128.const f32 0 nan infinity 5)) +(assert_return (invoke "f32x4.neg" (v128.const f32 -0 nan -infinity 5)) (v128.const f32 0 -nan infinity -5)) +(assert_return (invoke "f32x4.sqrt" (v128.const f32 -0 nan infinity 4)) (v128.const f32 -0 nan infinity 2)) +(assert_return (invoke "f32x4.add" (v128.const f32 nan -nan infinity 42) (v128.const f32 42 infinity infinity 1)) (v128.const f32 nan -nan infinity 43)) +(assert_return (invoke "f32x4.sub" (v128.const f32 nan -nan infinity 42) (v128.const f32 42 infinity -infinity 1)) (v128.const f32 nan -nan infinity 41)) +(assert_return (invoke "f32x4.mul" (v128.const f32 nan -nan infinity 42) (v128.const f32 42 infinity infinity 2)) (v128.const f32 nan -nan infinity 84)) +(assert_return (invoke "f32x4.div" (v128.const f32 nan -nan infinity 42) (v128.const f32 42 infinity 2 2)) (v128.const f32 nan -nan infinity 21)) +(assert_return (invoke "f32x4.min" (v128.const f32 -0 0 nan 5) (v128.const f32 0 -0 5 nan)) (v128.const f32 -0 -0 nan nan)) +(assert_return (invoke "f32x4.max" (v128.const f32 -0 0 nan 5) (v128.const f32 0 -0 5 nan)) (v128.const f32 0 0 nan nan)) + +;; f64x2 arithmetic +(assert_return (invoke "f64x2.abs" (v128.const f64 -0 nan)) (v128.const f64 0 nan)) +(assert_return (invoke "f64x2.abs" (v128.const f64 -infinity 5)) (v128.const f64 infinity 5)) +(assert_return (invoke "f64x2.neg" (v128.const f64 -0 nan)) (v128.const f64 0 -nan)) +(assert_return (invoke "f64x2.neg" (v128.const f64 -infinity 5)) (v128.const f64 infinity -5)) +(assert_return (invoke "f64x2.sqrt" (v128.const f64 -0 nan)) (v128.const f64 -0 nan)) +(assert_return (invoke "f64x2.sqrt" (v128.const f64 infinity 4)) (v128.const f64 infinity 2)) +(assert_return (invoke "f64x2.add" (v128.const f64 nan -nan) (v128.const f64 42 infinity)) (v128.const f64 nan -nan)) +(assert_return (invoke "f64x2.add" (v128.const f64 infinity 42) (v128.const f64 infinity 1)) (v128.const f64 infinity 43)) +(assert_return (invoke "f64x2.sub" (v128.const f64 nan -nan) (v128.const f64 42 infinity)) (v128.const f64 nan -nan)) +(assert_return (invoke "f64x2.sub" (v128.const f64 infinity 42) (v128.const f64 -infinity 1)) (v128.const f64 infinity 41)) +(assert_return (invoke "f64x2.mul" (v128.const f64 nan -nan) (v128.const f64 42 infinity)) (v128.const f64 nan -nan)) +(assert_return (invoke "f64x2.mul" (v128.const f64 infinity 42) (v128.const f64 infinity 2)) (v128.const f64 infinity 84)) +(assert_return (invoke "f64x2.div" (v128.const f64 nan -nan) (v128.const f64 42 infinity)) (v128.const f64 nan -nan)) +(assert_return (invoke "f64x2.div" (v128.const f64 infinity 42) (v128.const f64 2 2)) (v128.const f64 infinity 21)) +(assert_return (invoke "f64x2.min" (v128.const f64 -0 0) (v128.const f64 0 -0)) (v128.const f64 -0 -0)) +(assert_return (invoke "f64x2.min" (v128.const f64 nan 5) (v128.const f64 5 nan)) (v128.const f64 nan nan)) +(assert_return (invoke "f64x2.max" (v128.const f64 -0 0) (v128.const f64 0 -0)) (v128.const f64 0 0)) +(assert_return (invoke "f64x2.max" (v128.const f64 nan 5) (v128.const f64 5 nan)) (v128.const f64 nan nan)) + +;; conversions +(assert_return (invoke "i32x4.trunc_s/f32x4:sat" (v128.const f32 42 nan infinity -infinity)) (v128.const i32 42 0 2147483647 -2147483648)) +(assert_return (invoke "i32x4.trunc_u/f32x4:sat" (v128.const f32 42 nan infinity -infinity)) (v128.const i32 42 0 4294967295 0)) +(assert_return (invoke "i64x2.trunc_s/f64x2:sat" (v128.const f64 42 nan)) (v128.const i64 42 0)) +(assert_return (invoke "i64x2.trunc_s/f64x2:sat" (v128.const f64 infinity -infinity)) (v128.const i64 9223372036854775807 -9223372036854775808)) +(assert_return (invoke "i64x2.trunc_u/f64x2:sat" (v128.const f64 42 nan)) (v128.const i64 42 0)) +(assert_return (invoke "i64x2.trunc_u/f64x2:sat" (v128.const f64 infinity -infinity)) (v128.const i64 18446744073709551615 0)) +(assert_return (invoke "f32x4.convert_s/i32x4" (v128.const i32 0 -1 2147483647 -2147483648)) (v128.const f32 0 -1 2147483648 -2147483648)) +(assert_return (invoke "f32x4.convert_u/i32x4" (v128.const i32 0 -1 2147483647 -2147483648)) (v128.const f32 0 4294967296 2147483648 2147483648)) +(assert_return (invoke "f64x2.convert_s/i64x2" (v128.const i64 0 -1)) (v128.const f64 0 -1)) +(assert_return (invoke "f64x2.convert_s/i64x2" (v128.const i64 9223372036854775807 -9223372036854775808)) (v128.const f64 9223372036854775807 -9223372036854775808)) +(assert_return (invoke "f64x2.convert_u/i64x2" (v128.const i64 0 -1)) (v128.const f64 0 18446744073709551616)) +(assert_return (invoke "f64x2.convert_u/i64x2" (v128.const i64 9223372036854775807 -9223372036854775808)) (v128.const f64 9223372036854775807 9223372036854775808)) |