diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-12-18 15:28:41 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-18 15:28:41 -0800 |
commit | 8b15ceea0fdcde214965aea337e887af5129ad88 (patch) | |
tree | 1a384ca739c9badf437ec96eb04b392f7510a055 | |
parent | 323e475a3ab57fe4ffd0b5826af5f6cbf0061265 (diff) | |
download | binaryen-8b15ceea0fdcde214965aea337e887af5129ad88.tar.gz binaryen-8b15ceea0fdcde214965aea337e887af5129ad88.tar.bz2 binaryen-8b15ceea0fdcde214965aea337e887af5129ad88.zip |
SIMD {i8x16,i16x8}.avgr_u instructions (#2539)
As specified in https://github.com/WebAssembly/simd/pull/126.
-rwxr-xr-x | scripts/gen-s-parser.py | 2 | ||||
-rw-r--r-- | src/binaryen-c.cpp | 2 | ||||
-rw-r--r-- | src/binaryen-c.h | 2 | ||||
-rw-r--r-- | src/gen-s-parser.inc | 6 | ||||
-rw-r--r-- | src/ir/cost.h | 6 | ||||
-rw-r--r-- | src/js/binaryen.js-post.js | 8 | ||||
-rw-r--r-- | src/literal.h | 3 | ||||
-rw-r--r-- | src/passes/Print.cpp | 6 | ||||
-rw-r--r-- | src/wasm-binary.h | 4 | ||||
-rw-r--r-- | src/wasm-interpreter.h | 4 | ||||
-rw-r--r-- | src/wasm.h | 2 | ||||
-rw-r--r-- | src/wasm/literal.cpp | 10 | ||||
-rw-r--r-- | src/wasm/wasm-binary.cpp | 8 | ||||
-rw-r--r-- | src/wasm/wasm-stack.cpp | 6 | ||||
-rw-r--r-- | src/wasm/wasm-validator.cpp | 2 | ||||
-rw-r--r-- | test/binaryen.js/kitchen-sink.js | 2 | ||||
-rw-r--r-- | test/binaryen.js/kitchen-sink.js.txt | 655 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 10 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt | 627 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt.txt | 48 | ||||
-rw-r--r-- | test/simd.wast | 12 | ||||
-rw-r--r-- | test/simd.wast.from-wast | 196 | ||||
-rw-r--r-- | test/simd.wast.fromBinary | 196 | ||||
-rw-r--r-- | test/simd.wast.fromBinary.noDebugInfo | 196 | ||||
-rw-r--r-- | test/spec/simd.wast | 16 |
25 files changed, 1144 insertions, 885 deletions
diff --git a/scripts/gen-s-parser.py b/scripts/gen-s-parser.py index c7f0a51c8..79b1a60f8 100755 --- a/scripts/gen-s-parser.py +++ b/scripts/gen-s-parser.py @@ -375,6 +375,7 @@ instructions = [ ("i8x16.min_u", "makeBinary(s, BinaryOp::MinUVecI8x16)"), ("i8x16.max_s", "makeBinary(s, BinaryOp::MaxSVecI8x16)"), ("i8x16.max_u", "makeBinary(s, BinaryOp::MaxUVecI8x16)"), + ("i8x16.avgr_u", "makeBinary(s, BinaryOp::AvgrUVecI8x16)"), ("i16x8.neg", "makeUnary(s, UnaryOp::NegVecI16x8)"), ("i16x8.any_true", "makeUnary(s, UnaryOp::AnyTrueVecI16x8)"), ("i16x8.all_true", "makeUnary(s, UnaryOp::AllTrueVecI16x8)"), @@ -392,6 +393,7 @@ instructions = [ ("i16x8.min_u", "makeBinary(s, BinaryOp::MinUVecI16x8)"), ("i16x8.max_s", "makeBinary(s, BinaryOp::MaxSVecI16x8)"), ("i16x8.max_u", "makeBinary(s, BinaryOp::MaxUVecI16x8)"), + ("i16x8.avgr_u", "makeBinary(s, BinaryOp::AvgrUVecI16x8)"), ("i32x4.neg", "makeUnary(s, UnaryOp::NegVecI32x4)"), ("i32x4.any_true", "makeUnary(s, UnaryOp::AnyTrueVecI32x4)"), ("i32x4.all_true", "makeUnary(s, UnaryOp::AllTrueVecI32x4)"), diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 70712d4d4..82cbc4c1f 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -780,6 +780,7 @@ BinaryenOp BinaryenMinSVecI8x16(void) { return MinSVecI8x16; } BinaryenOp BinaryenMinUVecI8x16(void) { return MinUVecI8x16; } BinaryenOp BinaryenMaxSVecI8x16(void) { return MaxSVecI8x16; } BinaryenOp BinaryenMaxUVecI8x16(void) { return MaxUVecI8x16; } +BinaryenOp BinaryenAvgrUVecI8x16(void) { return AvgrUVecI8x16; } BinaryenOp BinaryenNegVecI16x8(void) { return NegVecI16x8; } BinaryenOp BinaryenAnyTrueVecI16x8(void) { return AnyTrueVecI16x8; } BinaryenOp BinaryenAllTrueVecI16x8(void) { return AllTrueVecI16x8; } @@ -797,6 +798,7 @@ BinaryenOp BinaryenMinSVecI16x8(void) { return MinSVecI16x8; } BinaryenOp BinaryenMinUVecI16x8(void) { return MinUVecI16x8; } BinaryenOp BinaryenMaxSVecI16x8(void) { return MaxSVecI16x8; } BinaryenOp BinaryenMaxUVecI16x8(void) { return MaxUVecI16x8; } +BinaryenOp BinaryenAvgrUVecI16x8(void) { return AvgrUVecI16x8; } BinaryenOp BinaryenNegVecI32x4(void) { return NegVecI32x4; } BinaryenOp BinaryenAnyTrueVecI32x4(void) { return AnyTrueVecI32x4; } BinaryenOp BinaryenAllTrueVecI32x4(void) { return AllTrueVecI32x4; } diff --git a/src/binaryen-c.h b/src/binaryen-c.h index 9bbca29f8..f169ff367 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -474,6 +474,7 @@ BINARYEN_API BinaryenOp BinaryenMinSVecI8x16(void); BINARYEN_API BinaryenOp BinaryenMinUVecI8x16(void); BINARYEN_API BinaryenOp BinaryenMaxSVecI8x16(void); BINARYEN_API BinaryenOp BinaryenMaxUVecI8x16(void); +BINARYEN_API BinaryenOp BinaryenAvgrUVecI8x16(void); BINARYEN_API BinaryenOp BinaryenNegVecI16x8(void); BINARYEN_API BinaryenOp BinaryenAnyTrueVecI16x8(void); BINARYEN_API BinaryenOp BinaryenAllTrueVecI16x8(void); @@ -491,6 +492,7 @@ BINARYEN_API BinaryenOp BinaryenMinSVecI16x8(void); BINARYEN_API BinaryenOp BinaryenMinUVecI16x8(void); BINARYEN_API BinaryenOp BinaryenMaxSVecI16x8(void); BINARYEN_API BinaryenOp BinaryenMaxUVecI16x8(void); +BINARYEN_API BinaryenOp BinaryenAvgrUVecI16x8(void); BINARYEN_API BinaryenOp BinaryenNegVecI32x4(void); BINARYEN_API BinaryenOp BinaryenAnyTrueVecI32x4(void); BINARYEN_API BinaryenOp BinaryenAllTrueVecI32x4(void); diff --git a/src/gen-s-parser.inc b/src/gen-s-parser.inc index 59dc23077..d60ee1794 100644 --- a/src/gen-s-parser.inc +++ b/src/gen-s-parser.inc @@ -698,6 +698,9 @@ switch (op[0]) { case 'n': if (strcmp(op, "i16x8.any_true") == 0) { return makeUnary(s, UnaryOp::AnyTrueVecI16x8); } goto parse_error; + case 'v': + if (strcmp(op, "i16x8.avgr_u") == 0) { return makeBinary(s, BinaryOp::AvgrUVecI16x8); } + goto parse_error; default: goto parse_error; } } @@ -2241,6 +2244,9 @@ switch (op[0]) { case 'n': if (strcmp(op, "i8x16.any_true") == 0) { return makeUnary(s, UnaryOp::AnyTrueVecI8x16); } goto parse_error; + case 'v': + if (strcmp(op, "i8x16.avgr_u") == 0) { return makeBinary(s, BinaryOp::AvgrUVecI8x16); } + goto parse_error; default: goto parse_error; } } diff --git a/src/ir/cost.h b/src/ir/cost.h index 79be195f7..37f2611dd 100644 --- a/src/ir/cost.h +++ b/src/ir/cost.h @@ -594,6 +594,9 @@ struct CostAnalyzer : public Visitor<CostAnalyzer, Index> { case MaxUVecI8x16: ret = 1; break; + case AvgrUVecI8x16: + ret = 1; + break; case AddVecI16x8: ret = 1; break; @@ -627,6 +630,9 @@ struct CostAnalyzer : public Visitor<CostAnalyzer, Index> { case MaxUVecI16x8: ret = 1; break; + case AvgrUVecI16x8: + ret = 1; + break; case AddVecI32x4: ret = 1; break; diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 918d205cf..fa415ad0d 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -359,6 +359,7 @@ Module['MinSVecI8x16'] = Module['_BinaryenMinSVecI8x16'](); Module['MinUVecI8x16'] = Module['_BinaryenMinUVecI8x16'](); Module['MaxSVecI8x16'] = Module['_BinaryenMaxSVecI8x16'](); Module['MaxUVecI8x16'] = Module['_BinaryenMaxUVecI8x16'](); +Module['AvgrUVecI8x16'] = Module['_BinaryenAvgrUVecI8x16'](); Module['NegVecI16x8'] = Module['_BinaryenNegVecI16x8'](); Module['AnyTrueVecI16x8'] = Module['_BinaryenAnyTrueVecI16x8'](); Module['AllTrueVecI16x8'] = Module['_BinaryenAllTrueVecI16x8'](); @@ -376,6 +377,7 @@ Module['MinSVecI16x8'] = Module['_BinaryenMinSVecI16x8'](); Module['MinUVecI16x8'] = Module['_BinaryenMinUVecI16x8'](); Module['MaxSVecI16x8'] = Module['_BinaryenMaxSVecI16x8'](); Module['MaxUVecI16x8'] = Module['_BinaryenMaxUVecI16x8'](); +Module['AvgrUVecI16x8'] = Module['_BinaryenAvgrUVecI16x8'](); Module['DotSVecI16x8ToVecI32x4'] = Module['_BinaryenDotSVecI16x8ToVecI32x4'](); Module['NegVecI32x4'] = Module['_BinaryenNegVecI32x4'](); Module['AnyTrueVecI32x4'] = Module['_BinaryenAnyTrueVecI32x4'](); @@ -1492,6 +1494,9 @@ function wrapModule(module, self) { 'max_u': function(left, right) { return Module['_BinaryenBinary'](module, Module['MaxUVecI8x16'], left, right); }, + 'avgr_u': function(left, right) { + return Module['_BinaryenBinary'](module, Module['AvgrUVecI8x16'], left, right); + }, 'narrow_i16x8_s': function(left, right) { return Module['_BinaryenBinary'](module, Module['NarrowSVecI16x8ToVecI8x16'], left, right); }, @@ -1594,6 +1599,9 @@ function wrapModule(module, self) { 'max_u': function(left, right) { return Module['_BinaryenBinary'](module, Module['MaxUVecI16x8'], left, right); }, + 'avgr_u': function(left, right) { + return Module['_BinaryenBinary'](module, Module['AvgrUVecI16x8'], left, right); + }, 'narrow_i32x4_s': function(left, right) { return Module['_BinaryenBinary'](module, Module['NarrowSVecI32x4ToVecI16x8'], left, right); }, diff --git a/src/literal.h b/src/literal.h index c77c21947..1d19e6661 100644 --- a/src/literal.h +++ b/src/literal.h @@ -334,6 +334,7 @@ public: Literal minUI8x16(const Literal& other) const; Literal maxSI8x16(const Literal& other) const; Literal maxUI8x16(const Literal& other) const; + Literal avgrUI8x16(const Literal& other) const; Literal negI16x8() const; Literal anyTrueI16x8() const; Literal allTrueI16x8() const; @@ -351,6 +352,7 @@ public: Literal minUI16x8(const Literal& other) const; Literal maxSI16x8(const Literal& other) const; Literal maxUI16x8(const Literal& other) const; + Literal avgrUI16x8(const Literal& other) const; Literal negI32x4() const; Literal anyTrueI32x4() const; Literal allTrueI32x4() const; @@ -426,6 +428,7 @@ private: Literal maxInt(const Literal& other) const; Literal minUInt(const Literal& other) const; Literal maxUInt(const Literal& other) const; + Literal avgrUInt(const Literal& other) const; }; } // namespace wasm diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index f8e913079..1704e0145 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -1204,6 +1204,9 @@ struct PrintExpressionContents case MaxUVecI8x16: o << "i8x16.max_u"; break; + case AvgrUVecI8x16: + o << "i8x16.avgr_u"; + break; case AddVecI16x8: o << "i16x8.add"; break; @@ -1237,6 +1240,9 @@ struct PrintExpressionContents case MaxUVecI16x8: o << "i16x8.max_u"; break; + case AvgrUVecI16x8: + o << "i16x8.avgr_u"; + break; case AddVecI32x4: o << "i32x4.add"; break; diff --git a/src/wasm-binary.h b/src/wasm-binary.h index c453ad1f5..36e3ab3d8 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -765,6 +765,7 @@ enum ASTNodes { I8x16MinU = 0x5f, I8x16MaxS = 0x60, I8x16MaxU = 0x61, + I8x16AvgrU = 0xd9, I16x8Neg = 0x62, I16x8AnyTrue = 0x63, I16x8AllTrue = 0x64, @@ -782,6 +783,7 @@ enum ASTNodes { I16x8MinU = 0x70, I16x8MaxS = 0x71, I16x8MaxU = 0x72, + I16x8AvgrU = 0xda, I32x4Neg = 0x73, I32x4AnyTrue = 0x74, I32x4AllTrue = 0x75, @@ -795,7 +797,7 @@ enum ASTNodes { I32x4MinU = 0x81, I32x4MaxS = 0x82, I32x4MaxU = 0x83, - I32x4DotSVecI16x8 = 0xd9, + I32x4DotSVecI16x8 = 0xdb, I64x2Neg = 0x84, I64x2AnyTrue = 0x85, I64x2AllTrue = 0x86, diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 5f8296f0d..bda58de9d 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -765,6 +765,8 @@ public: return left.maxSI8x16(right); case MaxUVecI8x16: return left.maxUI8x16(right); + case AvgrUVecI8x16: + return left.avgrUI8x16(right); case AddVecI16x8: return left.addI16x8(right); case AddSatSVecI16x8: @@ -787,6 +789,8 @@ public: return left.maxSI16x8(right); case MaxUVecI16x8: return left.maxUI16x8(right); + case AvgrUVecI16x8: + return left.avgrUI16x8(right); case AddVecI32x4: return left.addI32x4(right); case SubVecI32x4: diff --git a/src/wasm.h b/src/wasm.h index 0ed4f27bd..f98e3031a 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -365,6 +365,7 @@ enum BinaryOp { MinUVecI8x16, MaxSVecI8x16, MaxUVecI8x16, + AvgrUVecI8x16, AddVecI16x8, AddSatSVecI16x8, AddSatUVecI16x8, @@ -376,6 +377,7 @@ enum BinaryOp { MinUVecI16x8, MaxSVecI16x8, MaxUVecI16x8, + AvgrUVecI16x8, AddVecI32x4, SubVecI32x4, MulVecI32x4, diff --git a/src/wasm/literal.cpp b/src/wasm/literal.cpp index 4183d8a23..82a150257 100644 --- a/src/wasm/literal.cpp +++ b/src/wasm/literal.cpp @@ -860,6 +860,10 @@ Literal Literal::maxUInt(const Literal& other) const { return uint32_t(geti32()) > uint32_t(other.geti32()) ? *this : other; } +Literal Literal::avgrUInt(const Literal& other) const { + return Literal((geti32() + other.geti32() + 1) / 2); +} + Literal Literal::and_(const Literal& other) const { switch (type) { case Type::i32: @@ -1729,6 +1733,9 @@ Literal Literal::maxSI8x16(const Literal& other) const { Literal Literal::maxUI8x16(const Literal& other) const { return binary<16, &Literal::getLanesUI8x16, &Literal::maxInt>(*this, other); } +Literal Literal::avgrUI8x16(const Literal& other) const { + return binary<16, &Literal::getLanesUI8x16, &Literal::avgrUInt>(*this, other); +} Literal Literal::addI16x8(const Literal& other) const { return binary<8, &Literal::getLanesUI16x8, &Literal::add>(*this, other); } @@ -1766,6 +1773,9 @@ Literal Literal::maxSI16x8(const Literal& other) const { Literal Literal::maxUI16x8(const Literal& other) const { return binary<8, &Literal::getLanesUI16x8, &Literal::maxInt>(*this, other); } +Literal Literal::avgrUI16x8(const Literal& other) const { + return binary<8, &Literal::getLanesUI16x8, &Literal::avgrUInt>(*this, other); +} Literal Literal::addI32x4(const Literal& other) const { return binary<4, &Literal::getLanesI32x4, &Literal::add>(*this, other); } diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 2787725a6..77bdc23bb 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -3589,6 +3589,10 @@ bool WasmBinaryBuilder::maybeVisitSIMDBinary(Expression*& out, uint32_t code) { curr = allocator.alloc<Binary>(); curr->op = MaxUVecI8x16; break; + case BinaryConsts::I8x16AvgrU: + curr = allocator.alloc<Binary>(); + curr->op = AvgrUVecI8x16; + break; case BinaryConsts::I16x8Add: curr = allocator.alloc<Binary>(); curr->op = AddVecI16x8; @@ -3633,6 +3637,10 @@ bool WasmBinaryBuilder::maybeVisitSIMDBinary(Expression*& out, uint32_t code) { curr = allocator.alloc<Binary>(); curr->op = MaxUVecI16x8; break; + case BinaryConsts::I16x8AvgrU: + curr = allocator.alloc<Binary>(); + curr->op = AvgrUVecI16x8; + break; case BinaryConsts::I32x4Add: curr = allocator.alloc<Binary>(); curr->op = AddVecI32x4; diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp index abaf17e05..593214838 100644 --- a/src/wasm/wasm-stack.cpp +++ b/src/wasm/wasm-stack.cpp @@ -1401,6 +1401,9 @@ void BinaryInstWriter::visitBinary(Binary* curr) { case MaxUVecI8x16: o << int8_t(BinaryConsts::SIMDPrefix) << U32LEB(BinaryConsts::I8x16MaxU); break; + case AvgrUVecI8x16: + o << int8_t(BinaryConsts::SIMDPrefix) << U32LEB(BinaryConsts::I8x16AvgrU); + break; case AddVecI16x8: o << int8_t(BinaryConsts::SIMDPrefix) << U32LEB(BinaryConsts::I16x8Add); break; @@ -1438,6 +1441,9 @@ void BinaryInstWriter::visitBinary(Binary* curr) { case MaxUVecI16x8: o << int8_t(BinaryConsts::SIMDPrefix) << U32LEB(BinaryConsts::I16x8MaxU); break; + case AvgrUVecI16x8: + o << int8_t(BinaryConsts::SIMDPrefix) << U32LEB(BinaryConsts::I16x8AvgrU); + break; case AddVecI32x4: o << int8_t(BinaryConsts::SIMDPrefix) << U32LEB(BinaryConsts::I32x4Add); break; diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index 0efc8cf4f..dcd56892c 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -1344,6 +1344,7 @@ void FunctionValidator::visitBinary(Binary* curr) { case MinUVecI8x16: case MaxSVecI8x16: case MaxUVecI8x16: + case AvgrUVecI8x16: case AddVecI16x8: case AddSatSVecI16x8: case AddSatUVecI16x8: @@ -1355,6 +1356,7 @@ void FunctionValidator::visitBinary(Binary* curr) { case MinUVecI16x8: case MaxSVecI16x8: case MaxUVecI16x8: + case AvgrUVecI16x8: case AddVecI32x4: case SubVecI32x4: case MulVecI32x4: diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js index 982bcc927..630db311f 100644 --- a/test/binaryen.js/kitchen-sink.js +++ b/test/binaryen.js/kitchen-sink.js @@ -355,6 +355,7 @@ function test_core() { module.i8x16.min_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), module.i8x16.max_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), module.i8x16.max_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i8x16.avgr_u(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)), @@ -366,6 +367,7 @@ function test_core() { module.i16x8.min_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), module.i16x8.max_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), module.i16x8.max_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)), + module.i16x8.avgr_u(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)), diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt index 74a11d48c..586834f26 100644 --- a/test/binaryen.js/kitchen-sink.js.txt +++ b/test/binaryen.js/kitchen-sink.js.txt @@ -1270,399 +1270,417 @@ int main() { uint8_t t226[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[574] = BinaryenConst(the_module, BinaryenLiteralVec128(t226)); } - expressions[575] = BinaryenSIMDExtract(the_module, 0, expressions[574], 1); { uint8_t t227[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[576] = BinaryenConst(the_module, BinaryenLiteralVec128(t227)); + expressions[575] = BinaryenConst(the_module, BinaryenLiteralVec128(t227)); } - expressions[577] = BinaryenSIMDExtract(the_module, 1, expressions[576], 1); + expressions[576] = BinaryenBinary(the_module, 171, expressions[574], expressions[575]); { uint8_t t228[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[578] = BinaryenConst(the_module, BinaryenLiteralVec128(t228)); + expressions[577] = BinaryenConst(the_module, BinaryenLiteralVec128(t228)); } - expressions[579] = BinaryenSIMDExtract(the_module, 2, expressions[578], 1); { uint8_t t229[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[580] = BinaryenConst(the_module, BinaryenLiteralVec128(t229)); + expressions[578] = BinaryenConst(the_module, BinaryenLiteralVec128(t229)); } - expressions[581] = BinaryenSIMDExtract(the_module, 3, expressions[580], 1); + expressions[579] = BinaryenBinary(the_module, 172, expressions[577], expressions[578]); { uint8_t t230[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[582] = BinaryenConst(the_module, BinaryenLiteralVec128(t230)); + expressions[580] = BinaryenConst(the_module, BinaryenLiteralVec128(t230)); } - expressions[583] = BinaryenSIMDExtract(the_module, 4, expressions[582], 1); + expressions[581] = BinaryenSIMDExtract(the_module, 0, expressions[580], 1); { uint8_t t231[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[584] = BinaryenConst(the_module, BinaryenLiteralVec128(t231)); + expressions[582] = BinaryenConst(the_module, BinaryenLiteralVec128(t231)); } - expressions[585] = BinaryenSIMDExtract(the_module, 5, expressions[584], 1); + expressions[583] = BinaryenSIMDExtract(the_module, 1, expressions[582], 1); { uint8_t t232[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[586] = BinaryenConst(the_module, BinaryenLiteralVec128(t232)); + expressions[584] = BinaryenConst(the_module, BinaryenLiteralVec128(t232)); } - expressions[587] = BinaryenSIMDExtract(the_module, 6, expressions[586], 1); + expressions[585] = BinaryenSIMDExtract(the_module, 2, expressions[584], 1); { uint8_t t233[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[588] = BinaryenConst(the_module, BinaryenLiteralVec128(t233)); + expressions[586] = BinaryenConst(the_module, BinaryenLiteralVec128(t233)); } - expressions[589] = BinaryenSIMDExtract(the_module, 7, expressions[588], 1); + expressions[587] = BinaryenSIMDExtract(the_module, 3, expressions[586], 1); { uint8_t t234[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[590] = BinaryenConst(the_module, BinaryenLiteralVec128(t234)); + expressions[588] = BinaryenConst(the_module, BinaryenLiteralVec128(t234)); } - expressions[591] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); - expressions[592] = BinaryenSIMDReplace(the_module, 1, expressions[590], 1, expressions[591]); + expressions[589] = BinaryenSIMDExtract(the_module, 4, expressions[588], 1); { uint8_t t235[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[593] = BinaryenConst(the_module, BinaryenLiteralVec128(t235)); + expressions[590] = BinaryenConst(the_module, BinaryenLiteralVec128(t235)); } - expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); - expressions[595] = BinaryenSIMDReplace(the_module, 0, expressions[593], 1, expressions[594]); + expressions[591] = BinaryenSIMDExtract(the_module, 5, expressions[590], 1); { uint8_t t236[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[596] = BinaryenConst(the_module, BinaryenLiteralVec128(t236)); + expressions[592] = BinaryenConst(the_module, BinaryenLiteralVec128(t236)); } - expressions[597] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); - expressions[598] = BinaryenSIMDReplace(the_module, 2, expressions[596], 1, expressions[597]); + expressions[593] = BinaryenSIMDExtract(the_module, 6, expressions[592], 1); { uint8_t t237[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t237)); + expressions[594] = BinaryenConst(the_module, BinaryenLiteralVec128(t237)); } - expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt64(184683593770)); - expressions[601] = BinaryenSIMDReplace(the_module, 3, expressions[599], 1, expressions[600]); + expressions[595] = BinaryenSIMDExtract(the_module, 7, expressions[594], 1); { uint8_t t238[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[602] = BinaryenConst(the_module, BinaryenLiteralVec128(t238)); + expressions[596] = BinaryenConst(the_module, BinaryenLiteralVec128(t238)); } - expressions[603] = BinaryenConst(the_module, BinaryenLiteralFloat32(42)); - expressions[604] = BinaryenSIMDReplace(the_module, 4, expressions[602], 1, expressions[603]); + expressions[597] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[598] = BinaryenSIMDReplace(the_module, 1, expressions[596], 1, expressions[597]); { uint8_t t239[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[605] = BinaryenConst(the_module, BinaryenLiteralVec128(t239)); + expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t239)); } - expressions[606] = BinaryenConst(the_module, BinaryenLiteralFloat64(42)); - expressions[607] = BinaryenSIMDReplace(the_module, 5, expressions[605], 1, expressions[606]); + expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[601] = BinaryenSIMDReplace(the_module, 0, expressions[599], 1, expressions[600]); { uint8_t t240[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[608] = BinaryenConst(the_module, BinaryenLiteralVec128(t240)); + expressions[602] = BinaryenConst(the_module, BinaryenLiteralVec128(t240)); } - expressions[609] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[610] = BinaryenSIMDShift(the_module, 0, expressions[608], expressions[609]); + expressions[603] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[604] = BinaryenSIMDReplace(the_module, 2, expressions[602], 1, expressions[603]); { uint8_t t241[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[611] = BinaryenConst(the_module, BinaryenLiteralVec128(t241)); + expressions[605] = BinaryenConst(the_module, BinaryenLiteralVec128(t241)); } - expressions[612] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[613] = BinaryenSIMDShift(the_module, 1, expressions[611], expressions[612]); + expressions[606] = BinaryenConst(the_module, BinaryenLiteralInt64(184683593770)); + expressions[607] = BinaryenSIMDReplace(the_module, 3, expressions[605], 1, expressions[606]); { uint8_t t242[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[614] = BinaryenConst(the_module, BinaryenLiteralVec128(t242)); + expressions[608] = BinaryenConst(the_module, BinaryenLiteralVec128(t242)); } - expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[616] = BinaryenSIMDShift(the_module, 2, expressions[614], expressions[615]); + expressions[609] = BinaryenConst(the_module, BinaryenLiteralFloat32(42)); + expressions[610] = BinaryenSIMDReplace(the_module, 4, expressions[608], 1, expressions[609]); { uint8_t t243[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[617] = BinaryenConst(the_module, BinaryenLiteralVec128(t243)); + expressions[611] = BinaryenConst(the_module, BinaryenLiteralVec128(t243)); } - expressions[618] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[619] = BinaryenSIMDShift(the_module, 3, expressions[617], expressions[618]); + expressions[612] = BinaryenConst(the_module, BinaryenLiteralFloat64(42)); + expressions[613] = BinaryenSIMDReplace(the_module, 5, expressions[611], 1, expressions[612]); { uint8_t t244[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[620] = BinaryenConst(the_module, BinaryenLiteralVec128(t244)); + expressions[614] = BinaryenConst(the_module, BinaryenLiteralVec128(t244)); } - expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[622] = BinaryenSIMDShift(the_module, 4, expressions[620], expressions[621]); + expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[616] = BinaryenSIMDShift(the_module, 0, expressions[614], expressions[615]); { uint8_t t245[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[623] = BinaryenConst(the_module, BinaryenLiteralVec128(t245)); + expressions[617] = BinaryenConst(the_module, BinaryenLiteralVec128(t245)); } - expressions[624] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[625] = BinaryenSIMDShift(the_module, 5, expressions[623], expressions[624]); + expressions[618] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[619] = BinaryenSIMDShift(the_module, 1, expressions[617], expressions[618]); { uint8_t t246[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[626] = BinaryenConst(the_module, BinaryenLiteralVec128(t246)); + expressions[620] = BinaryenConst(the_module, BinaryenLiteralVec128(t246)); } - expressions[627] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[628] = BinaryenSIMDShift(the_module, 6, expressions[626], expressions[627]); + expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[622] = BinaryenSIMDShift(the_module, 2, expressions[620], expressions[621]); { uint8_t t247[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[629] = BinaryenConst(the_module, BinaryenLiteralVec128(t247)); + expressions[623] = BinaryenConst(the_module, BinaryenLiteralVec128(t247)); } - expressions[630] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[631] = BinaryenSIMDShift(the_module, 7, expressions[629], expressions[630]); + expressions[624] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[625] = BinaryenSIMDShift(the_module, 3, expressions[623], expressions[624]); { uint8_t t248[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[632] = BinaryenConst(the_module, BinaryenLiteralVec128(t248)); + expressions[626] = BinaryenConst(the_module, BinaryenLiteralVec128(t248)); } - expressions[633] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[634] = BinaryenSIMDShift(the_module, 8, expressions[632], expressions[633]); + expressions[627] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[628] = BinaryenSIMDShift(the_module, 4, expressions[626], expressions[627]); { uint8_t t249[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[635] = BinaryenConst(the_module, BinaryenLiteralVec128(t249)); + expressions[629] = BinaryenConst(the_module, BinaryenLiteralVec128(t249)); } - expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[637] = BinaryenSIMDShift(the_module, 9, expressions[635], expressions[636]); + expressions[630] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[631] = BinaryenSIMDShift(the_module, 5, expressions[629], expressions[630]); { uint8_t t250[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[638] = BinaryenConst(the_module, BinaryenLiteralVec128(t250)); + expressions[632] = BinaryenConst(the_module, BinaryenLiteralVec128(t250)); } - expressions[639] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[640] = BinaryenSIMDShift(the_module, 10, expressions[638], expressions[639]); + expressions[633] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[634] = BinaryenSIMDShift(the_module, 6, expressions[632], expressions[633]); { uint8_t t251[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[641] = BinaryenConst(the_module, BinaryenLiteralVec128(t251)); + expressions[635] = BinaryenConst(the_module, BinaryenLiteralVec128(t251)); } - expressions[642] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[643] = BinaryenSIMDShift(the_module, 11, expressions[641], expressions[642]); - expressions[644] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[645] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[644]); - expressions[646] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[647] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[646]); - expressions[648] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[649] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[648]); - expressions[650] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[651] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[650]); - expressions[652] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[653] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[652]); - expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[655] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[654]); - expressions[656] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[657] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[656]); - expressions[658] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[659] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[658]); - expressions[660] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[661] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[660]); - expressions[662] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[663] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[662]); + expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[637] = BinaryenSIMDShift(the_module, 7, expressions[635], expressions[636]); { uint8_t t252[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[664] = BinaryenConst(the_module, BinaryenLiteralVec128(t252)); + expressions[638] = BinaryenConst(the_module, BinaryenLiteralVec128(t252)); } + expressions[639] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[640] = BinaryenSIMDShift(the_module, 8, expressions[638], expressions[639]); { uint8_t t253[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[665] = BinaryenConst(the_module, BinaryenLiteralVec128(t253)); - } - { - uint8_t mask[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[666] = BinaryenSIMDShuffle(the_module, expressions[664], expressions[665], mask); + expressions[641] = BinaryenConst(the_module, BinaryenLiteralVec128(t253)); } + expressions[642] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[643] = BinaryenSIMDShift(the_module, 9, expressions[641], expressions[642]); { uint8_t t254[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[667] = BinaryenConst(the_module, BinaryenLiteralVec128(t254)); + expressions[644] = BinaryenConst(the_module, BinaryenLiteralVec128(t254)); } + expressions[645] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[646] = BinaryenSIMDShift(the_module, 10, expressions[644], expressions[645]); { uint8_t t255[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[668] = BinaryenConst(the_module, BinaryenLiteralVec128(t255)); + expressions[647] = BinaryenConst(the_module, BinaryenLiteralVec128(t255)); } + expressions[648] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[649] = BinaryenSIMDShift(the_module, 11, expressions[647], expressions[648]); + expressions[650] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[651] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[650]); + expressions[652] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[653] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[652]); + expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[655] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[654]); + expressions[656] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[657] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[656]); + expressions[658] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[659] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[658]); + expressions[660] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[661] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[660]); + expressions[662] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[663] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[662]); + expressions[664] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[665] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[664]); + expressions[666] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[667] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[666]); + expressions[668] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[669] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[668]); { uint8_t t256[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[669] = BinaryenConst(the_module, BinaryenLiteralVec128(t256)); + expressions[670] = BinaryenConst(the_module, BinaryenLiteralVec128(t256)); } - expressions[670] = BinaryenSIMDTernary(the_module, 0, expressions[667], expressions[668], expressions[669]); { uint8_t t257[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[671] = BinaryenConst(the_module, BinaryenLiteralVec128(t257)); } { + uint8_t mask[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[672] = BinaryenSIMDShuffle(the_module, expressions[670], expressions[671], mask); + } + { uint8_t t258[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[672] = BinaryenConst(the_module, BinaryenLiteralVec128(t258)); + expressions[673] = BinaryenConst(the_module, BinaryenLiteralVec128(t258)); } { uint8_t t259[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[673] = BinaryenConst(the_module, BinaryenLiteralVec128(t259)); + expressions[674] = BinaryenConst(the_module, BinaryenLiteralVec128(t259)); } - expressions[674] = BinaryenSIMDTernary(the_module, 1, expressions[671], expressions[672], expressions[673]); { uint8_t t260[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[675] = BinaryenConst(the_module, BinaryenLiteralVec128(t260)); } + expressions[676] = BinaryenSIMDTernary(the_module, 0, expressions[673], expressions[674], expressions[675]); { uint8_t t261[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[676] = BinaryenConst(the_module, BinaryenLiteralVec128(t261)); + expressions[677] = BinaryenConst(the_module, BinaryenLiteralVec128(t261)); } { uint8_t t262[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[677] = BinaryenConst(the_module, BinaryenLiteralVec128(t262)); + expressions[678] = BinaryenConst(the_module, BinaryenLiteralVec128(t262)); } - expressions[678] = BinaryenSIMDTernary(the_module, 2, expressions[675], expressions[676], expressions[677]); { uint8_t t263[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[679] = BinaryenConst(the_module, BinaryenLiteralVec128(t263)); } + expressions[680] = BinaryenSIMDTernary(the_module, 1, expressions[677], expressions[678], expressions[679]); { uint8_t t264[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[680] = BinaryenConst(the_module, BinaryenLiteralVec128(t264)); + expressions[681] = BinaryenConst(the_module, BinaryenLiteralVec128(t264)); } { uint8_t t265[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[681] = BinaryenConst(the_module, BinaryenLiteralVec128(t265)); + expressions[682] = BinaryenConst(the_module, BinaryenLiteralVec128(t265)); } - expressions[682] = BinaryenSIMDTernary(the_module, 3, expressions[679], expressions[680], expressions[681]); { uint8_t t266[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[683] = BinaryenConst(the_module, BinaryenLiteralVec128(t266)); } + expressions[684] = BinaryenSIMDTernary(the_module, 2, expressions[681], expressions[682], expressions[683]); { uint8_t t267[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[684] = BinaryenConst(the_module, BinaryenLiteralVec128(t267)); + expressions[685] = BinaryenConst(the_module, BinaryenLiteralVec128(t267)); } { uint8_t t268[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[685] = BinaryenConst(the_module, BinaryenLiteralVec128(t268)); - } - expressions[686] = BinaryenSIMDTernary(the_module, 4, expressions[683], expressions[684], expressions[685]); - expressions[687] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[688] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[689] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); - expressions[690] = BinaryenMemoryInit(the_module, 0, expressions[687], expressions[688], expressions[689]); - expressions[691] = BinaryenDataDrop(the_module, 0); - expressions[692] = BinaryenConst(the_module, BinaryenLiteralInt32(2048)); + expressions[686] = BinaryenConst(the_module, BinaryenLiteralVec128(t268)); + } + { + uint8_t t269[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[687] = BinaryenConst(the_module, BinaryenLiteralVec128(t269)); + } + expressions[688] = BinaryenSIMDTernary(the_module, 3, expressions[685], expressions[686], expressions[687]); + { + uint8_t t270[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[689] = BinaryenConst(the_module, BinaryenLiteralVec128(t270)); + } + { + uint8_t t271[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[690] = BinaryenConst(the_module, BinaryenLiteralVec128(t271)); + } + { + uint8_t t272[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[691] = BinaryenConst(the_module, BinaryenLiteralVec128(t272)); + } + expressions[692] = BinaryenSIMDTernary(the_module, 4, expressions[689], expressions[690], expressions[691]); expressions[693] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[694] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); - expressions[695] = BinaryenMemoryCopy(the_module, expressions[692], expressions[693], expressions[694]); - expressions[696] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[697] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); - expressions[698] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[699] = BinaryenMemoryFill(the_module, expressions[696], expressions[697], expressions[698]); + expressions[694] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[695] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); + expressions[696] = BinaryenMemoryInit(the_module, 0, expressions[693], expressions[694], expressions[695]); + expressions[697] = BinaryenDataDrop(the_module, 0); + expressions[698] = BinaryenConst(the_module, BinaryenLiteralInt32(2048)); + expressions[699] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); + expressions[700] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); + expressions[701] = BinaryenMemoryCopy(the_module, expressions[698], expressions[699], expressions[700]); + expressions[702] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[703] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[704] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); + expressions[705] = BinaryenMemoryFill(the_module, expressions[702], expressions[703], expressions[704]); { BinaryenExpressionRef children[] = { 0 }; - expressions[700] = BinaryenBlock(the_module, NULL, children, 0, 0); - } - expressions[701] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]); - expressions[702] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]); - expressions[703] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[704] = BinaryenLoop(the_module, "in", expressions[703]); - expressions[705] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[706] = BinaryenLoop(the_module, NULL, expressions[705]); - expressions[707] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]); - expressions[708] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[709] = BinaryenBreak(the_module, "the-nothing", expressions[708], expressions[0]); - expressions[710] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); - expressions[711] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[710]); - expressions[712] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); + expressions[706] = BinaryenBlock(the_module, NULL, children, 0, 0); + } + expressions[707] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]); + expressions[708] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]); + expressions[709] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[710] = BinaryenLoop(the_module, "in", expressions[709]); + expressions[711] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[712] = BinaryenLoop(the_module, NULL, expressions[711]); + expressions[713] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]); + expressions[714] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[715] = BinaryenBreak(the_module, "the-nothing", expressions[714], expressions[0]); + expressions[716] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); + expressions[717] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[716]); + expressions[718] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); { const char* names[] = { "the-value" }; - expressions[713] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]); + expressions[719] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]); } - expressions[714] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[720] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); { const char* names[] = { "the-nothing" }; - expressions[715] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[714], expressions[0]); - } - expressions[716] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[717] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); - expressions[718] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); - expressions[719] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); - { - BinaryenExpressionRef operands[] = { expressions[716], expressions[717], expressions[718], expressions[719] }; - expressions[720] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 2); + expressions[721] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[720], expressions[0]); } - expressions[721] = BinaryenUnary(the_module, 20, expressions[720]); expressions[722] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[723] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + expressions[723] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); + expressions[724] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); + expressions[725] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); { - BinaryenExpressionRef operands[] = { expressions[722], expressions[723] }; - expressions[724] = BinaryenCall(the_module, "an-imported", operands, 2, 4); + BinaryenExpressionRef operands[] = { expressions[722], expressions[723], expressions[724], expressions[725] }; + expressions[726] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 2); } - expressions[725] = BinaryenUnary(the_module, 25, expressions[724]); - expressions[726] = BinaryenUnary(the_module, 20, expressions[725]); - expressions[727] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[727] = BinaryenUnary(the_module, 20, expressions[726]); expressions[728] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[729] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); - expressions[730] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); - expressions[731] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); - { - BinaryenExpressionRef operands[] = { expressions[728], expressions[729], expressions[730], expressions[731] }; - expressions[732] = BinaryenCallIndirect(the_module, expressions[727], operands, 4, 9, 2); - } - expressions[733] = BinaryenUnary(the_module, 20, expressions[732]); - expressions[734] = BinaryenLocalGet(the_module, 0, 2); - expressions[735] = BinaryenDrop(the_module, expressions[734]); - expressions[736] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); - expressions[737] = BinaryenLocalSet(the_module, 0, expressions[736]); - expressions[738] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); - expressions[739] = BinaryenLocalTee(the_module, 0, expressions[738], 2); - expressions[740] = BinaryenDrop(the_module, expressions[739]); - expressions[741] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[742] = BinaryenLoad(the_module, 4, 1, 0, 0, 2, expressions[741]); - expressions[743] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); - expressions[744] = BinaryenLoad(the_module, 2, 1, 2, 1, 3, expressions[743]); - expressions[745] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[746] = BinaryenLoad(the_module, 4, 1, 0, 0, 4, expressions[745]); - expressions[747] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); - expressions[748] = BinaryenLoad(the_module, 8, 1, 2, 8, 5, expressions[747]); - expressions[749] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 2); - expressions[750] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 3); - expressions[751] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]); - expressions[752] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); - expressions[753] = BinaryenReturn(the_module, expressions[752]); - expressions[754] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); - expressions[755] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); - expressions[756] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); - expressions[757] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); - { - BinaryenExpressionRef operands[] = { expressions[754], expressions[755], expressions[756], expressions[757] }; - expressions[758] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 2); - } - expressions[759] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[729] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + { + BinaryenExpressionRef operands[] = { expressions[728], expressions[729] }; + expressions[730] = BinaryenCall(the_module, "an-imported", operands, 2, 4); + } + expressions[731] = BinaryenUnary(the_module, 25, expressions[730]); + expressions[732] = BinaryenUnary(the_module, 20, expressions[731]); + expressions[733] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[734] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); + expressions[735] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); + expressions[736] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); + expressions[737] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + { + BinaryenExpressionRef operands[] = { expressions[734], expressions[735], expressions[736], expressions[737] }; + expressions[738] = BinaryenCallIndirect(the_module, expressions[733], operands, 4, 9, 2); + } + expressions[739] = BinaryenUnary(the_module, 20, expressions[738]); + expressions[740] = BinaryenLocalGet(the_module, 0, 2); + expressions[741] = BinaryenDrop(the_module, expressions[740]); + expressions[742] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); + expressions[743] = BinaryenLocalSet(the_module, 0, expressions[742]); + expressions[744] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); + expressions[745] = BinaryenLocalTee(the_module, 0, expressions[744], 2); + expressions[746] = BinaryenDrop(the_module, expressions[745]); + expressions[747] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[748] = BinaryenLoad(the_module, 4, 1, 0, 0, 2, expressions[747]); + expressions[749] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); + expressions[750] = BinaryenLoad(the_module, 2, 1, 2, 1, 3, expressions[749]); + expressions[751] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[752] = BinaryenLoad(the_module, 4, 1, 0, 0, 4, expressions[751]); + expressions[753] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); + expressions[754] = BinaryenLoad(the_module, 8, 1, 2, 8, 5, expressions[753]); + expressions[755] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 2); + expressions[756] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 3); + expressions[757] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]); + expressions[758] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); + expressions[759] = BinaryenReturn(the_module, expressions[758]); expressions[760] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); expressions[761] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); expressions[762] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); expressions[763] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); { BinaryenExpressionRef operands[] = { expressions[760], expressions[761], expressions[762], expressions[763] }; - expressions[764] = BinaryenReturnCallIndirect(the_module, expressions[759], operands, 4, 9, 2); - } - expressions[765] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - { - BinaryenExpressionRef operands[] = { expressions[765] }; - expressions[766] = BinaryenThrow(the_module, "a-event", operands, 1); - } - expressions[767] = BinaryenPop(the_module, 8); - expressions[768] = BinaryenLocalSet(the_module, 5, expressions[767]); - expressions[769] = BinaryenLocalGet(the_module, 5, 8); - expressions[770] = BinaryenBrOnExn(the_module, "try-block", "a-event", expressions[769]); - expressions[771] = BinaryenRethrow(the_module, expressions[770]); - { - BinaryenExpressionRef children[] = { expressions[771] }; - expressions[772] = BinaryenBlock(the_module, "try-block", children, 1, 2); - } - expressions[773] = BinaryenDrop(the_module, expressions[772]); - { - BinaryenExpressionRef children[] = { expressions[768], expressions[773] }; - expressions[774] = BinaryenBlock(the_module, NULL, children, 2, 0); - } - expressions[775] = BinaryenTry(the_module, expressions[766], expressions[774]); - expressions[776] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[777] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[778] = BinaryenAtomicLoad(the_module, 4, 0, 2, expressions[777]); - expressions[779] = BinaryenAtomicStore(the_module, 4, 0, expressions[776], expressions[778], 2); - expressions[780] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[781] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[782] = BinaryenConst(the_module, BinaryenLiteralInt64(0)); - expressions[783] = BinaryenAtomicWait(the_module, expressions[780], expressions[781], expressions[782], 2); - expressions[784] = BinaryenDrop(the_module, expressions[783]); - expressions[785] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[764] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 2); + } + expressions[765] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[766] = BinaryenConst(the_module, BinaryenLiteralInt32(13)); + expressions[767] = BinaryenConst(the_module, BinaryenLiteralInt64(37)); + expressions[768] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3)); + expressions[769] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7)); + { + BinaryenExpressionRef operands[] = { expressions[766], expressions[767], expressions[768], expressions[769] }; + expressions[770] = BinaryenReturnCallIndirect(the_module, expressions[765], operands, 4, 9, 2); + } + expressions[771] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + { + BinaryenExpressionRef operands[] = { expressions[771] }; + expressions[772] = BinaryenThrow(the_module, "a-event", operands, 1); + } + expressions[773] = BinaryenPop(the_module, 8); + expressions[774] = BinaryenLocalSet(the_module, 5, expressions[773]); + expressions[775] = BinaryenLocalGet(the_module, 5, 8); + expressions[776] = BinaryenBrOnExn(the_module, "try-block", "a-event", expressions[775]); + expressions[777] = BinaryenRethrow(the_module, expressions[776]); + { + BinaryenExpressionRef children[] = { expressions[777] }; + expressions[778] = BinaryenBlock(the_module, "try-block", children, 1, 2); + } + expressions[779] = BinaryenDrop(the_module, expressions[778]); + { + BinaryenExpressionRef children[] = { expressions[774], expressions[779] }; + expressions[780] = BinaryenBlock(the_module, NULL, children, 2, 0); + } + expressions[781] = BinaryenTry(the_module, expressions[772], expressions[780]); + expressions[782] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[783] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[784] = BinaryenAtomicLoad(the_module, 4, 0, 2, expressions[783]); + expressions[785] = BinaryenAtomicStore(the_module, 4, 0, expressions[782], expressions[784], 2); expressions[786] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[787] = BinaryenAtomicNotify(the_module, expressions[785], expressions[786]); - expressions[788] = BinaryenDrop(the_module, expressions[787]); - expressions[789] = BinaryenAtomicFence(the_module); - expressions[790] = BinaryenPop(the_module, 2); - expressions[791] = BinaryenPush(the_module, expressions[790]); - expressions[792] = BinaryenPop(the_module, 3); - expressions[793] = BinaryenPush(the_module, expressions[792]); - expressions[794] = BinaryenPop(the_module, 4); - expressions[795] = BinaryenPush(the_module, expressions[794]); - expressions[796] = BinaryenPop(the_module, 5); + expressions[787] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[788] = BinaryenConst(the_module, BinaryenLiteralInt64(0)); + expressions[789] = BinaryenAtomicWait(the_module, expressions[786], expressions[787], expressions[788], 2); + expressions[790] = BinaryenDrop(the_module, expressions[789]); + expressions[791] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[792] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[793] = BinaryenAtomicNotify(the_module, expressions[791], expressions[792]); + expressions[794] = BinaryenDrop(the_module, expressions[793]); + expressions[795] = BinaryenAtomicFence(the_module); + expressions[796] = BinaryenPop(the_module, 2); expressions[797] = BinaryenPush(the_module, expressions[796]); - expressions[798] = BinaryenPop(the_module, 6); + expressions[798] = BinaryenPop(the_module, 3); expressions[799] = BinaryenPush(the_module, expressions[798]); - expressions[800] = BinaryenPop(the_module, 7); + expressions[800] = BinaryenPop(the_module, 4); expressions[801] = BinaryenPush(the_module, expressions[800]); - expressions[802] = BinaryenPop(the_module, 8); + expressions[802] = BinaryenPop(the_module, 5); expressions[803] = BinaryenPush(the_module, expressions[802]); - expressions[804] = BinaryenNop(the_module); - expressions[805] = BinaryenUnreachable(the_module); + expressions[804] = BinaryenPop(the_module, 6); + expressions[805] = BinaryenPush(the_module, expressions[804]); + expressions[806] = BinaryenPop(the_module, 7); + expressions[807] = BinaryenPush(the_module, expressions[806]); + expressions[808] = BinaryenPop(the_module, 8); + expressions[809] = BinaryenPush(the_module, expressions[808]); + expressions[810] = BinaryenNop(the_module); + expressions[811] = BinaryenUnreachable(the_module); BinaryenExpressionGetId(expressions[30]); BinaryenExpressionGetType(expressions[30]); BinaryenUnaryGetOp(expressions[30]); @@ -1673,26 +1691,26 @@ getExpressionInfo={"id":15,"type":4,"op":6} (f32.const -33.61199951171875) ) - expressions[806] = BinaryenConst(the_module, BinaryenLiteralInt32(5)); - BinaryenExpressionGetId(expressions[806]); - BinaryenExpressionGetType(expressions[806]); - BinaryenConstGetValueI32(expressions[806]); + expressions[812] = BinaryenConst(the_module, BinaryenLiteralInt32(5)); + BinaryenExpressionGetId(expressions[812]); + BinaryenExpressionGetType(expressions[812]); + BinaryenConstGetValueI32(expressions[812]); getExpressionInfo(i32.const)={"id":14,"type":2,"value":5} - expressions[807] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078)); - BinaryenExpressionGetId(expressions[807]); - BinaryenExpressionGetType(expressions[807]); - BinaryenConstGetValueI64Low(expressions[807]); - BinaryenConstGetValueI64High(expressions[807]); + expressions[813] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078)); + BinaryenExpressionGetId(expressions[813]); + BinaryenExpressionGetType(expressions[813]); + BinaryenConstGetValueI64Low(expressions[813]); + BinaryenConstGetValueI64High(expressions[813]); getExpressionInfo(i64.const)={"id":14,"type":3,"value":{"low":6,"high":7}} - expressions[808] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5)); - BinaryenExpressionGetId(expressions[808]); - BinaryenExpressionGetType(expressions[808]); - BinaryenConstGetValueF32(expressions[808]); + expressions[814] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5)); + BinaryenExpressionGetId(expressions[814]); + BinaryenExpressionGetType(expressions[814]); + BinaryenConstGetValueF32(expressions[814]); getExpressionInfo(f32.const)={"id":14,"type":4,"value":8.5} - expressions[809] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5)); - BinaryenExpressionGetId(expressions[809]); - BinaryenExpressionGetType(expressions[809]); - BinaryenConstGetValueF64(expressions[809]); + expressions[815] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5)); + BinaryenExpressionGetId(expressions[815]); + BinaryenExpressionGetType(expressions[815]); + BinaryenConstGetValueF64(expressions[815]); getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} { BinaryenExpressionRef children[] = { expressions[24], expressions[26], expressions[28], expressions[30], expressions[32], @@ -1730,42 +1748,43 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} expressions[513], 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[575], expressions[577], expressions[579], - expressions[581], expressions[583], expressions[585], expressions[587], expressions[589], expressions[592], + expressions[567], expressions[570], expressions[573], expressions[576], expressions[579], expressions[581], + expressions[583], expressions[585], expressions[587], expressions[589], expressions[591], expressions[593], expressions[595], expressions[598], expressions[601], expressions[604], expressions[607], expressions[610], expressions[613], expressions[616], expressions[619], expressions[622], expressions[625], expressions[628], - expressions[631], expressions[634], expressions[637], expressions[640], expressions[643], expressions[645], - expressions[647], expressions[649], expressions[651], expressions[653], expressions[655], expressions[657], - expressions[659], expressions[661], expressions[663], expressions[666], expressions[670], expressions[674], - expressions[678], expressions[682], expressions[686], expressions[690], expressions[691], expressions[695], - expressions[699], expressions[700], expressions[701], expressions[702], expressions[704], expressions[706], - expressions[707], expressions[709], expressions[711], expressions[712], expressions[713], expressions[715], - expressions[721], expressions[726], expressions[733], expressions[735], expressions[737], expressions[740], - expressions[742], expressions[744], expressions[746], expressions[748], expressions[749], expressions[750], - expressions[751], expressions[753], expressions[758], expressions[764], expressions[775], expressions[779], - expressions[784], expressions[788], expressions[789], expressions[791], expressions[793], expressions[795], - expressions[797], expressions[799], expressions[801], expressions[803], expressions[804], expressions[805] }; - expressions[810] = BinaryenBlock(the_module, "the-value", children, 299, 0); + expressions[631], expressions[634], expressions[637], expressions[640], expressions[643], expressions[646], + expressions[649], expressions[651], expressions[653], expressions[655], expressions[657], expressions[659], + expressions[661], expressions[663], expressions[665], expressions[667], expressions[669], expressions[672], + expressions[676], expressions[680], expressions[684], expressions[688], expressions[692], expressions[696], + expressions[697], expressions[701], expressions[705], expressions[706], expressions[707], expressions[708], + expressions[710], expressions[712], expressions[713], expressions[715], expressions[717], expressions[718], + expressions[719], expressions[721], expressions[727], expressions[732], expressions[739], expressions[741], + expressions[743], expressions[746], expressions[748], expressions[750], expressions[752], expressions[754], + expressions[755], expressions[756], expressions[757], expressions[759], expressions[764], expressions[770], + expressions[781], expressions[785], expressions[790], expressions[794], expressions[795], expressions[797], + expressions[799], expressions[801], expressions[803], expressions[805], expressions[807], expressions[809], + expressions[810], expressions[811] }; + expressions[816] = BinaryenBlock(the_module, "the-value", children, 301, 0); } - expressions[811] = BinaryenDrop(the_module, expressions[810]); + expressions[817] = BinaryenDrop(the_module, expressions[816]); { - BinaryenExpressionRef children[] = { expressions[811] }; - expressions[812] = BinaryenBlock(the_module, "the-nothing", children, 1, 0); + BinaryenExpressionRef children[] = { expressions[817] }; + expressions[818] = BinaryenBlock(the_module, "the-nothing", children, 1, 0); } - expressions[813] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[819] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); { - BinaryenExpressionRef children[] = { expressions[812], expressions[813] }; - expressions[814] = BinaryenBlock(the_module, "the-body", children, 2, 0); + BinaryenExpressionRef children[] = { expressions[818], expressions[819] }; + expressions[820] = BinaryenBlock(the_module, "the-body", children, 2, 0); } { BinaryenType varTypes[] = { 2, 8 }; - functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", 9, 2, varTypes, 2, expressions[814]); + functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", 9, 2, varTypes, 2, expressions[820]); } - expressions[815] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - globals[0] = BinaryenAddGlobal(the_module, "a-global", 2, 0, expressions[815]); + expressions[821] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + globals[0] = BinaryenAddGlobal(the_module, "a-global", 2, 0, expressions[821]); { - BinaryenType t269[] = {2, 5}; - BinaryenTypeCreate(t269, 2); // 10 + BinaryenType t273[] = {2, 5}; + BinaryenTypeCreate(t273, 2); // 10 } BinaryenAddFunctionImport(the_module, "an-imported", "module", "base", 10, 4); BinaryenAddGlobalImport(the_module, "a-global-imp", "module", "base", 2, 0); @@ -1783,25 +1802,25 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} BinaryenFunctionGetVar(functions[0], 0); BinaryenFunctionGetVar(functions[0], 1); BinaryenFunctionGetBody(functions[0]); - expressions[816] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[822] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); { const char* funcNames[] = { "kitchen()sinker" }; - BinaryenSetFunctionTable(the_module, 1, 4294967295, funcNames, 1, expressions[816]); + BinaryenSetFunctionTable(the_module, 1, 4294967295, funcNames, 1, expressions[822]); } - expressions[817] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); + expressions[823] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); { const char segment0[] = { 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 }; const char segment1[] = { 73, 32, 97, 109, 32, 112, 97, 115, 115, 105, 118, 101 }; const char* segments[] = { segment0, segment1 }; int8_t segmentPassive[] = { 0, 1 }; - BinaryenExpressionRef segmentOffsets[] = { expressions[817], expressions[0] }; + BinaryenExpressionRef segmentOffsets[] = { expressions[823], expressions[0] }; BinaryenIndex segmentSizes[] = { 12, 12 }; BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentPassive, segmentOffsets, segmentSizes, 2, 1); } - expressions[818] = BinaryenNop(the_module); + expressions[824] = BinaryenNop(the_module); { BinaryenType varTypes[] = { 0 }; - functions[1] = BinaryenAddFunction(the_module, "starter", 0, 0, varTypes, 0, expressions[818]); + functions[1] = BinaryenAddFunction(the_module, "starter", 0, 0, varTypes, 0, expressions[824]); } BinaryenSetStart(the_module, functions[1]); BinaryenModuleAutoDrop(the_module); @@ -2796,6 +2815,12 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} ) ) (drop + (i8x16.avgr_u + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop (i16x8.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) @@ -2862,6 +2887,12 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} ) ) (drop + (i16x8.avgr_u + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop (i32x4.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) @@ -4481,6 +4512,12 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} ) ) (drop + (i8x16.avgr_u + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop (i16x8.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) @@ -4547,6 +4584,12 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} ) ) (drop + (i16x8.avgr_u + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop (i32x4.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) @@ -6132,18 +6175,18 @@ optimized: // [ 8 ] // BinaryenTypeAuto: -1 { - BinaryenType t270[] = {2, 2}; - BinaryenTypeCreate(t270, 2); // 11 + BinaryenType t274[] = {2, 2}; + BinaryenTypeCreate(t274, 2); // 11 } // 11 [ 2, 2 ] { - BinaryenType t271[] = {2, 2}; - BinaryenTypeCreate(t271, 2); // 11 + BinaryenType t275[] = {2, 2}; + BinaryenTypeCreate(t275, 2); // 11 } // 11 [ 2, 2 ] { - BinaryenType t272[] = {4, 4}; - BinaryenTypeCreate(t272, 2); // 12 + BinaryenType t276[] = {4, 4}; + BinaryenTypeCreate(t276, 2); // 12 } // 12 [ 4, 4 ] return 0; @@ -7222,6 +7265,12 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} ) ) (drop + (i8x16.avgr_u + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop (i16x8.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) @@ -7288,6 +7337,12 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} ) ) (drop + (i16x8.avgr_u + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop (i32x4.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) @@ -8905,6 +8960,12 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} ) ) (drop + (i8x16.avgr_u + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop (i16x8.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) @@ -8971,6 +9032,12 @@ getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5} ) ) (drop + (i16x8.avgr_u + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop (i32x4.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 6284cdd39..348cb5e85 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -496,6 +496,11 @@ void test_core() { makeBinary(module, BinaryenSubSatSVecI8x16(), v128), makeBinary(module, BinaryenSubSatUVecI8x16(), v128), makeBinary(module, BinaryenMulVecI8x16(), v128), + makeBinary(module, BinaryenMinSVecI8x16(), v128), + makeBinary(module, BinaryenMinUVecI8x16(), v128), + makeBinary(module, BinaryenMaxSVecI8x16(), v128), + makeBinary(module, BinaryenMaxUVecI8x16(), v128), + makeBinary(module, BinaryenAvgrUVecI8x16(), v128), makeBinary(module, BinaryenAddVecI16x8(), v128), makeBinary(module, BinaryenAddSatSVecI16x8(), v128), makeBinary(module, BinaryenAddSatUVecI16x8(), v128), @@ -507,13 +512,10 @@ void test_core() { makeBinary(module, BinaryenMinUVecI16x8(), v128), makeBinary(module, BinaryenMaxSVecI16x8(), v128), makeBinary(module, BinaryenMaxUVecI16x8(), v128), + makeBinary(module, BinaryenAvgrUVecI16x8(), v128), makeBinary(module, BinaryenAddVecI32x4(), v128), makeBinary(module, BinaryenSubVecI32x4(), v128), makeBinary(module, BinaryenMulVecI32x4(), v128), - makeBinary(module, BinaryenMinSVecI8x16(), v128), - makeBinary(module, BinaryenMinUVecI8x16(), v128), - makeBinary(module, BinaryenMaxSVecI8x16(), v128), - makeBinary(module, BinaryenMaxUVecI8x16(), v128), makeBinary(module, BinaryenAddVecI64x2(), v128), makeBinary(module, BinaryenSubVecI64x2(), v128), makeBinary(module, BinaryenAddVecF32x4(), v128), diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index a75fd7380..7cf5010f7 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -929,7 +929,7 @@ int main() { uint8_t t144[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[470] = BinaryenConst(the_module, BinaryenLiteralVec128(t144)); } - expressions[471] = BinaryenBinary(the_module, 133, expressions[470], expressions[469]); + expressions[471] = BinaryenBinary(the_module, 129, expressions[470], expressions[469]); { uint8_t t145[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[472] = BinaryenConst(the_module, BinaryenLiteralVec128(t145)); @@ -938,7 +938,7 @@ int main() { uint8_t t146[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[473] = BinaryenConst(the_module, BinaryenLiteralVec128(t146)); } - expressions[474] = BinaryenBinary(the_module, 134, expressions[473], expressions[472]); + expressions[474] = BinaryenBinary(the_module, 130, expressions[473], expressions[472]); { uint8_t t147[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[475] = BinaryenConst(the_module, BinaryenLiteralVec128(t147)); @@ -947,7 +947,7 @@ int main() { uint8_t t148[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[476] = BinaryenConst(the_module, BinaryenLiteralVec128(t148)); } - expressions[477] = BinaryenBinary(the_module, 135, expressions[476], expressions[475]); + expressions[477] = BinaryenBinary(the_module, 131, expressions[476], expressions[475]); { uint8_t t149[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[478] = BinaryenConst(the_module, BinaryenLiteralVec128(t149)); @@ -956,7 +956,7 @@ int main() { uint8_t t150[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[479] = BinaryenConst(the_module, BinaryenLiteralVec128(t150)); } - expressions[480] = BinaryenBinary(the_module, 136, expressions[479], expressions[478]); + expressions[480] = BinaryenBinary(the_module, 132, expressions[479], expressions[478]); { uint8_t t151[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[481] = BinaryenConst(the_module, BinaryenLiteralVec128(t151)); @@ -965,7 +965,7 @@ int main() { uint8_t t152[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[482] = BinaryenConst(the_module, BinaryenLiteralVec128(t152)); } - expressions[483] = BinaryenBinary(the_module, 137, expressions[482], expressions[481]); + expressions[483] = BinaryenBinary(the_module, 133, expressions[482], expressions[481]); { uint8_t t153[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[484] = BinaryenConst(the_module, BinaryenLiteralVec128(t153)); @@ -974,7 +974,7 @@ int main() { uint8_t t154[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[485] = BinaryenConst(the_module, BinaryenLiteralVec128(t154)); } - expressions[486] = BinaryenBinary(the_module, 138, expressions[485], expressions[484]); + expressions[486] = BinaryenBinary(the_module, 134, expressions[485], expressions[484]); { uint8_t t155[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[487] = BinaryenConst(the_module, BinaryenLiteralVec128(t155)); @@ -983,7 +983,7 @@ int main() { uint8_t t156[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[488] = BinaryenConst(the_module, BinaryenLiteralVec128(t156)); } - expressions[489] = BinaryenBinary(the_module, 139, expressions[488], expressions[487]); + expressions[489] = BinaryenBinary(the_module, 135, expressions[488], expressions[487]); { uint8_t t157[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[490] = BinaryenConst(the_module, BinaryenLiteralVec128(t157)); @@ -992,7 +992,7 @@ int main() { uint8_t t158[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[491] = BinaryenConst(the_module, BinaryenLiteralVec128(t158)); } - expressions[492] = BinaryenBinary(the_module, 140, expressions[491], expressions[490]); + expressions[492] = BinaryenBinary(the_module, 136, expressions[491], expressions[490]); { uint8_t t159[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[493] = BinaryenConst(the_module, BinaryenLiteralVec128(t159)); @@ -1001,7 +1001,7 @@ int main() { uint8_t t160[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[494] = BinaryenConst(the_module, BinaryenLiteralVec128(t160)); } - expressions[495] = BinaryenBinary(the_module, 141, expressions[494], expressions[493]); + expressions[495] = BinaryenBinary(the_module, 137, expressions[494], expressions[493]); { uint8_t t161[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[496] = BinaryenConst(the_module, BinaryenLiteralVec128(t161)); @@ -1010,7 +1010,7 @@ int main() { uint8_t t162[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[497] = BinaryenConst(the_module, BinaryenLiteralVec128(t162)); } - expressions[498] = BinaryenBinary(the_module, 142, expressions[497], expressions[496]); + expressions[498] = BinaryenBinary(the_module, 138, expressions[497], expressions[496]); { uint8_t t163[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[499] = BinaryenConst(the_module, BinaryenLiteralVec128(t163)); @@ -1019,7 +1019,7 @@ int main() { uint8_t t164[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[500] = BinaryenConst(the_module, BinaryenLiteralVec128(t164)); } - expressions[501] = BinaryenBinary(the_module, 143, expressions[500], expressions[499]); + expressions[501] = BinaryenBinary(the_module, 139, expressions[500], expressions[499]); { uint8_t t165[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[502] = BinaryenConst(the_module, BinaryenLiteralVec128(t165)); @@ -1028,7 +1028,7 @@ int main() { uint8_t t166[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[503] = BinaryenConst(the_module, BinaryenLiteralVec128(t166)); } - expressions[504] = BinaryenBinary(the_module, 144, expressions[503], expressions[502]); + expressions[504] = BinaryenBinary(the_module, 140, expressions[503], expressions[502]); { uint8_t t167[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[505] = BinaryenConst(the_module, BinaryenLiteralVec128(t167)); @@ -1037,7 +1037,7 @@ int main() { uint8_t t168[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[506] = BinaryenConst(the_module, BinaryenLiteralVec128(t168)); } - expressions[507] = BinaryenBinary(the_module, 145, expressions[506], expressions[505]); + expressions[507] = BinaryenBinary(the_module, 141, expressions[506], expressions[505]); { uint8_t t169[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[508] = BinaryenConst(the_module, BinaryenLiteralVec128(t169)); @@ -1046,7 +1046,7 @@ int main() { uint8_t t170[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[509] = BinaryenConst(the_module, BinaryenLiteralVec128(t170)); } - expressions[510] = BinaryenBinary(the_module, 146, expressions[509], expressions[508]); + expressions[510] = BinaryenBinary(the_module, 142, expressions[509], expressions[508]); { uint8_t t171[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[511] = BinaryenConst(the_module, BinaryenLiteralVec128(t171)); @@ -1055,7 +1055,7 @@ int main() { uint8_t t172[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[512] = BinaryenConst(the_module, BinaryenLiteralVec128(t172)); } - expressions[513] = BinaryenBinary(the_module, 129, expressions[512], expressions[511]); + expressions[513] = BinaryenBinary(the_module, 143, expressions[512], expressions[511]); { uint8_t t173[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[514] = BinaryenConst(the_module, BinaryenLiteralVec128(t173)); @@ -1064,7 +1064,7 @@ int main() { uint8_t t174[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[515] = BinaryenConst(the_module, BinaryenLiteralVec128(t174)); } - expressions[516] = BinaryenBinary(the_module, 130, expressions[515], expressions[514]); + expressions[516] = BinaryenBinary(the_module, 144, expressions[515], expressions[514]); { uint8_t t175[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[517] = BinaryenConst(the_module, BinaryenLiteralVec128(t175)); @@ -1073,7 +1073,7 @@ int main() { uint8_t t176[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[518] = BinaryenConst(the_module, BinaryenLiteralVec128(t176)); } - expressions[519] = BinaryenBinary(the_module, 131, expressions[518], expressions[517]); + expressions[519] = BinaryenBinary(the_module, 145, expressions[518], expressions[517]); { uint8_t t177[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[520] = BinaryenConst(the_module, BinaryenLiteralVec128(t177)); @@ -1082,7 +1082,7 @@ int main() { uint8_t t178[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[521] = BinaryenConst(the_module, BinaryenLiteralVec128(t178)); } - expressions[522] = BinaryenBinary(the_module, 132, expressions[521], expressions[520]); + expressions[522] = BinaryenBinary(the_module, 146, expressions[521], expressions[520]); { uint8_t t179[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[523] = BinaryenConst(the_module, BinaryenLiteralVec128(t179)); @@ -1091,7 +1091,7 @@ int main() { uint8_t t180[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[524] = BinaryenConst(the_module, BinaryenLiteralVec128(t180)); } - expressions[525] = BinaryenBinary(the_module, 152, expressions[524], expressions[523]); + expressions[525] = BinaryenBinary(the_module, 147, expressions[524], expressions[523]); { uint8_t t181[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[526] = BinaryenConst(the_module, BinaryenLiteralVec128(t181)); @@ -1100,7 +1100,7 @@ int main() { uint8_t t182[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[527] = BinaryenConst(the_module, BinaryenLiteralVec128(t182)); } - expressions[528] = BinaryenBinary(the_module, 153, expressions[527], expressions[526]); + expressions[528] = BinaryenBinary(the_module, 148, expressions[527], expressions[526]); { uint8_t t183[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[529] = BinaryenConst(the_module, BinaryenLiteralVec128(t183)); @@ -1136,7 +1136,7 @@ int main() { uint8_t t190[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[539] = BinaryenConst(the_module, BinaryenLiteralVec128(t190)); } - expressions[540] = BinaryenBinary(the_module, 147, expressions[539], expressions[538]); + expressions[540] = BinaryenBinary(the_module, 157, expressions[539], expressions[538]); { uint8_t t191[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[541] = BinaryenConst(the_module, BinaryenLiteralVec128(t191)); @@ -1145,7 +1145,7 @@ int main() { uint8_t t192[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[542] = BinaryenConst(the_module, BinaryenLiteralVec128(t192)); } - expressions[543] = BinaryenBinary(the_module, 148, expressions[542], expressions[541]); + expressions[543] = BinaryenBinary(the_module, 158, expressions[542], expressions[541]); { 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)); @@ -1181,7 +1181,7 @@ int main() { uint8_t t200[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[554] = BinaryenConst(the_module, BinaryenLiteralVec128(t200)); } - expressions[555] = BinaryenBinary(the_module, 157, expressions[554], expressions[553]); + expressions[555] = BinaryenBinary(the_module, 152, expressions[554], expressions[553]); { uint8_t t201[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[556] = BinaryenConst(the_module, BinaryenLiteralVec128(t201)); @@ -1190,7 +1190,7 @@ int main() { uint8_t t202[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[557] = BinaryenConst(the_module, BinaryenLiteralVec128(t202)); } - expressions[558] = BinaryenBinary(the_module, 158, expressions[557], expressions[556]); + expressions[558] = BinaryenBinary(the_module, 153, expressions[557], expressions[556]); { uint8_t t203[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[559] = BinaryenConst(the_module, BinaryenLiteralVec128(t203)); @@ -1303,353 +1303,371 @@ int main() { uint8_t t227[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[595] = BinaryenConst(the_module, BinaryenLiteralVec128(t227)); } - expressions[596] = BinaryenSIMDExtract(the_module, 0, expressions[595], 0); { uint8_t t228[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[597] = BinaryenConst(the_module, BinaryenLiteralVec128(t228)); + expressions[596] = BinaryenConst(the_module, BinaryenLiteralVec128(t228)); } - expressions[598] = BinaryenSIMDExtract(the_module, 1, expressions[597], 0); + expressions[597] = BinaryenBinary(the_module, 171, expressions[596], expressions[595]); { uint8_t t229[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t229)); + expressions[598] = BinaryenConst(the_module, BinaryenLiteralVec128(t229)); } - expressions[600] = BinaryenSIMDExtract(the_module, 2, expressions[599], 0); { uint8_t t230[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[601] = BinaryenConst(the_module, BinaryenLiteralVec128(t230)); + expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t230)); } - expressions[602] = BinaryenSIMDExtract(the_module, 3, expressions[601], 0); + expressions[600] = BinaryenBinary(the_module, 172, expressions[599], expressions[598]); { uint8_t t231[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[603] = BinaryenConst(the_module, BinaryenLiteralVec128(t231)); + expressions[601] = BinaryenConst(the_module, BinaryenLiteralVec128(t231)); } - expressions[604] = BinaryenSIMDExtract(the_module, 4, expressions[603], 0); + expressions[602] = BinaryenSIMDExtract(the_module, 0, expressions[601], 0); { uint8_t t232[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[605] = BinaryenConst(the_module, BinaryenLiteralVec128(t232)); + expressions[603] = BinaryenConst(the_module, BinaryenLiteralVec128(t232)); } - expressions[606] = BinaryenSIMDExtract(the_module, 5, expressions[605], 0); + expressions[604] = BinaryenSIMDExtract(the_module, 1, expressions[603], 0); { uint8_t t233[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[607] = BinaryenConst(the_module, BinaryenLiteralVec128(t233)); + expressions[605] = BinaryenConst(the_module, BinaryenLiteralVec128(t233)); } - expressions[608] = BinaryenSIMDExtract(the_module, 6, expressions[607], 0); + expressions[606] = BinaryenSIMDExtract(the_module, 2, expressions[605], 0); { uint8_t t234[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[609] = BinaryenConst(the_module, BinaryenLiteralVec128(t234)); + expressions[607] = BinaryenConst(the_module, BinaryenLiteralVec128(t234)); } - expressions[610] = BinaryenSIMDExtract(the_module, 7, expressions[609], 0); - expressions[611] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[608] = BinaryenSIMDExtract(the_module, 3, expressions[607], 0); { uint8_t t235[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[612] = BinaryenConst(the_module, BinaryenLiteralVec128(t235)); + expressions[609] = BinaryenConst(the_module, BinaryenLiteralVec128(t235)); } - expressions[613] = BinaryenSIMDReplace(the_module, 0, expressions[612], 0, expressions[611]); - expressions[614] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[610] = BinaryenSIMDExtract(the_module, 4, expressions[609], 0); { uint8_t t236[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[615] = BinaryenConst(the_module, BinaryenLiteralVec128(t236)); + expressions[611] = BinaryenConst(the_module, BinaryenLiteralVec128(t236)); } - expressions[616] = BinaryenSIMDReplace(the_module, 1, expressions[615], 0, expressions[614]); - expressions[617] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[612] = BinaryenSIMDExtract(the_module, 5, expressions[611], 0); { uint8_t t237[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[618] = BinaryenConst(the_module, BinaryenLiteralVec128(t237)); + expressions[613] = BinaryenConst(the_module, BinaryenLiteralVec128(t237)); } - expressions[619] = BinaryenSIMDReplace(the_module, 2, expressions[618], 0, expressions[617]); - expressions[620] = BinaryenConst(the_module, BinaryenLiteralInt64(42)); + expressions[614] = BinaryenSIMDExtract(the_module, 6, expressions[613], 0); { uint8_t t238[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[621] = BinaryenConst(the_module, BinaryenLiteralVec128(t238)); + expressions[615] = BinaryenConst(the_module, BinaryenLiteralVec128(t238)); } - expressions[622] = BinaryenSIMDReplace(the_module, 3, expressions[621], 0, expressions[620]); - expressions[623] = BinaryenConst(the_module, BinaryenLiteralFloat32(42)); + expressions[616] = BinaryenSIMDExtract(the_module, 7, expressions[615], 0); + expressions[617] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); { uint8_t t239[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[624] = BinaryenConst(the_module, BinaryenLiteralVec128(t239)); + expressions[618] = BinaryenConst(the_module, BinaryenLiteralVec128(t239)); } - expressions[625] = BinaryenSIMDReplace(the_module, 4, expressions[624], 0, expressions[623]); - expressions[626] = BinaryenConst(the_module, BinaryenLiteralFloat64(42)); + expressions[619] = BinaryenSIMDReplace(the_module, 0, expressions[618], 0, expressions[617]); + expressions[620] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); { uint8_t t240[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[627] = BinaryenConst(the_module, BinaryenLiteralVec128(t240)); + expressions[621] = BinaryenConst(the_module, BinaryenLiteralVec128(t240)); } - expressions[628] = BinaryenSIMDReplace(the_module, 5, expressions[627], 0, expressions[626]); + expressions[622] = BinaryenSIMDReplace(the_module, 1, expressions[621], 0, expressions[620]); + expressions[623] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); { uint8_t t241[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[629] = BinaryenConst(the_module, BinaryenLiteralVec128(t241)); + expressions[624] = BinaryenConst(the_module, BinaryenLiteralVec128(t241)); } - expressions[630] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[631] = BinaryenSIMDShift(the_module, 0, expressions[629], expressions[630]); + expressions[625] = BinaryenSIMDReplace(the_module, 2, expressions[624], 0, expressions[623]); + expressions[626] = BinaryenConst(the_module, BinaryenLiteralInt64(42)); { uint8_t t242[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[632] = BinaryenConst(the_module, BinaryenLiteralVec128(t242)); + expressions[627] = BinaryenConst(the_module, BinaryenLiteralVec128(t242)); } - expressions[633] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[634] = BinaryenSIMDShift(the_module, 1, expressions[632], expressions[633]); + expressions[628] = BinaryenSIMDReplace(the_module, 3, expressions[627], 0, expressions[626]); + expressions[629] = BinaryenConst(the_module, BinaryenLiteralFloat32(42)); { uint8_t t243[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[635] = BinaryenConst(the_module, BinaryenLiteralVec128(t243)); + expressions[630] = BinaryenConst(the_module, BinaryenLiteralVec128(t243)); } - expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[637] = BinaryenSIMDShift(the_module, 2, expressions[635], expressions[636]); + expressions[631] = BinaryenSIMDReplace(the_module, 4, expressions[630], 0, expressions[629]); + expressions[632] = BinaryenConst(the_module, BinaryenLiteralFloat64(42)); { uint8_t t244[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[638] = BinaryenConst(the_module, BinaryenLiteralVec128(t244)); + expressions[633] = BinaryenConst(the_module, BinaryenLiteralVec128(t244)); } - expressions[639] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[640] = BinaryenSIMDShift(the_module, 3, expressions[638], expressions[639]); + expressions[634] = BinaryenSIMDReplace(the_module, 5, expressions[633], 0, expressions[632]); { uint8_t t245[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[641] = BinaryenConst(the_module, BinaryenLiteralVec128(t245)); + expressions[635] = BinaryenConst(the_module, BinaryenLiteralVec128(t245)); } - expressions[642] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[643] = BinaryenSIMDShift(the_module, 4, expressions[641], expressions[642]); + expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[637] = BinaryenSIMDShift(the_module, 0, expressions[635], expressions[636]); { uint8_t t246[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[644] = BinaryenConst(the_module, BinaryenLiteralVec128(t246)); + expressions[638] = BinaryenConst(the_module, BinaryenLiteralVec128(t246)); } - expressions[645] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[646] = BinaryenSIMDShift(the_module, 5, expressions[644], expressions[645]); + expressions[639] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[640] = BinaryenSIMDShift(the_module, 1, expressions[638], expressions[639]); { uint8_t t247[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[647] = BinaryenConst(the_module, BinaryenLiteralVec128(t247)); + expressions[641] = BinaryenConst(the_module, BinaryenLiteralVec128(t247)); } - expressions[648] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[649] = BinaryenSIMDShift(the_module, 6, expressions[647], expressions[648]); + expressions[642] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[643] = BinaryenSIMDShift(the_module, 2, expressions[641], expressions[642]); { uint8_t t248[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[650] = BinaryenConst(the_module, BinaryenLiteralVec128(t248)); + expressions[644] = BinaryenConst(the_module, BinaryenLiteralVec128(t248)); } - expressions[651] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[652] = BinaryenSIMDShift(the_module, 7, expressions[650], expressions[651]); + expressions[645] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[646] = BinaryenSIMDShift(the_module, 3, expressions[644], expressions[645]); { uint8_t t249[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[653] = BinaryenConst(the_module, BinaryenLiteralVec128(t249)); + expressions[647] = BinaryenConst(the_module, BinaryenLiteralVec128(t249)); } - expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[655] = BinaryenSIMDShift(the_module, 8, expressions[653], expressions[654]); + expressions[648] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[649] = BinaryenSIMDShift(the_module, 4, expressions[647], expressions[648]); { uint8_t t250[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[656] = BinaryenConst(the_module, BinaryenLiteralVec128(t250)); + expressions[650] = BinaryenConst(the_module, BinaryenLiteralVec128(t250)); } - expressions[657] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[658] = BinaryenSIMDShift(the_module, 9, expressions[656], expressions[657]); + expressions[651] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[652] = BinaryenSIMDShift(the_module, 5, expressions[650], expressions[651]); { uint8_t t251[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[659] = BinaryenConst(the_module, BinaryenLiteralVec128(t251)); + expressions[653] = BinaryenConst(the_module, BinaryenLiteralVec128(t251)); } - expressions[660] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[661] = BinaryenSIMDShift(the_module, 10, expressions[659], expressions[660]); + expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[655] = BinaryenSIMDShift(the_module, 6, expressions[653], expressions[654]); { uint8_t t252[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[662] = BinaryenConst(the_module, BinaryenLiteralVec128(t252)); + expressions[656] = BinaryenConst(the_module, BinaryenLiteralVec128(t252)); } - expressions[663] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[664] = BinaryenSIMDShift(the_module, 11, expressions[662], expressions[663]); - expressions[665] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[666] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[665]); - expressions[667] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[668] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[667]); - expressions[669] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[670] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[669]); - expressions[671] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[672] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[671]); - expressions[673] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[674] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[673]); - expressions[675] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[676] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[675]); - expressions[677] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[678] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[677]); - expressions[679] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[680] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[679]); - expressions[681] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[682] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[681]); - expressions[683] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); - expressions[684] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[683]); + expressions[657] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[658] = BinaryenSIMDShift(the_module, 7, expressions[656], expressions[657]); { uint8_t t253[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[685] = BinaryenConst(the_module, BinaryenLiteralVec128(t253)); + expressions[659] = BinaryenConst(the_module, BinaryenLiteralVec128(t253)); } + expressions[660] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[661] = BinaryenSIMDShift(the_module, 8, expressions[659], expressions[660]); { uint8_t t254[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[686] = BinaryenConst(the_module, BinaryenLiteralVec128(t254)); - } - { - uint8_t mask[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - expressions[687] = BinaryenSIMDShuffle(the_module, expressions[685], expressions[686], mask); + expressions[662] = BinaryenConst(the_module, BinaryenLiteralVec128(t254)); } + expressions[663] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[664] = BinaryenSIMDShift(the_module, 9, expressions[662], expressions[663]); { uint8_t t255[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[688] = BinaryenConst(the_module, BinaryenLiteralVec128(t255)); + expressions[665] = BinaryenConst(the_module, BinaryenLiteralVec128(t255)); } + expressions[666] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[667] = BinaryenSIMDShift(the_module, 10, expressions[665], expressions[666]); { uint8_t t256[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[689] = BinaryenConst(the_module, BinaryenLiteralVec128(t256)); + expressions[668] = BinaryenConst(the_module, BinaryenLiteralVec128(t256)); } + expressions[669] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[670] = BinaryenSIMDShift(the_module, 11, expressions[668], expressions[669]); + expressions[671] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[672] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[671]); + expressions[673] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[674] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[673]); + expressions[675] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[676] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[675]); + expressions[677] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[678] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[677]); + expressions[679] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[680] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[679]); + expressions[681] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[682] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[681]); + expressions[683] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[684] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[683]); + expressions[685] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[686] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[685]); + expressions[687] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[688] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[687]); + expressions[689] = BinaryenConst(the_module, BinaryenLiteralInt32(128)); + expressions[690] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[689]); { uint8_t t257[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[690] = BinaryenConst(the_module, BinaryenLiteralVec128(t257)); + expressions[691] = BinaryenConst(the_module, BinaryenLiteralVec128(t257)); } - expressions[691] = BinaryenSIMDTernary(the_module, 0, expressions[688], expressions[689], expressions[690]); { uint8_t t258[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[692] = BinaryenConst(the_module, BinaryenLiteralVec128(t258)); } { + uint8_t mask[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + expressions[693] = BinaryenSIMDShuffle(the_module, expressions[691], expressions[692], mask); + } + { uint8_t t259[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[693] = BinaryenConst(the_module, BinaryenLiteralVec128(t259)); + expressions[694] = BinaryenConst(the_module, BinaryenLiteralVec128(t259)); } { uint8_t t260[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[694] = BinaryenConst(the_module, BinaryenLiteralVec128(t260)); + expressions[695] = BinaryenConst(the_module, BinaryenLiteralVec128(t260)); } - expressions[695] = BinaryenSIMDTernary(the_module, 1, expressions[692], expressions[693], expressions[694]); { uint8_t t261[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[696] = BinaryenConst(the_module, BinaryenLiteralVec128(t261)); } + expressions[697] = BinaryenSIMDTernary(the_module, 0, expressions[694], expressions[695], expressions[696]); { uint8_t t262[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[697] = BinaryenConst(the_module, BinaryenLiteralVec128(t262)); + expressions[698] = BinaryenConst(the_module, BinaryenLiteralVec128(t262)); } { uint8_t t263[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[698] = BinaryenConst(the_module, BinaryenLiteralVec128(t263)); + expressions[699] = BinaryenConst(the_module, BinaryenLiteralVec128(t263)); } - expressions[699] = BinaryenSIMDTernary(the_module, 2, expressions[696], expressions[697], expressions[698]); { uint8_t t264[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[700] = BinaryenConst(the_module, BinaryenLiteralVec128(t264)); } + expressions[701] = BinaryenSIMDTernary(the_module, 1, expressions[698], expressions[699], expressions[700]); { uint8_t t265[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[701] = BinaryenConst(the_module, BinaryenLiteralVec128(t265)); + expressions[702] = BinaryenConst(the_module, BinaryenLiteralVec128(t265)); } { uint8_t t266[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[702] = BinaryenConst(the_module, BinaryenLiteralVec128(t266)); + expressions[703] = BinaryenConst(the_module, BinaryenLiteralVec128(t266)); } - expressions[703] = BinaryenSIMDTernary(the_module, 3, expressions[700], expressions[701], expressions[702]); { uint8_t t267[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[704] = BinaryenConst(the_module, BinaryenLiteralVec128(t267)); } + expressions[705] = BinaryenSIMDTernary(the_module, 2, expressions[702], expressions[703], expressions[704]); { uint8_t t268[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[705] = BinaryenConst(the_module, BinaryenLiteralVec128(t268)); + expressions[706] = BinaryenConst(the_module, BinaryenLiteralVec128(t268)); } { uint8_t t269[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; - expressions[706] = BinaryenConst(the_module, BinaryenLiteralVec128(t269)); - } - expressions[707] = BinaryenSIMDTernary(the_module, 4, expressions[704], expressions[705], expressions[706]); - expressions[708] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[709] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[710] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); - expressions[711] = BinaryenMemoryInit(the_module, 0, expressions[708], expressions[709], expressions[710]); - expressions[712] = BinaryenDataDrop(the_module, 0); - expressions[713] = BinaryenConst(the_module, BinaryenLiteralInt32(2048)); + expressions[707] = BinaryenConst(the_module, BinaryenLiteralVec128(t269)); + } + { + uint8_t t270[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[708] = BinaryenConst(the_module, BinaryenLiteralVec128(t270)); + } + expressions[709] = BinaryenSIMDTernary(the_module, 3, expressions[706], expressions[707], expressions[708]); + { + uint8_t t271[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[710] = BinaryenConst(the_module, BinaryenLiteralVec128(t271)); + } + { + uint8_t t272[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[711] = BinaryenConst(the_module, BinaryenLiteralVec128(t272)); + } + { + uint8_t t273[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[712] = BinaryenConst(the_module, BinaryenLiteralVec128(t273)); + } + expressions[713] = BinaryenSIMDTernary(the_module, 4, expressions[710], expressions[711], expressions[712]); expressions[714] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[715] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); - expressions[716] = BinaryenMemoryCopy(the_module, expressions[713], expressions[714], expressions[715]); - expressions[717] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[718] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); - expressions[719] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[720] = BinaryenMemoryFill(the_module, expressions[717], expressions[718], expressions[719]); + expressions[715] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[716] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); + expressions[717] = BinaryenMemoryInit(the_module, 0, expressions[714], expressions[715], expressions[716]); + expressions[718] = BinaryenDataDrop(the_module, 0); + expressions[719] = BinaryenConst(the_module, BinaryenLiteralInt32(2048)); + expressions[720] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); + expressions[721] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); + expressions[722] = BinaryenMemoryCopy(the_module, expressions[719], expressions[720], expressions[721]); + expressions[723] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[724] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[725] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); + expressions[726] = BinaryenMemoryFill(the_module, expressions[723], expressions[724], expressions[725]); { BinaryenExpressionRef children[] = { 0 }; - expressions[721] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto()); - } - expressions[722] = BinaryenIf(the_module, expressions[18], expressions[19], expressions[20]); - expressions[723] = BinaryenIf(the_module, expressions[21], expressions[22], expressions[0]); - expressions[724] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[725] = BinaryenLoop(the_module, "in", expressions[724]); - expressions[726] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[727] = BinaryenLoop(the_module, NULL, expressions[726]); - expressions[728] = BinaryenBreak(the_module, "the-value", expressions[23], expressions[24]); - expressions[729] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[730] = BinaryenBreak(the_module, "the-nothing", expressions[729], expressions[0]); - expressions[731] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); - expressions[732] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[731]); - expressions[733] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); + expressions[727] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto()); + } + expressions[728] = BinaryenIf(the_module, expressions[18], expressions[19], expressions[20]); + expressions[729] = BinaryenIf(the_module, expressions[21], expressions[22], expressions[0]); + expressions[730] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[731] = BinaryenLoop(the_module, "in", expressions[730]); + expressions[732] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[733] = BinaryenLoop(the_module, NULL, expressions[732]); + expressions[734] = BinaryenBreak(the_module, "the-value", expressions[23], expressions[24]); + expressions[735] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[736] = BinaryenBreak(the_module, "the-nothing", expressions[735], expressions[0]); + expressions[737] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); + expressions[738] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[737]); + expressions[739] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); { const char* names[] = { "the-value" }; - expressions[734] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[25], expressions[26]); + expressions[740] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[25], expressions[26]); } - expressions[735] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[741] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); { const char* names[] = { "the-nothing" }; - expressions[736] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[735], expressions[0]); + expressions[742] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[741], expressions[0]); } { BinaryenExpressionRef operands[] = { expressions[10], expressions[11], expressions[12], expressions[13] }; - expressions[737] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 2); + expressions[743] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 2); } - expressions[738] = BinaryenUnary(the_module, 20, expressions[737]); + expressions[744] = BinaryenUnary(the_module, 20, expressions[743]); { BinaryenExpressionRef operands[] = { expressions[8], expressions[9] }; - expressions[739] = BinaryenCall(the_module, "an-imported", operands, 2, 4); + expressions[745] = BinaryenCall(the_module, "an-imported", operands, 2, 4); } - expressions[740] = BinaryenUnary(the_module, 25, expressions[739]); - expressions[741] = BinaryenUnary(the_module, 20, expressions[740]); - expressions[742] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[746] = BinaryenUnary(the_module, 25, expressions[745]); + expressions[747] = BinaryenUnary(the_module, 20, expressions[746]); + expressions[748] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); { BinaryenExpressionRef operands[] = { expressions[14], expressions[15], expressions[16], expressions[17] }; - expressions[743] = BinaryenCallIndirect(the_module, expressions[742], operands, 4, 9, 2); - } - expressions[744] = BinaryenUnary(the_module, 20, expressions[743]); - expressions[745] = BinaryenLocalGet(the_module, 0, 2); - expressions[746] = BinaryenDrop(the_module, expressions[745]); - expressions[747] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); - expressions[748] = BinaryenLocalSet(the_module, 0, expressions[747]); - expressions[749] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); - expressions[750] = BinaryenLocalTee(the_module, 0, expressions[749], 2); - expressions[751] = BinaryenDrop(the_module, expressions[750]); - expressions[752] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[753] = BinaryenLoad(the_module, 4, 0, 0, 0, 2, expressions[752]); - expressions[754] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); - expressions[755] = BinaryenLoad(the_module, 2, 1, 2, 1, 3, expressions[754]); - expressions[756] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[757] = BinaryenLoad(the_module, 4, 0, 0, 0, 4, expressions[756]); - expressions[758] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); - expressions[759] = BinaryenLoad(the_module, 8, 0, 2, 8, 5, expressions[758]); - expressions[760] = BinaryenStore(the_module, 4, 0, 0, expressions[30], expressions[31], 2); - expressions[761] = BinaryenStore(the_module, 8, 2, 4, expressions[32], expressions[33], 3); - expressions[762] = BinaryenSelect(the_module, expressions[27], expressions[28], expressions[29]); - expressions[763] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); - expressions[764] = BinaryenReturn(the_module, expressions[763]); + expressions[749] = BinaryenCallIndirect(the_module, expressions[748], operands, 4, 9, 2); + } + expressions[750] = BinaryenUnary(the_module, 20, expressions[749]); + expressions[751] = BinaryenLocalGet(the_module, 0, 2); + expressions[752] = BinaryenDrop(the_module, expressions[751]); + expressions[753] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); + expressions[754] = BinaryenLocalSet(the_module, 0, expressions[753]); + expressions[755] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); + expressions[756] = BinaryenLocalTee(the_module, 0, expressions[755], 2); + expressions[757] = BinaryenDrop(the_module, expressions[756]); + expressions[758] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[759] = BinaryenLoad(the_module, 4, 0, 0, 0, 2, expressions[758]); + expressions[760] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); + expressions[761] = BinaryenLoad(the_module, 2, 1, 2, 1, 3, expressions[760]); + expressions[762] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[763] = BinaryenLoad(the_module, 4, 0, 0, 0, 4, expressions[762]); + expressions[764] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); + expressions[765] = BinaryenLoad(the_module, 8, 0, 2, 8, 5, expressions[764]); + expressions[766] = BinaryenStore(the_module, 4, 0, 0, expressions[30], expressions[31], 2); + expressions[767] = BinaryenStore(the_module, 8, 2, 4, expressions[32], expressions[33], 3); + expressions[768] = BinaryenSelect(the_module, expressions[27], expressions[28], expressions[29]); + expressions[769] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); + expressions[770] = BinaryenReturn(the_module, expressions[769]); { BinaryenExpressionRef operands[] = { expressions[10], expressions[11], expressions[12], expressions[13] }; - expressions[765] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 2); + expressions[771] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 2); } - expressions[766] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[772] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); { BinaryenExpressionRef operands[] = { expressions[14], expressions[15], expressions[16], expressions[17] }; - expressions[767] = BinaryenReturnCallIndirect(the_module, expressions[766], operands, 4, 9, 2); - } - expressions[768] = BinaryenTry(the_module, expressions[35], expressions[43]); - expressions[769] = BinaryenAtomicLoad(the_module, 4, 0, 2, expressions[23]); - expressions[770] = BinaryenAtomicStore(the_module, 4, 0, expressions[23], expressions[769], 2); - expressions[771] = BinaryenAtomicWait(the_module, expressions[23], expressions[23], expressions[33], 2); - expressions[772] = BinaryenDrop(the_module, expressions[771]); - expressions[773] = BinaryenAtomicNotify(the_module, expressions[23], expressions[23]); - expressions[774] = BinaryenDrop(the_module, expressions[773]); - expressions[775] = BinaryenAtomicFence(the_module); - expressions[776] = BinaryenPop(the_module, 2); - expressions[777] = BinaryenPush(the_module, expressions[776]); - expressions[778] = BinaryenPop(the_module, 3); - expressions[779] = BinaryenPush(the_module, expressions[778]); - expressions[780] = BinaryenPop(the_module, 4); - expressions[781] = BinaryenPush(the_module, expressions[780]); - expressions[782] = BinaryenPop(the_module, 5); + expressions[773] = BinaryenReturnCallIndirect(the_module, expressions[772], operands, 4, 9, 2); + } + expressions[774] = BinaryenTry(the_module, expressions[35], expressions[43]); + expressions[775] = BinaryenAtomicLoad(the_module, 4, 0, 2, expressions[23]); + expressions[776] = BinaryenAtomicStore(the_module, 4, 0, expressions[23], expressions[775], 2); + expressions[777] = BinaryenAtomicWait(the_module, expressions[23], expressions[23], expressions[33], 2); + expressions[778] = BinaryenDrop(the_module, expressions[777]); + expressions[779] = BinaryenAtomicNotify(the_module, expressions[23], expressions[23]); + expressions[780] = BinaryenDrop(the_module, expressions[779]); + expressions[781] = BinaryenAtomicFence(the_module); + expressions[782] = BinaryenPop(the_module, 2); expressions[783] = BinaryenPush(the_module, expressions[782]); - expressions[784] = BinaryenPop(the_module, 7); + expressions[784] = BinaryenPop(the_module, 3); expressions[785] = BinaryenPush(the_module, expressions[784]); - expressions[786] = BinaryenPop(the_module, 8); + expressions[786] = BinaryenPop(the_module, 4); expressions[787] = BinaryenPush(the_module, expressions[786]); - expressions[788] = BinaryenNop(the_module); - expressions[789] = BinaryenUnreachable(the_module); + expressions[788] = BinaryenPop(the_module, 5); + expressions[789] = BinaryenPush(the_module, expressions[788]); + expressions[790] = BinaryenPop(the_module, 7); + expressions[791] = BinaryenPush(the_module, expressions[790]); + expressions[792] = BinaryenPop(the_module, 8); + expressions[793] = BinaryenPush(the_module, expressions[792]); + expressions[794] = BinaryenNop(the_module); + expressions[795] = BinaryenUnreachable(the_module); BinaryenExpressionPrint(expressions[51]); (f32.neg (f32.const -33.61199951171875) @@ -1690,67 +1708,68 @@ int main() { 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[576], expressions[579], expressions[582], expressions[585], - expressions[588], expressions[591], expressions[594], expressions[596], expressions[598], expressions[600], - expressions[602], expressions[604], expressions[606], expressions[608], expressions[610], expressions[613], + expressions[588], expressions[591], expressions[594], expressions[597], expressions[600], expressions[602], + expressions[604], expressions[606], expressions[608], expressions[610], expressions[612], expressions[614], expressions[616], expressions[619], expressions[622], expressions[625], expressions[628], expressions[631], expressions[634], expressions[637], expressions[640], expressions[643], expressions[646], expressions[649], - expressions[652], expressions[655], expressions[658], expressions[661], expressions[664], expressions[666], - expressions[668], expressions[670], expressions[672], expressions[674], expressions[676], expressions[678], - expressions[680], expressions[682], expressions[684], expressions[687], expressions[691], expressions[695], - expressions[699], expressions[703], expressions[707], expressions[711], expressions[712], expressions[716], - expressions[720], expressions[721], expressions[722], expressions[723], expressions[725], expressions[727], - expressions[728], expressions[730], expressions[732], expressions[733], expressions[734], expressions[736], - expressions[738], expressions[741], expressions[744], expressions[746], expressions[748], expressions[751], - expressions[753], expressions[755], expressions[757], expressions[759], expressions[760], expressions[761], - expressions[762], expressions[764], expressions[765], expressions[767], expressions[768], expressions[770], - expressions[772], expressions[774], expressions[775], expressions[777], expressions[779], expressions[781], - expressions[783], expressions[785], expressions[787], expressions[788], expressions[789] }; - expressions[790] = BinaryenBlock(the_module, "the-value", children, 298, BinaryenTypeAuto()); + expressions[652], expressions[655], expressions[658], expressions[661], expressions[664], expressions[667], + expressions[670], expressions[672], expressions[674], expressions[676], expressions[678], expressions[680], + expressions[682], expressions[684], expressions[686], expressions[688], expressions[690], expressions[693], + expressions[697], expressions[701], expressions[705], expressions[709], expressions[713], expressions[717], + expressions[718], expressions[722], expressions[726], expressions[727], expressions[728], expressions[729], + expressions[731], expressions[733], expressions[734], expressions[736], expressions[738], expressions[739], + expressions[740], expressions[742], expressions[744], expressions[747], expressions[750], expressions[752], + expressions[754], expressions[757], expressions[759], expressions[761], expressions[763], expressions[765], + expressions[766], expressions[767], expressions[768], expressions[770], expressions[771], expressions[773], + expressions[774], expressions[776], expressions[778], expressions[780], expressions[781], expressions[783], + expressions[785], expressions[787], expressions[789], expressions[791], expressions[793], expressions[794], + expressions[795] }; + expressions[796] = BinaryenBlock(the_module, "the-value", children, 300, BinaryenTypeAuto()); } - expressions[791] = BinaryenDrop(the_module, expressions[790]); + expressions[797] = BinaryenDrop(the_module, expressions[796]); { - BinaryenExpressionRef children[] = { expressions[791] }; - expressions[792] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto()); + BinaryenExpressionRef children[] = { expressions[797] }; + expressions[798] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto()); } - expressions[793] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[799] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); { - BinaryenExpressionRef children[] = { expressions[792], expressions[793] }; - expressions[794] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto()); + BinaryenExpressionRef children[] = { expressions[798], expressions[799] }; + expressions[800] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto()); } { BinaryenType varTypes[] = { 2, 8 }; - functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", 9, 2, varTypes, 2, expressions[794]); + functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", 9, 2, varTypes, 2, expressions[800]); } - expressions[795] = BinaryenConst(the_module, BinaryenLiteralInt32(7)); - globals[0] = BinaryenAddGlobal(the_module, "a-global", 2, 0, expressions[795]); - expressions[796] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5)); - globals[1] = BinaryenAddGlobal(the_module, "a-mutable-global", 4, 1, expressions[796]); + expressions[801] = BinaryenConst(the_module, BinaryenLiteralInt32(7)); + globals[0] = BinaryenAddGlobal(the_module, "a-global", 2, 0, expressions[801]); + expressions[802] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5)); + globals[1] = BinaryenAddGlobal(the_module, "a-mutable-global", 4, 1, expressions[802]); { - BinaryenType t270[] = {2, 5}; - BinaryenTypeCreate(t270, 2); // 10 + BinaryenType t274[] = {2, 5}; + BinaryenTypeCreate(t274, 2); // 10 } BinaryenAddFunctionImport(the_module, "an-imported", "module", "base", 10, 4); exports[0] = BinaryenAddFunctionExport(the_module, "kitchen()sinker", "kitchen_sinker"); BinaryenFunctionGetName(functions[0]); - expressions[797] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[803] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); { const char* funcNames[] = { "kitchen()sinker" }; - BinaryenSetFunctionTable(the_module, 1, 1, funcNames, 1, expressions[797]); + BinaryenSetFunctionTable(the_module, 1, 1, funcNames, 1, expressions[803]); } - expressions[798] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); + expressions[804] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); { const char segment0[] = { 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 }; const char segment1[] = { 73, 32, 97, 109, 32, 112, 97, 115, 115, 105, 118, 101 }; const char* segments[] = { segment0, segment1 }; int8_t segmentPassive[] = { 0, 1 }; - BinaryenExpressionRef segmentOffsets[] = { expressions[798], expressions[0] }; + BinaryenExpressionRef segmentOffsets[] = { expressions[804], expressions[0] }; BinaryenIndex segmentSizes[] = { 12, 12 }; BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentPassive, segmentOffsets, segmentSizes, 2, 1); } - expressions[799] = BinaryenNop(the_module); + expressions[805] = BinaryenNop(the_module); { BinaryenType varTypes[] = { 0 }; - functions[1] = BinaryenAddFunction(the_module, "starter", 0, 0, varTypes, 0, expressions[799]); + functions[1] = BinaryenAddFunction(the_module, "starter", 0, 0, varTypes, 0, expressions[805]); } BinaryenSetStart(the_module, functions[1]); BinaryenModuleAutoDrop(the_module); @@ -2718,109 +2737,121 @@ int main() { ) ) (drop - (i16x8.add + (i8x16.min_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.add_saturate_s + (i8x16.min_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.add_saturate_u + (i8x16.max_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub + (i8x16.max_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub_saturate_s + (i8x16.avgr_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub_saturate_u + (i16x8.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.mul + (i16x8.add_saturate_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.min_s + (i16x8.add_saturate_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.min_u + (i16x8.sub (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.max_s + (i16x8.sub_saturate_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.max_u + (i16x8.sub_saturate_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.add + (i16x8.mul (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.sub + (i16x8.min_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.mul + (i16x8.min_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.min_s + (i16x8.max_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.min_u + (i16x8.max_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.max_s + (i16x8.avgr_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.max_u + (i32x4.add + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop + (i32x4.sub + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop + (i32x4.mul (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) @@ -4373,16 +4404,16 @@ optimized: // BinaryenTypeExnref: 8 // BinaryenTypeAuto: -1 { - BinaryenType t271[] = {2, 2}; - BinaryenTypeCreate(t271, 2); // 11 + BinaryenType t275[] = {2, 2}; + BinaryenTypeCreate(t275, 2); // 11 } { - BinaryenType t272[] = {2, 2}; - BinaryenTypeCreate(t272, 2); // 11 + BinaryenType t276[] = {2, 2}; + BinaryenTypeCreate(t276, 2); // 11 } { - BinaryenType t273[] = {4, 4}; - BinaryenTypeCreate(t273, 2); // 12 + BinaryenType t277[] = {4, 4}; + BinaryenTypeCreate(t277, 2); // 12 } return 0; } @@ -5371,109 +5402,121 @@ BinaryenFeatureAll: 511 ) ) (drop - (i16x8.add + (i8x16.min_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.add_saturate_s + (i8x16.min_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.add_saturate_u + (i8x16.max_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub + (i8x16.max_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub_saturate_s + (i8x16.avgr_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub_saturate_u + (i16x8.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.mul + (i16x8.add_saturate_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.min_s + (i16x8.add_saturate_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.min_u + (i16x8.sub (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.max_s + (i16x8.sub_saturate_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.max_u + (i16x8.sub_saturate_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.add + (i16x8.mul (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.sub + (i16x8.min_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.mul + (i16x8.min_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.min_s + (i16x8.max_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.min_u + (i16x8.max_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.max_s + (i16x8.avgr_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.max_u + (i32x4.add + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop + (i32x4.sub + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop + (i32x4.mul (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt index bd6ba34e4..b69d3c7fa 100644 --- a/test/example/c-api-kitchen-sink.txt.txt +++ b/test/example/c-api-kitchen-sink.txt.txt @@ -961,109 +961,121 @@ ) ) (drop - (i16x8.add + (i8x16.min_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.add_saturate_s + (i8x16.min_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.add_saturate_u + (i8x16.max_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub + (i8x16.max_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub_saturate_s + (i8x16.avgr_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.sub_saturate_u + (i16x8.add (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.mul + (i16x8.add_saturate_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.min_s + (i16x8.add_saturate_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.min_u + (i16x8.sub (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.max_s + (i16x8.sub_saturate_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i16x8.max_u + (i16x8.sub_saturate_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.add + (i16x8.mul (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.sub + (i16x8.min_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i32x4.mul + (i16x8.min_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.min_s + (i16x8.max_s (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.min_u + (i16x8.max_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.max_s + (i16x8.avgr_u (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) ) (drop - (i8x16.max_u + (i32x4.add + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop + (i32x4.sub + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) + ) + ) + (drop + (i32x4.mul (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d) ) diff --git a/test/simd.wast b/test/simd.wast index 1584674aa..b2475698c 100644 --- a/test/simd.wast +++ b/test/simd.wast @@ -523,6 +523,12 @@ (local.get $1) ) ) + (func $i8x16.avgr_u (param $0 v128) (param $1 v128) (result v128) + (i8x16.avgr_u + (local.get $0) + (local.get $1) + ) + ) (func $i16x8.neg (param $0 v128) (result v128) (i16x8.neg (local.get $0) @@ -622,6 +628,12 @@ (local.get $1) ) ) + (func $i16x8.avgr_u (param $0 v128) (param $1 v128) (result v128) + (i16x8.avgr_u + (local.get $0) + (local.get $1) + ) + ) (func $i32x4.neg (param $0 v128) (result v128) (i32x4.neg (local.get $0) diff --git a/test/simd.wast.from-wast b/test/simd.wast.from-wast index 29ec13e8c..615d41743 100644 --- a/test/simd.wast.from-wast +++ b/test/simd.wast.from-wast @@ -539,516 +539,528 @@ (local.get $1) ) ) - (func $i16x8.neg (; 93 ;) (param $0 v128) (result v128) + (func $i8x16.avgr_u (; 93 ;) (param $0 v128) (param $1 v128) (result v128) + (i8x16.avgr_u + (local.get $0) + (local.get $1) + ) + ) + (func $i16x8.neg (; 94 ;) (param $0 v128) (result v128) (i16x8.neg (local.get $0) ) ) - (func $i16x8.any_true (; 94 ;) (param $0 v128) (result i32) + (func $i16x8.any_true (; 95 ;) (param $0 v128) (result i32) (i16x8.any_true (local.get $0) ) ) - (func $i16x8.all_true (; 95 ;) (param $0 v128) (result i32) + (func $i16x8.all_true (; 96 ;) (param $0 v128) (result i32) (i16x8.all_true (local.get $0) ) ) - (func $i16x8.shl (; 96 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i16x8.shl (; 97 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shl (local.get $0) (local.get $1) ) ) - (func $i16x8.shr_s (; 97 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i16x8.shr_s (; 98 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_s (local.get $0) (local.get $1) ) ) - (func $i16x8.shr_u (; 98 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i16x8.shr_u (; 99 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_u (local.get $0) (local.get $1) ) ) - (func $i16x8.add (; 99 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.add (; 100 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add (local.get $0) (local.get $1) ) ) - (func $i16x8.add_saturate_s (; 100 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.add_saturate_s (; 101 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_s (local.get $0) (local.get $1) ) ) - (func $i16x8.add_saturate_u (; 101 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.add_saturate_u (; 102 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_u (local.get $0) (local.get $1) ) ) - (func $i16x8.sub (; 102 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.sub (; 103 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub (local.get $0) (local.get $1) ) ) - (func $i16x8.sub_saturate_s (; 103 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.sub_saturate_s (; 104 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_s (local.get $0) (local.get $1) ) ) - (func $i16x8.sub_saturate_u (; 104 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.sub_saturate_u (; 105 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_u (local.get $0) (local.get $1) ) ) - (func $i16x8.mul (; 105 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.mul (; 106 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.mul (local.get $0) (local.get $1) ) ) - (func $i16x8.min_s (; 106 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.min_s (; 107 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.min_s (local.get $0) (local.get $1) ) ) - (func $i16x8.min_u (; 107 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.min_u (; 108 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.min_u (local.get $0) (local.get $1) ) ) - (func $i16x8.max_s (; 108 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.max_s (; 109 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.max_s (local.get $0) (local.get $1) ) ) - (func $i16x8.max_u (; 109 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.max_u (; 110 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.max_u (local.get $0) (local.get $1) ) ) - (func $i32x4.neg (; 110 ;) (param $0 v128) (result v128) + (func $i16x8.avgr_u (; 111 ;) (param $0 v128) (param $1 v128) (result v128) + (i16x8.avgr_u + (local.get $0) + (local.get $1) + ) + ) + (func $i32x4.neg (; 112 ;) (param $0 v128) (result v128) (i32x4.neg (local.get $0) ) ) - (func $i32x4.any_true (; 111 ;) (param $0 v128) (result i32) + (func $i32x4.any_true (; 113 ;) (param $0 v128) (result i32) (i32x4.any_true (local.get $0) ) ) - (func $i32x4.all_true (; 112 ;) (param $0 v128) (result i32) + (func $i32x4.all_true (; 114 ;) (param $0 v128) (result i32) (i32x4.all_true (local.get $0) ) ) - (func $i32x4.shl (; 113 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i32x4.shl (; 115 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shl (local.get $0) (local.get $1) ) ) - (func $i32x4.shr_s (; 114 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i32x4.shr_s (; 116 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_s (local.get $0) (local.get $1) ) ) - (func $i32x4.shr_u (; 115 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i32x4.shr_u (; 117 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_u (local.get $0) (local.get $1) ) ) - (func $i32x4.add (; 116 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.add (; 118 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.add (local.get $0) (local.get $1) ) ) - (func $i32x4.sub (; 117 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.sub (; 119 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.sub (local.get $0) (local.get $1) ) ) - (func $i32x4.mul (; 118 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.mul (; 120 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.mul (local.get $0) (local.get $1) ) ) - (func $i32x4.min_s (; 119 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.min_s (; 121 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.min_s (local.get $0) (local.get $1) ) ) - (func $i32x4.min_u (; 120 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.min_u (; 122 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.min_u (local.get $0) (local.get $1) ) ) - (func $i32x4.max_s (; 121 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.max_s (; 123 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.max_s (local.get $0) (local.get $1) ) ) - (func $i32x4.max_u (; 122 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.max_u (; 124 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.max_u (local.get $0) (local.get $1) ) ) - (func $i32x4.dot_i16x8_s (; 123 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.dot_i16x8_s (; 125 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.dot_i16x8_s (local.get $0) (local.get $1) ) ) - (func $i64x2.neg (; 124 ;) (param $0 v128) (result v128) + (func $i64x2.neg (; 126 ;) (param $0 v128) (result v128) (i64x2.neg (local.get $0) ) ) - (func $i64x2.any_true (; 125 ;) (param $0 v128) (result i32) + (func $i64x2.any_true (; 127 ;) (param $0 v128) (result i32) (i64x2.any_true (local.get $0) ) ) - (func $i64x2.all_true (; 126 ;) (param $0 v128) (result i32) + (func $i64x2.all_true (; 128 ;) (param $0 v128) (result i32) (i64x2.all_true (local.get $0) ) ) - (func $i64x2.shl (; 127 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shl (; 129 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shl (local.get $0) (local.get $1) ) ) - (func $i64x2.shr_s (; 128 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shr_s (; 130 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_s (local.get $0) (local.get $1) ) ) - (func $i64x2.shr_u (; 129 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shr_u (; 131 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_u (local.get $0) (local.get $1) ) ) - (func $i64x2.add (; 130 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i64x2.add (; 132 ;) (param $0 v128) (param $1 v128) (result v128) (i64x2.add (local.get $0) (local.get $1) ) ) - (func $i64x2.sub (; 131 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i64x2.sub (; 133 ;) (param $0 v128) (param $1 v128) (result v128) (i64x2.sub (local.get $0) (local.get $1) ) ) - (func $f32x4.add (; 132 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.add (; 134 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.add (local.get $0) (local.get $1) ) ) - (func $f32x4.sub (; 133 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.sub (; 135 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.sub (local.get $0) (local.get $1) ) ) - (func $f32x4.mul (; 134 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.mul (; 136 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.mul (local.get $0) (local.get $1) ) ) - (func $f32x4.div (; 135 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.div (; 137 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.div (local.get $0) (local.get $1) ) ) - (func $f32x4.min (; 136 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.min (; 138 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.min (local.get $0) (local.get $1) ) ) - (func $f32x4.max (; 137 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.max (; 139 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.max (local.get $0) (local.get $1) ) ) - (func $f32x4.abs (; 138 ;) (param $0 v128) (result v128) + (func $f32x4.abs (; 140 ;) (param $0 v128) (result v128) (f32x4.abs (local.get $0) ) ) - (func $f32x4.neg (; 139 ;) (param $0 v128) (result v128) + (func $f32x4.neg (; 141 ;) (param $0 v128) (result v128) (f32x4.neg (local.get $0) ) ) - (func $f32x4.sqrt (; 140 ;) (param $0 v128) (result v128) + (func $f32x4.sqrt (; 142 ;) (param $0 v128) (result v128) (f32x4.sqrt (local.get $0) ) ) - (func $f32x4.qfma (; 141 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f32x4.qfma (; 143 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f32x4.qfms (; 142 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f32x4.qfms (; 144 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f64x2.add (; 143 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.add (; 145 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.add (local.get $0) (local.get $1) ) ) - (func $f64x2.sub (; 144 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.sub (; 146 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.sub (local.get $0) (local.get $1) ) ) - (func $f64x2.mul (; 145 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.mul (; 147 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.mul (local.get $0) (local.get $1) ) ) - (func $f64x2.div (; 146 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.div (; 148 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.div (local.get $0) (local.get $1) ) ) - (func $f64x2.min (; 147 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.min (; 149 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.min (local.get $0) (local.get $1) ) ) - (func $f64x2.max (; 148 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.max (; 150 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.max (local.get $0) (local.get $1) ) ) - (func $f64x2.abs (; 149 ;) (param $0 v128) (result v128) + (func $f64x2.abs (; 151 ;) (param $0 v128) (result v128) (f64x2.abs (local.get $0) ) ) - (func $f64x2.neg (; 150 ;) (param $0 v128) (result v128) + (func $f64x2.neg (; 152 ;) (param $0 v128) (result v128) (f64x2.neg (local.get $0) ) ) - (func $f64x2.sqrt (; 151 ;) (param $0 v128) (result v128) + (func $f64x2.sqrt (; 153 ;) (param $0 v128) (result v128) (f64x2.sqrt (local.get $0) ) ) - (func $f64x2.qfma (; 152 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f64x2.qfma (; 154 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f64x2.qfms (; 153 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f64x2.qfms (; 155 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $i32x4.trunc_sat_f32x4_s (; 154 ;) (param $0 v128) (result v128) + (func $i32x4.trunc_sat_f32x4_s (; 156 ;) (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_s (local.get $0) ) ) - (func $i32x4.trunc_sat_f32x4_u (; 155 ;) (param $0 v128) (result v128) + (func $i32x4.trunc_sat_f32x4_u (; 157 ;) (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_u (local.get $0) ) ) - (func $i64x2.trunc_sat_f64x2_s (; 156 ;) (param $0 v128) (result v128) + (func $i64x2.trunc_sat_f64x2_s (; 158 ;) (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_s (local.get $0) ) ) - (func $i64x2.trunc_sat_f64x2_u (; 157 ;) (param $0 v128) (result v128) + (func $i64x2.trunc_sat_f64x2_u (; 159 ;) (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_u (local.get $0) ) ) - (func $f32x4.convert_i32x4_s (; 158 ;) (param $0 v128) (result v128) + (func $f32x4.convert_i32x4_s (; 160 ;) (param $0 v128) (result v128) (f32x4.convert_i32x4_s (local.get $0) ) ) - (func $f32x4.convert_i32x4_u (; 159 ;) (param $0 v128) (result v128) + (func $f32x4.convert_i32x4_u (; 161 ;) (param $0 v128) (result v128) (f32x4.convert_i32x4_u (local.get $0) ) ) - (func $f64x2.convert_i64x2_s (; 160 ;) (param $0 v128) (result v128) + (func $f64x2.convert_i64x2_s (; 162 ;) (param $0 v128) (result v128) (f64x2.convert_i64x2_s (local.get $0) ) ) - (func $f64x2.convert_i64x2_u (; 161 ;) (param $0 v128) (result v128) + (func $f64x2.convert_i64x2_u (; 163 ;) (param $0 v128) (result v128) (f64x2.convert_i64x2_u (local.get $0) ) ) - (func $v8x16.load_splat (; 162 ;) (param $0 i32) (result v128) + (func $v8x16.load_splat (; 164 ;) (param $0 i32) (result v128) (v8x16.load_splat (local.get $0) ) ) - (func $v16x8.load_splat (; 163 ;) (param $0 i32) (result v128) + (func $v16x8.load_splat (; 165 ;) (param $0 i32) (result v128) (v16x8.load_splat (local.get $0) ) ) - (func $v32x4.load_splat (; 164 ;) (param $0 i32) (result v128) + (func $v32x4.load_splat (; 166 ;) (param $0 i32) (result v128) (v32x4.load_splat (local.get $0) ) ) - (func $v64x2.load_splat (; 165 ;) (param $0 i32) (result v128) + (func $v64x2.load_splat (; 167 ;) (param $0 i32) (result v128) (v64x2.load_splat (local.get $0) ) ) - (func $i8x16.narrow_i16x8_s (; 166 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i8x16.narrow_i16x8_s (; 168 ;) (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_s (local.get $0) (local.get $1) ) ) - (func $i8x16.narrow_i16x8_u (; 167 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i8x16.narrow_i16x8_u (; 169 ;) (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_u (local.get $0) (local.get $1) ) ) - (func $i16x8.narrow_i32x4_s (; 168 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.narrow_i32x4_s (; 170 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_s (local.get $0) (local.get $1) ) ) - (func $i16x8.narrow_i32x4_u (; 169 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.narrow_i32x4_u (; 171 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_u (local.get $0) (local.get $1) ) ) - (func $i16x8.widen_low_i8x16_s (; 170 ;) (param $0 v128) (result v128) + (func $i16x8.widen_low_i8x16_s (; 172 ;) (param $0 v128) (result v128) (i16x8.widen_low_i8x16_s (local.get $0) ) ) - (func $i16x8.widen_high_i8x16_s (; 171 ;) (param $0 v128) (result v128) + (func $i16x8.widen_high_i8x16_s (; 173 ;) (param $0 v128) (result v128) (i16x8.widen_high_i8x16_s (local.get $0) ) ) - (func $i16x8.widen_low_i8x16_u (; 172 ;) (param $0 v128) (result v128) + (func $i16x8.widen_low_i8x16_u (; 174 ;) (param $0 v128) (result v128) (i16x8.widen_low_i8x16_u (local.get $0) ) ) - (func $i16x8.widen_high_i8x16_u (; 173 ;) (param $0 v128) (result v128) + (func $i16x8.widen_high_i8x16_u (; 175 ;) (param $0 v128) (result v128) (i16x8.widen_high_i8x16_u (local.get $0) ) ) - (func $i32x4.widen_low_i16x8_s (; 174 ;) (param $0 v128) (result v128) + (func $i32x4.widen_low_i16x8_s (; 176 ;) (param $0 v128) (result v128) (i32x4.widen_low_i16x8_s (local.get $0) ) ) - (func $i32x4.widen_high_i16x8_s (; 175 ;) (param $0 v128) (result v128) + (func $i32x4.widen_high_i16x8_s (; 177 ;) (param $0 v128) (result v128) (i32x4.widen_high_i16x8_s (local.get $0) ) ) - (func $i32x4.widen_low_i16x8_u (; 176 ;) (param $0 v128) (result v128) + (func $i32x4.widen_low_i16x8_u (; 178 ;) (param $0 v128) (result v128) (i32x4.widen_low_i16x8_u (local.get $0) ) ) - (func $i32x4.widen_high_i16x8_u (; 177 ;) (param $0 v128) (result v128) + (func $i32x4.widen_high_i16x8_u (; 179 ;) (param $0 v128) (result v128) (i32x4.widen_high_i16x8_u (local.get $0) ) ) - (func $i16x8.load8x8_u (; 178 ;) (param $0 i32) (result v128) + (func $i16x8.load8x8_u (; 180 ;) (param $0 i32) (result v128) (i16x8.load8x8_u (local.get $0) ) ) - (func $i16x8.load8x8_s (; 179 ;) (param $0 i32) (result v128) + (func $i16x8.load8x8_s (; 181 ;) (param $0 i32) (result v128) (i16x8.load8x8_s (local.get $0) ) ) - (func $i32x4.load16x4_s (; 180 ;) (param $0 i32) (result v128) + (func $i32x4.load16x4_s (; 182 ;) (param $0 i32) (result v128) (i32x4.load16x4_s (local.get $0) ) ) - (func $i32x4.load16x4_u (; 181 ;) (param $0 i32) (result v128) + (func $i32x4.load16x4_u (; 183 ;) (param $0 i32) (result v128) (i32x4.load16x4_u (local.get $0) ) ) - (func $i64x2.load32x2_s (; 182 ;) (param $0 i32) (result v128) + (func $i64x2.load32x2_s (; 184 ;) (param $0 i32) (result v128) (i64x2.load32x2_s (local.get $0) ) ) - (func $i64x2.load32x2_u (; 183 ;) (param $0 i32) (result v128) + (func $i64x2.load32x2_u (; 185 ;) (param $0 i32) (result v128) (i64x2.load32x2_u (local.get $0) ) ) - (func $v8x16.swizzle (; 184 ;) (param $0 v128) (param $1 v128) (result v128) + (func $v8x16.swizzle (; 186 ;) (param $0 v128) (param $1 v128) (result v128) (v8x16.swizzle (local.get $0) (local.get $1) diff --git a/test/simd.wast.fromBinary b/test/simd.wast.fromBinary index ee13809f6..8807a7018 100644 --- a/test/simd.wast.fromBinary +++ b/test/simd.wast.fromBinary @@ -539,516 +539,528 @@ (local.get $1) ) ) - (func $i16x8.neg (; 93 ;) (param $0 v128) (result v128) + (func $i8x16.avgr_u (; 93 ;) (param $0 v128) (param $1 v128) (result v128) + (i8x16.avgr_u + (local.get $0) + (local.get $1) + ) + ) + (func $i16x8.neg (; 94 ;) (param $0 v128) (result v128) (i16x8.neg (local.get $0) ) ) - (func $i16x8.any_true (; 94 ;) (param $0 v128) (result i32) + (func $i16x8.any_true (; 95 ;) (param $0 v128) (result i32) (i16x8.any_true (local.get $0) ) ) - (func $i16x8.all_true (; 95 ;) (param $0 v128) (result i32) + (func $i16x8.all_true (; 96 ;) (param $0 v128) (result i32) (i16x8.all_true (local.get $0) ) ) - (func $i16x8.shl (; 96 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i16x8.shl (; 97 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shl (local.get $0) (local.get $1) ) ) - (func $i16x8.shr_s (; 97 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i16x8.shr_s (; 98 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_s (local.get $0) (local.get $1) ) ) - (func $i16x8.shr_u (; 98 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i16x8.shr_u (; 99 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_u (local.get $0) (local.get $1) ) ) - (func $i16x8.add (; 99 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.add (; 100 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add (local.get $0) (local.get $1) ) ) - (func $i16x8.add_saturate_s (; 100 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.add_saturate_s (; 101 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_s (local.get $0) (local.get $1) ) ) - (func $i16x8.add_saturate_u (; 101 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.add_saturate_u (; 102 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_u (local.get $0) (local.get $1) ) ) - (func $i16x8.sub (; 102 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.sub (; 103 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub (local.get $0) (local.get $1) ) ) - (func $i16x8.sub_saturate_s (; 103 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.sub_saturate_s (; 104 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_s (local.get $0) (local.get $1) ) ) - (func $i16x8.sub_saturate_u (; 104 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.sub_saturate_u (; 105 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_u (local.get $0) (local.get $1) ) ) - (func $i16x8.mul (; 105 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.mul (; 106 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.mul (local.get $0) (local.get $1) ) ) - (func $i16x8.min_s (; 106 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.min_s (; 107 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.min_s (local.get $0) (local.get $1) ) ) - (func $i16x8.min_u (; 107 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.min_u (; 108 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.min_u (local.get $0) (local.get $1) ) ) - (func $i16x8.max_s (; 108 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.max_s (; 109 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.max_s (local.get $0) (local.get $1) ) ) - (func $i16x8.max_u (; 109 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.max_u (; 110 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.max_u (local.get $0) (local.get $1) ) ) - (func $i32x4.neg (; 110 ;) (param $0 v128) (result v128) + (func $i16x8.avgr_u (; 111 ;) (param $0 v128) (param $1 v128) (result v128) + (i16x8.avgr_u + (local.get $0) + (local.get $1) + ) + ) + (func $i32x4.neg (; 112 ;) (param $0 v128) (result v128) (i32x4.neg (local.get $0) ) ) - (func $i32x4.any_true (; 111 ;) (param $0 v128) (result i32) + (func $i32x4.any_true (; 113 ;) (param $0 v128) (result i32) (i32x4.any_true (local.get $0) ) ) - (func $i32x4.all_true (; 112 ;) (param $0 v128) (result i32) + (func $i32x4.all_true (; 114 ;) (param $0 v128) (result i32) (i32x4.all_true (local.get $0) ) ) - (func $i32x4.shl (; 113 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i32x4.shl (; 115 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shl (local.get $0) (local.get $1) ) ) - (func $i32x4.shr_s (; 114 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i32x4.shr_s (; 116 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_s (local.get $0) (local.get $1) ) ) - (func $i32x4.shr_u (; 115 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i32x4.shr_u (; 117 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_u (local.get $0) (local.get $1) ) ) - (func $i32x4.add (; 116 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.add (; 118 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.add (local.get $0) (local.get $1) ) ) - (func $i32x4.sub (; 117 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.sub (; 119 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.sub (local.get $0) (local.get $1) ) ) - (func $i32x4.mul (; 118 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.mul (; 120 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.mul (local.get $0) (local.get $1) ) ) - (func $i32x4.min_s (; 119 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.min_s (; 121 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.min_s (local.get $0) (local.get $1) ) ) - (func $i32x4.min_u (; 120 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.min_u (; 122 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.min_u (local.get $0) (local.get $1) ) ) - (func $i32x4.max_s (; 121 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.max_s (; 123 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.max_s (local.get $0) (local.get $1) ) ) - (func $i32x4.max_u (; 122 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.max_u (; 124 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.max_u (local.get $0) (local.get $1) ) ) - (func $i32x4.dot_i16x8_s (; 123 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i32x4.dot_i16x8_s (; 125 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.dot_i16x8_s (local.get $0) (local.get $1) ) ) - (func $i64x2.neg (; 124 ;) (param $0 v128) (result v128) + (func $i64x2.neg (; 126 ;) (param $0 v128) (result v128) (i64x2.neg (local.get $0) ) ) - (func $i64x2.any_true (; 125 ;) (param $0 v128) (result i32) + (func $i64x2.any_true (; 127 ;) (param $0 v128) (result i32) (i64x2.any_true (local.get $0) ) ) - (func $i64x2.all_true (; 126 ;) (param $0 v128) (result i32) + (func $i64x2.all_true (; 128 ;) (param $0 v128) (result i32) (i64x2.all_true (local.get $0) ) ) - (func $i64x2.shl (; 127 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shl (; 129 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shl (local.get $0) (local.get $1) ) ) - (func $i64x2.shr_s (; 128 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shr_s (; 130 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_s (local.get $0) (local.get $1) ) ) - (func $i64x2.shr_u (; 129 ;) (param $0 v128) (param $1 i32) (result v128) + (func $i64x2.shr_u (; 131 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_u (local.get $0) (local.get $1) ) ) - (func $i64x2.add (; 130 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i64x2.add (; 132 ;) (param $0 v128) (param $1 v128) (result v128) (i64x2.add (local.get $0) (local.get $1) ) ) - (func $i64x2.sub (; 131 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i64x2.sub (; 133 ;) (param $0 v128) (param $1 v128) (result v128) (i64x2.sub (local.get $0) (local.get $1) ) ) - (func $f32x4.add (; 132 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.add (; 134 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.add (local.get $0) (local.get $1) ) ) - (func $f32x4.sub (; 133 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.sub (; 135 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.sub (local.get $0) (local.get $1) ) ) - (func $f32x4.mul (; 134 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.mul (; 136 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.mul (local.get $0) (local.get $1) ) ) - (func $f32x4.div (; 135 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.div (; 137 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.div (local.get $0) (local.get $1) ) ) - (func $f32x4.min (; 136 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.min (; 138 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.min (local.get $0) (local.get $1) ) ) - (func $f32x4.max (; 137 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f32x4.max (; 139 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.max (local.get $0) (local.get $1) ) ) - (func $f32x4.abs (; 138 ;) (param $0 v128) (result v128) + (func $f32x4.abs (; 140 ;) (param $0 v128) (result v128) (f32x4.abs (local.get $0) ) ) - (func $f32x4.neg (; 139 ;) (param $0 v128) (result v128) + (func $f32x4.neg (; 141 ;) (param $0 v128) (result v128) (f32x4.neg (local.get $0) ) ) - (func $f32x4.sqrt (; 140 ;) (param $0 v128) (result v128) + (func $f32x4.sqrt (; 142 ;) (param $0 v128) (result v128) (f32x4.sqrt (local.get $0) ) ) - (func $f32x4.qfma (; 141 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f32x4.qfma (; 143 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f32x4.qfms (; 142 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f32x4.qfms (; 144 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f64x2.add (; 143 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.add (; 145 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.add (local.get $0) (local.get $1) ) ) - (func $f64x2.sub (; 144 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.sub (; 146 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.sub (local.get $0) (local.get $1) ) ) - (func $f64x2.mul (; 145 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.mul (; 147 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.mul (local.get $0) (local.get $1) ) ) - (func $f64x2.div (; 146 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.div (; 148 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.div (local.get $0) (local.get $1) ) ) - (func $f64x2.min (; 147 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.min (; 149 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.min (local.get $0) (local.get $1) ) ) - (func $f64x2.max (; 148 ;) (param $0 v128) (param $1 v128) (result v128) + (func $f64x2.max (; 150 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.max (local.get $0) (local.get $1) ) ) - (func $f64x2.abs (; 149 ;) (param $0 v128) (result v128) + (func $f64x2.abs (; 151 ;) (param $0 v128) (result v128) (f64x2.abs (local.get $0) ) ) - (func $f64x2.neg (; 150 ;) (param $0 v128) (result v128) + (func $f64x2.neg (; 152 ;) (param $0 v128) (result v128) (f64x2.neg (local.get $0) ) ) - (func $f64x2.sqrt (; 151 ;) (param $0 v128) (result v128) + (func $f64x2.sqrt (; 153 ;) (param $0 v128) (result v128) (f64x2.sqrt (local.get $0) ) ) - (func $f64x2.qfma (; 152 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f64x2.qfma (; 154 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $f64x2.qfms (; 153 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $f64x2.qfms (; 155 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $i32x4.trunc_sat_f32x4_s (; 154 ;) (param $0 v128) (result v128) + (func $i32x4.trunc_sat_f32x4_s (; 156 ;) (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_s (local.get $0) ) ) - (func $i32x4.trunc_sat_f32x4_u (; 155 ;) (param $0 v128) (result v128) + (func $i32x4.trunc_sat_f32x4_u (; 157 ;) (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_u (local.get $0) ) ) - (func $i64x2.trunc_sat_f64x2_s (; 156 ;) (param $0 v128) (result v128) + (func $i64x2.trunc_sat_f64x2_s (; 158 ;) (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_s (local.get $0) ) ) - (func $i64x2.trunc_sat_f64x2_u (; 157 ;) (param $0 v128) (result v128) + (func $i64x2.trunc_sat_f64x2_u (; 159 ;) (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_u (local.get $0) ) ) - (func $f32x4.convert_i32x4_s (; 158 ;) (param $0 v128) (result v128) + (func $f32x4.convert_i32x4_s (; 160 ;) (param $0 v128) (result v128) (f32x4.convert_i32x4_s (local.get $0) ) ) - (func $f32x4.convert_i32x4_u (; 159 ;) (param $0 v128) (result v128) + (func $f32x4.convert_i32x4_u (; 161 ;) (param $0 v128) (result v128) (f32x4.convert_i32x4_u (local.get $0) ) ) - (func $f64x2.convert_i64x2_s (; 160 ;) (param $0 v128) (result v128) + (func $f64x2.convert_i64x2_s (; 162 ;) (param $0 v128) (result v128) (f64x2.convert_i64x2_s (local.get $0) ) ) - (func $f64x2.convert_i64x2_u (; 161 ;) (param $0 v128) (result v128) + (func $f64x2.convert_i64x2_u (; 163 ;) (param $0 v128) (result v128) (f64x2.convert_i64x2_u (local.get $0) ) ) - (func $v8x16.load_splat (; 162 ;) (param $0 i32) (result v128) + (func $v8x16.load_splat (; 164 ;) (param $0 i32) (result v128) (v8x16.load_splat (local.get $0) ) ) - (func $v16x8.load_splat (; 163 ;) (param $0 i32) (result v128) + (func $v16x8.load_splat (; 165 ;) (param $0 i32) (result v128) (v16x8.load_splat (local.get $0) ) ) - (func $v32x4.load_splat (; 164 ;) (param $0 i32) (result v128) + (func $v32x4.load_splat (; 166 ;) (param $0 i32) (result v128) (v32x4.load_splat (local.get $0) ) ) - (func $v64x2.load_splat (; 165 ;) (param $0 i32) (result v128) + (func $v64x2.load_splat (; 167 ;) (param $0 i32) (result v128) (v64x2.load_splat (local.get $0) ) ) - (func $i8x16.narrow_i16x8_s (; 166 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i8x16.narrow_i16x8_s (; 168 ;) (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_s (local.get $0) (local.get $1) ) ) - (func $i8x16.narrow_i16x8_u (; 167 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i8x16.narrow_i16x8_u (; 169 ;) (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_u (local.get $0) (local.get $1) ) ) - (func $i16x8.narrow_i32x4_s (; 168 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.narrow_i32x4_s (; 170 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_s (local.get $0) (local.get $1) ) ) - (func $i16x8.narrow_i32x4_u (; 169 ;) (param $0 v128) (param $1 v128) (result v128) + (func $i16x8.narrow_i32x4_u (; 171 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_u (local.get $0) (local.get $1) ) ) - (func $i16x8.widen_low_i8x16_s (; 170 ;) (param $0 v128) (result v128) + (func $i16x8.widen_low_i8x16_s (; 172 ;) (param $0 v128) (result v128) (i16x8.widen_low_i8x16_s (local.get $0) ) ) - (func $i16x8.widen_high_i8x16_s (; 171 ;) (param $0 v128) (result v128) + (func $i16x8.widen_high_i8x16_s (; 173 ;) (param $0 v128) (result v128) (i16x8.widen_high_i8x16_s (local.get $0) ) ) - (func $i16x8.widen_low_i8x16_u (; 172 ;) (param $0 v128) (result v128) + (func $i16x8.widen_low_i8x16_u (; 174 ;) (param $0 v128) (result v128) (i16x8.widen_low_i8x16_u (local.get $0) ) ) - (func $i16x8.widen_high_i8x16_u (; 173 ;) (param $0 v128) (result v128) + (func $i16x8.widen_high_i8x16_u (; 175 ;) (param $0 v128) (result v128) (i16x8.widen_high_i8x16_u (local.get $0) ) ) - (func $i32x4.widen_low_i16x8_s (; 174 ;) (param $0 v128) (result v128) + (func $i32x4.widen_low_i16x8_s (; 176 ;) (param $0 v128) (result v128) (i32x4.widen_low_i16x8_s (local.get $0) ) ) - (func $i32x4.widen_high_i16x8_s (; 175 ;) (param $0 v128) (result v128) + (func $i32x4.widen_high_i16x8_s (; 177 ;) (param $0 v128) (result v128) (i32x4.widen_high_i16x8_s (local.get $0) ) ) - (func $i32x4.widen_low_i16x8_u (; 176 ;) (param $0 v128) (result v128) + (func $i32x4.widen_low_i16x8_u (; 178 ;) (param $0 v128) (result v128) (i32x4.widen_low_i16x8_u (local.get $0) ) ) - (func $i32x4.widen_high_i16x8_u (; 177 ;) (param $0 v128) (result v128) + (func $i32x4.widen_high_i16x8_u (; 179 ;) (param $0 v128) (result v128) (i32x4.widen_high_i16x8_u (local.get $0) ) ) - (func $i16x8.load8x8_u (; 178 ;) (param $0 i32) (result v128) + (func $i16x8.load8x8_u (; 180 ;) (param $0 i32) (result v128) (i16x8.load8x8_u (local.get $0) ) ) - (func $i16x8.load8x8_s (; 179 ;) (param $0 i32) (result v128) + (func $i16x8.load8x8_s (; 181 ;) (param $0 i32) (result v128) (i16x8.load8x8_s (local.get $0) ) ) - (func $i32x4.load16x4_s (; 180 ;) (param $0 i32) (result v128) + (func $i32x4.load16x4_s (; 182 ;) (param $0 i32) (result v128) (i32x4.load16x4_s (local.get $0) ) ) - (func $i32x4.load16x4_u (; 181 ;) (param $0 i32) (result v128) + (func $i32x4.load16x4_u (; 183 ;) (param $0 i32) (result v128) (i32x4.load16x4_u (local.get $0) ) ) - (func $i64x2.load32x2_s (; 182 ;) (param $0 i32) (result v128) + (func $i64x2.load32x2_s (; 184 ;) (param $0 i32) (result v128) (i64x2.load32x2_s (local.get $0) ) ) - (func $i64x2.load32x2_u (; 183 ;) (param $0 i32) (result v128) + (func $i64x2.load32x2_u (; 185 ;) (param $0 i32) (result v128) (i64x2.load32x2_u (local.get $0) ) ) - (func $v8x16.swizzle (; 184 ;) (param $0 v128) (param $1 v128) (result v128) + (func $v8x16.swizzle (; 186 ;) (param $0 v128) (param $1 v128) (result v128) (v8x16.swizzle (local.get $0) (local.get $1) diff --git a/test/simd.wast.fromBinary.noDebugInfo b/test/simd.wast.fromBinary.noDebugInfo index 80983aae0..7e62da893 100644 --- a/test/simd.wast.fromBinary.noDebugInfo +++ b/test/simd.wast.fromBinary.noDebugInfo @@ -539,516 +539,528 @@ (local.get $1) ) ) - (func $93 (; 93 ;) (param $0 v128) (result v128) + (func $93 (; 93 ;) (param $0 v128) (param $1 v128) (result v128) + (i8x16.avgr_u + (local.get $0) + (local.get $1) + ) + ) + (func $94 (; 94 ;) (param $0 v128) (result v128) (i16x8.neg (local.get $0) ) ) - (func $94 (; 94 ;) (param $0 v128) (result i32) + (func $95 (; 95 ;) (param $0 v128) (result i32) (i16x8.any_true (local.get $0) ) ) - (func $95 (; 95 ;) (param $0 v128) (result i32) + (func $96 (; 96 ;) (param $0 v128) (result i32) (i16x8.all_true (local.get $0) ) ) - (func $96 (; 96 ;) (param $0 v128) (param $1 i32) (result v128) + (func $97 (; 97 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shl (local.get $0) (local.get $1) ) ) - (func $97 (; 97 ;) (param $0 v128) (param $1 i32) (result v128) + (func $98 (; 98 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_s (local.get $0) (local.get $1) ) ) - (func $98 (; 98 ;) (param $0 v128) (param $1 i32) (result v128) + (func $99 (; 99 ;) (param $0 v128) (param $1 i32) (result v128) (i16x8.shr_u (local.get $0) (local.get $1) ) ) - (func $99 (; 99 ;) (param $0 v128) (param $1 v128) (result v128) + (func $100 (; 100 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add (local.get $0) (local.get $1) ) ) - (func $100 (; 100 ;) (param $0 v128) (param $1 v128) (result v128) + (func $101 (; 101 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_s (local.get $0) (local.get $1) ) ) - (func $101 (; 101 ;) (param $0 v128) (param $1 v128) (result v128) + (func $102 (; 102 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.add_saturate_u (local.get $0) (local.get $1) ) ) - (func $102 (; 102 ;) (param $0 v128) (param $1 v128) (result v128) + (func $103 (; 103 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub (local.get $0) (local.get $1) ) ) - (func $103 (; 103 ;) (param $0 v128) (param $1 v128) (result v128) + (func $104 (; 104 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_s (local.get $0) (local.get $1) ) ) - (func $104 (; 104 ;) (param $0 v128) (param $1 v128) (result v128) + (func $105 (; 105 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.sub_saturate_u (local.get $0) (local.get $1) ) ) - (func $105 (; 105 ;) (param $0 v128) (param $1 v128) (result v128) + (func $106 (; 106 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.mul (local.get $0) (local.get $1) ) ) - (func $106 (; 106 ;) (param $0 v128) (param $1 v128) (result v128) + (func $107 (; 107 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.min_s (local.get $0) (local.get $1) ) ) - (func $107 (; 107 ;) (param $0 v128) (param $1 v128) (result v128) + (func $108 (; 108 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.min_u (local.get $0) (local.get $1) ) ) - (func $108 (; 108 ;) (param $0 v128) (param $1 v128) (result v128) + (func $109 (; 109 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.max_s (local.get $0) (local.get $1) ) ) - (func $109 (; 109 ;) (param $0 v128) (param $1 v128) (result v128) + (func $110 (; 110 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.max_u (local.get $0) (local.get $1) ) ) - (func $110 (; 110 ;) (param $0 v128) (result v128) + (func $111 (; 111 ;) (param $0 v128) (param $1 v128) (result v128) + (i16x8.avgr_u + (local.get $0) + (local.get $1) + ) + ) + (func $112 (; 112 ;) (param $0 v128) (result v128) (i32x4.neg (local.get $0) ) ) - (func $111 (; 111 ;) (param $0 v128) (result i32) + (func $113 (; 113 ;) (param $0 v128) (result i32) (i32x4.any_true (local.get $0) ) ) - (func $112 (; 112 ;) (param $0 v128) (result i32) + (func $114 (; 114 ;) (param $0 v128) (result i32) (i32x4.all_true (local.get $0) ) ) - (func $113 (; 113 ;) (param $0 v128) (param $1 i32) (result v128) + (func $115 (; 115 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shl (local.get $0) (local.get $1) ) ) - (func $114 (; 114 ;) (param $0 v128) (param $1 i32) (result v128) + (func $116 (; 116 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_s (local.get $0) (local.get $1) ) ) - (func $115 (; 115 ;) (param $0 v128) (param $1 i32) (result v128) + (func $117 (; 117 ;) (param $0 v128) (param $1 i32) (result v128) (i32x4.shr_u (local.get $0) (local.get $1) ) ) - (func $116 (; 116 ;) (param $0 v128) (param $1 v128) (result v128) + (func $118 (; 118 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.add (local.get $0) (local.get $1) ) ) - (func $117 (; 117 ;) (param $0 v128) (param $1 v128) (result v128) + (func $119 (; 119 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.sub (local.get $0) (local.get $1) ) ) - (func $118 (; 118 ;) (param $0 v128) (param $1 v128) (result v128) + (func $120 (; 120 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.mul (local.get $0) (local.get $1) ) ) - (func $119 (; 119 ;) (param $0 v128) (param $1 v128) (result v128) + (func $121 (; 121 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.min_s (local.get $0) (local.get $1) ) ) - (func $120 (; 120 ;) (param $0 v128) (param $1 v128) (result v128) + (func $122 (; 122 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.min_u (local.get $0) (local.get $1) ) ) - (func $121 (; 121 ;) (param $0 v128) (param $1 v128) (result v128) + (func $123 (; 123 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.max_s (local.get $0) (local.get $1) ) ) - (func $122 (; 122 ;) (param $0 v128) (param $1 v128) (result v128) + (func $124 (; 124 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.max_u (local.get $0) (local.get $1) ) ) - (func $123 (; 123 ;) (param $0 v128) (param $1 v128) (result v128) + (func $125 (; 125 ;) (param $0 v128) (param $1 v128) (result v128) (i32x4.dot_i16x8_s (local.get $0) (local.get $1) ) ) - (func $124 (; 124 ;) (param $0 v128) (result v128) + (func $126 (; 126 ;) (param $0 v128) (result v128) (i64x2.neg (local.get $0) ) ) - (func $125 (; 125 ;) (param $0 v128) (result i32) + (func $127 (; 127 ;) (param $0 v128) (result i32) (i64x2.any_true (local.get $0) ) ) - (func $126 (; 126 ;) (param $0 v128) (result i32) + (func $128 (; 128 ;) (param $0 v128) (result i32) (i64x2.all_true (local.get $0) ) ) - (func $127 (; 127 ;) (param $0 v128) (param $1 i32) (result v128) + (func $129 (; 129 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shl (local.get $0) (local.get $1) ) ) - (func $128 (; 128 ;) (param $0 v128) (param $1 i32) (result v128) + (func $130 (; 130 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_s (local.get $0) (local.get $1) ) ) - (func $129 (; 129 ;) (param $0 v128) (param $1 i32) (result v128) + (func $131 (; 131 ;) (param $0 v128) (param $1 i32) (result v128) (i64x2.shr_u (local.get $0) (local.get $1) ) ) - (func $130 (; 130 ;) (param $0 v128) (param $1 v128) (result v128) + (func $132 (; 132 ;) (param $0 v128) (param $1 v128) (result v128) (i64x2.add (local.get $0) (local.get $1) ) ) - (func $131 (; 131 ;) (param $0 v128) (param $1 v128) (result v128) + (func $133 (; 133 ;) (param $0 v128) (param $1 v128) (result v128) (i64x2.sub (local.get $0) (local.get $1) ) ) - (func $132 (; 132 ;) (param $0 v128) (param $1 v128) (result v128) + (func $134 (; 134 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.add (local.get $0) (local.get $1) ) ) - (func $133 (; 133 ;) (param $0 v128) (param $1 v128) (result v128) + (func $135 (; 135 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.sub (local.get $0) (local.get $1) ) ) - (func $134 (; 134 ;) (param $0 v128) (param $1 v128) (result v128) + (func $136 (; 136 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.mul (local.get $0) (local.get $1) ) ) - (func $135 (; 135 ;) (param $0 v128) (param $1 v128) (result v128) + (func $137 (; 137 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.div (local.get $0) (local.get $1) ) ) - (func $136 (; 136 ;) (param $0 v128) (param $1 v128) (result v128) + (func $138 (; 138 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.min (local.get $0) (local.get $1) ) ) - (func $137 (; 137 ;) (param $0 v128) (param $1 v128) (result v128) + (func $139 (; 139 ;) (param $0 v128) (param $1 v128) (result v128) (f32x4.max (local.get $0) (local.get $1) ) ) - (func $138 (; 138 ;) (param $0 v128) (result v128) + (func $140 (; 140 ;) (param $0 v128) (result v128) (f32x4.abs (local.get $0) ) ) - (func $139 (; 139 ;) (param $0 v128) (result v128) + (func $141 (; 141 ;) (param $0 v128) (result v128) (f32x4.neg (local.get $0) ) ) - (func $140 (; 140 ;) (param $0 v128) (result v128) + (func $142 (; 142 ;) (param $0 v128) (result v128) (f32x4.sqrt (local.get $0) ) ) - (func $141 (; 141 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $143 (; 143 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $142 (; 142 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $144 (; 144 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f32x4.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $143 (; 143 ;) (param $0 v128) (param $1 v128) (result v128) + (func $145 (; 145 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.add (local.get $0) (local.get $1) ) ) - (func $144 (; 144 ;) (param $0 v128) (param $1 v128) (result v128) + (func $146 (; 146 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.sub (local.get $0) (local.get $1) ) ) - (func $145 (; 145 ;) (param $0 v128) (param $1 v128) (result v128) + (func $147 (; 147 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.mul (local.get $0) (local.get $1) ) ) - (func $146 (; 146 ;) (param $0 v128) (param $1 v128) (result v128) + (func $148 (; 148 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.div (local.get $0) (local.get $1) ) ) - (func $147 (; 147 ;) (param $0 v128) (param $1 v128) (result v128) + (func $149 (; 149 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.min (local.get $0) (local.get $1) ) ) - (func $148 (; 148 ;) (param $0 v128) (param $1 v128) (result v128) + (func $150 (; 150 ;) (param $0 v128) (param $1 v128) (result v128) (f64x2.max (local.get $0) (local.get $1) ) ) - (func $149 (; 149 ;) (param $0 v128) (result v128) + (func $151 (; 151 ;) (param $0 v128) (result v128) (f64x2.abs (local.get $0) ) ) - (func $150 (; 150 ;) (param $0 v128) (result v128) + (func $152 (; 152 ;) (param $0 v128) (result v128) (f64x2.neg (local.get $0) ) ) - (func $151 (; 151 ;) (param $0 v128) (result v128) + (func $153 (; 153 ;) (param $0 v128) (result v128) (f64x2.sqrt (local.get $0) ) ) - (func $152 (; 152 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $154 (; 154 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfma (local.get $0) (local.get $1) (local.get $2) ) ) - (func $153 (; 153 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + (func $155 (; 155 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) (f64x2.qfms (local.get $0) (local.get $1) (local.get $2) ) ) - (func $154 (; 154 ;) (param $0 v128) (result v128) + (func $156 (; 156 ;) (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_s (local.get $0) ) ) - (func $155 (; 155 ;) (param $0 v128) (result v128) + (func $157 (; 157 ;) (param $0 v128) (result v128) (i32x4.trunc_sat_f32x4_u (local.get $0) ) ) - (func $156 (; 156 ;) (param $0 v128) (result v128) + (func $158 (; 158 ;) (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_s (local.get $0) ) ) - (func $157 (; 157 ;) (param $0 v128) (result v128) + (func $159 (; 159 ;) (param $0 v128) (result v128) (i64x2.trunc_sat_f64x2_u (local.get $0) ) ) - (func $158 (; 158 ;) (param $0 v128) (result v128) + (func $160 (; 160 ;) (param $0 v128) (result v128) (f32x4.convert_i32x4_s (local.get $0) ) ) - (func $159 (; 159 ;) (param $0 v128) (result v128) + (func $161 (; 161 ;) (param $0 v128) (result v128) (f32x4.convert_i32x4_u (local.get $0) ) ) - (func $160 (; 160 ;) (param $0 v128) (result v128) + (func $162 (; 162 ;) (param $0 v128) (result v128) (f64x2.convert_i64x2_s (local.get $0) ) ) - (func $161 (; 161 ;) (param $0 v128) (result v128) + (func $163 (; 163 ;) (param $0 v128) (result v128) (f64x2.convert_i64x2_u (local.get $0) ) ) - (func $162 (; 162 ;) (param $0 i32) (result v128) + (func $164 (; 164 ;) (param $0 i32) (result v128) (v8x16.load_splat (local.get $0) ) ) - (func $163 (; 163 ;) (param $0 i32) (result v128) + (func $165 (; 165 ;) (param $0 i32) (result v128) (v16x8.load_splat (local.get $0) ) ) - (func $164 (; 164 ;) (param $0 i32) (result v128) + (func $166 (; 166 ;) (param $0 i32) (result v128) (v32x4.load_splat (local.get $0) ) ) - (func $165 (; 165 ;) (param $0 i32) (result v128) + (func $167 (; 167 ;) (param $0 i32) (result v128) (v64x2.load_splat (local.get $0) ) ) - (func $166 (; 166 ;) (param $0 v128) (param $1 v128) (result v128) + (func $168 (; 168 ;) (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_s (local.get $0) (local.get $1) ) ) - (func $167 (; 167 ;) (param $0 v128) (param $1 v128) (result v128) + (func $169 (; 169 ;) (param $0 v128) (param $1 v128) (result v128) (i8x16.narrow_i16x8_u (local.get $0) (local.get $1) ) ) - (func $168 (; 168 ;) (param $0 v128) (param $1 v128) (result v128) + (func $170 (; 170 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_s (local.get $0) (local.get $1) ) ) - (func $169 (; 169 ;) (param $0 v128) (param $1 v128) (result v128) + (func $171 (; 171 ;) (param $0 v128) (param $1 v128) (result v128) (i16x8.narrow_i32x4_u (local.get $0) (local.get $1) ) ) - (func $170 (; 170 ;) (param $0 v128) (result v128) + (func $172 (; 172 ;) (param $0 v128) (result v128) (i16x8.widen_low_i8x16_s (local.get $0) ) ) - (func $171 (; 171 ;) (param $0 v128) (result v128) + (func $173 (; 173 ;) (param $0 v128) (result v128) (i16x8.widen_high_i8x16_s (local.get $0) ) ) - (func $172 (; 172 ;) (param $0 v128) (result v128) + (func $174 (; 174 ;) (param $0 v128) (result v128) (i16x8.widen_low_i8x16_u (local.get $0) ) ) - (func $173 (; 173 ;) (param $0 v128) (result v128) + (func $175 (; 175 ;) (param $0 v128) (result v128) (i16x8.widen_high_i8x16_u (local.get $0) ) ) - (func $174 (; 174 ;) (param $0 v128) (result v128) + (func $176 (; 176 ;) (param $0 v128) (result v128) (i32x4.widen_low_i16x8_s (local.get $0) ) ) - (func $175 (; 175 ;) (param $0 v128) (result v128) + (func $177 (; 177 ;) (param $0 v128) (result v128) (i32x4.widen_high_i16x8_s (local.get $0) ) ) - (func $176 (; 176 ;) (param $0 v128) (result v128) + (func $178 (; 178 ;) (param $0 v128) (result v128) (i32x4.widen_low_i16x8_u (local.get $0) ) ) - (func $177 (; 177 ;) (param $0 v128) (result v128) + (func $179 (; 179 ;) (param $0 v128) (result v128) (i32x4.widen_high_i16x8_u (local.get $0) ) ) - (func $178 (; 178 ;) (param $0 i32) (result v128) + (func $180 (; 180 ;) (param $0 i32) (result v128) (i16x8.load8x8_u (local.get $0) ) ) - (func $179 (; 179 ;) (param $0 i32) (result v128) + (func $181 (; 181 ;) (param $0 i32) (result v128) (i16x8.load8x8_s (local.get $0) ) ) - (func $180 (; 180 ;) (param $0 i32) (result v128) + (func $182 (; 182 ;) (param $0 i32) (result v128) (i32x4.load16x4_s (local.get $0) ) ) - (func $181 (; 181 ;) (param $0 i32) (result v128) + (func $183 (; 183 ;) (param $0 i32) (result v128) (i32x4.load16x4_u (local.get $0) ) ) - (func $182 (; 182 ;) (param $0 i32) (result v128) + (func $184 (; 184 ;) (param $0 i32) (result v128) (i64x2.load32x2_s (local.get $0) ) ) - (func $183 (; 183 ;) (param $0 i32) (result v128) + (func $185 (; 185 ;) (param $0 i32) (result v128) (i64x2.load32x2_u (local.get $0) ) ) - (func $184 (; 184 ;) (param $0 v128) (param $1 v128) (result v128) + (func $186 (; 186 ;) (param $0 v128) (param $1 v128) (result v128) (v8x16.swizzle (local.get $0) (local.get $1) diff --git a/test/spec/simd.wast b/test/spec/simd.wast index 0df98f123..d64789f3e 100644 --- a/test/spec/simd.wast +++ b/test/spec/simd.wast @@ -120,6 +120,7 @@ (func (export "i8x16.min_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.min_u (local.get $0) (local.get $1))) (func (export "i8x16.max_s") (param $0 v128) (param $1 v128) (result v128) (i8x16.max_s (local.get $0) (local.get $1))) (func (export "i8x16.max_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.max_u (local.get $0) (local.get $1))) + (func (export "i8x16.avgr_u") (param $0 v128) (param $1 v128) (result v128) (i8x16.avgr_u (local.get $0) (local.get $1))) (func (export "i16x8.neg") (param $0 v128) (result v128) (i16x8.neg (local.get $0))) (func (export "i16x8.any_true") (param $0 v128) (result i32) (i16x8.any_true (local.get $0))) (func (export "i16x8.all_true") (param $0 v128) (result i32) (i16x8.all_true (local.get $0))) @@ -137,6 +138,7 @@ (func (export "i16x8.min_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.min_u (local.get $0) (local.get $1))) (func (export "i16x8.max_s") (param $0 v128) (param $1 v128) (result v128) (i16x8.max_s (local.get $0) (local.get $1))) (func (export "i16x8.max_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.max_u (local.get $0) (local.get $1))) + (func (export "i16x8.avgr_u") (param $0 v128) (param $1 v128) (result v128) (i16x8.avgr_u (local.get $0) (local.get $1))) (func (export "i32x4.neg") (param $0 v128) (result v128) (i32x4.neg (local.get $0))) (func (export "i32x4.any_true") (param $0 v128) (result i32) (i32x4.any_true (local.get $0))) (func (export "i32x4.all_true") (param $0 v128) (result i32) (i32x4.all_true (local.get $0))) @@ -594,6 +596,13 @@ ) (v128.const i8x16 3 231 255 128 129 129 103 29 103 196 231 142 17 255 127 142) ) +(assert_return + (invoke "i8x16.avgr_u" + (v128.const i8x16 0 42 255 128 127 129 6 29 103 196 231 142 17 250 1 73) + (v128.const i8x16 3 231 1 128 129 6 103 17 42 29 73 42 0 255 127 142) + ) + (v128.const i8x16 2 137 128 128 128 68 55 23 73 113 152 92 9 253 64 108) +) ;; i16x8 arithmetic (assert_return (invoke "i16x8.neg" (v128.const i32x4 0 1 42 -3 -56 32767 -32768 32766)) @@ -690,6 +699,13 @@ ) (v128.const i32x4 768 65280 32768 33024 33024 59136 65280 32766) ) +(assert_return + (invoke "i16x8.avgr_u" + (v128.const i16x8 0 65280 32768 32512 33024 59136 64000 32766) + (v128.const i16x8 768 1 32768 33024 1536 18688 65280 2) + ) + (v128.const i16x8 384 32641 32768 32768 17280 38912 64640 16384) +) ;; i32x4 arithmetic (assert_return (invoke "i32x4.neg" (v128.const i32x4 0 1 0x80000000 0x7fffffff)) (v128.const i32x4 0 -1 0x80000000 0x80000001)) |