summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild-js.sh1
-rwxr-xr-xscripts/gen-s-parser.py1
-rw-r--r--src/binaryen-c.cpp1
-rw-r--r--src/binaryen-c.h1
-rw-r--r--src/gen-s-parser.inc14
-rw-r--r--src/ir/cost.h3
-rw-r--r--src/js/binaryen.js-post.js4
-rw-r--r--src/literal.h1
-rw-r--r--src/passes/Print.cpp4
-rw-r--r--src/tools/fuzzing.h3
-rw-r--r--src/wasm-binary.h1
-rw-r--r--src/wasm-interpreter.h3
-rw-r--r--src/wasm.h3
-rw-r--r--src/wasm/literal.cpp11
-rw-r--r--src/wasm/wasm-binary.cpp4
-rw-r--r--src/wasm/wasm-stack.cpp5
-rw-r--r--src/wasm/wasm-validator.cpp3
-rw-r--r--test/binaryen.js/kitchen-sink.js1
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt619
-rw-r--r--test/example/c-api-kitchen-sink.c1
-rw-r--r--test/example/c-api-kitchen-sink.txt437
-rw-r--r--test/example/c-api-kitchen-sink.txt.txt6
-rw-r--r--test/simd.wast6
-rw-r--r--test/simd.wast.from-wast6
-rw-r--r--test/simd.wast.fromBinary6
-rw-r--r--test/simd.wast.fromBinary.noDebugInfo6
-rw-r--r--test/spec/simd.wast8
27 files changed, 653 insertions, 506 deletions
diff --git a/build-js.sh b/build-js.sh
index 19cbbb5e3..606fe6c50 100755
--- a/build-js.sh
+++ b/build-js.sh
@@ -574,6 +574,7 @@ export_function "_BinaryenWidenLowSVecI16x8ToVecI32x4"
export_function "_BinaryenWidenHighSVecI16x8ToVecI32x4"
export_function "_BinaryenWidenLowUVecI16x8ToVecI32x4"
export_function "_BinaryenWidenHighUVecI16x8ToVecI32x4"
+export_function "_BinaryenSwizzleVec8x16"
# Expression creation
export_function "_BinaryenBlock"
diff --git a/scripts/gen-s-parser.py b/scripts/gen-s-parser.py
index ccc641c52..9085633fc 100755
--- a/scripts/gen-s-parser.py
+++ b/scripts/gen-s-parser.py
@@ -452,6 +452,7 @@ instructions = [
("i32x4.widen_high_i16x8_s", "makeUnary(s, UnaryOp::WidenHighSVecI16x8ToVecI32x4)"),
("i32x4.widen_low_i16x8_u", "makeUnary(s, UnaryOp::WidenLowUVecI16x8ToVecI32x4)"),
("i32x4.widen_high_i16x8_u", "makeUnary(s, UnaryOp::WidenHighUVecI16x8ToVecI32x4)"),
+ ("v8x16.swizzle", "makeBinary(s, BinaryOp::SwizzleVec8x16)"),
# exception handling instructions
("try", "makeTry(s)"),
("throw", "makeThrow(s)"),
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index a4b3e9b5b..7b4ee2bc5 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -942,6 +942,7 @@ BinaryenOp BinaryenWidenLowUVecI16x8ToVecI32x4(void) {
BinaryenOp BinaryenWidenHighUVecI16x8ToVecI32x4(void) {
return WidenHighUVecI16x8ToVecI32x4;
}
+BinaryenOp BinaryenSwizzleVec8x16(void) { return SwizzleVec8x16; }
BinaryenExpressionRef BinaryenBlock(BinaryenModuleRef module,
const char* name,
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index a31df8cae..3d15a7efe 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -546,6 +546,7 @@ BINARYEN_API BinaryenOp BinaryenWidenLowSVecI16x8ToVecI32x4(void);
BINARYEN_API BinaryenOp BinaryenWidenHighSVecI16x8ToVecI32x4(void);
BINARYEN_API BinaryenOp BinaryenWidenLowUVecI16x8ToVecI32x4(void);
BINARYEN_API BinaryenOp BinaryenWidenHighUVecI16x8ToVecI32x4(void);
+BINARYEN_API BinaryenOp BinaryenSwizzleVec8x16(void);
typedef void* BinaryenExpressionRef;
diff --git a/src/gen-s-parser.inc b/src/gen-s-parser.inc
index bab468e2a..7f1958582 100644
--- a/src/gen-s-parser.inc
+++ b/src/gen-s-parser.inc
@@ -2509,9 +2509,17 @@ switch (op[0]) {
case 'l':
if (strcmp(op, "v8x16.load_splat") == 0) { return makeSIMDLoad(s, SIMDLoadOp::LoadSplatVec8x16); }
goto parse_error;
- case 's':
- if (strcmp(op, "v8x16.shuffle") == 0) { return makeSIMDShuffle(s); }
- goto parse_error;
+ case 's': {
+ switch (op[7]) {
+ case 'h':
+ if (strcmp(op, "v8x16.shuffle") == 0) { return makeSIMDShuffle(s); }
+ goto parse_error;
+ case 'w':
+ if (strcmp(op, "v8x16.swizzle") == 0) { return makeBinary(s, BinaryOp::SwizzleVec8x16); }
+ goto parse_error;
+ default: goto parse_error;
+ }
+ }
default: goto parse_error;
}
}
diff --git a/src/ir/cost.h b/src/ir/cost.h
index a4d9a0d40..a3d9f8584 100644
--- a/src/ir/cost.h
+++ b/src/ir/cost.h
@@ -666,6 +666,9 @@ struct CostAnalyzer : public Visitor<CostAnalyzer, Index> {
case NarrowUVecI32x4ToVecI16x8:
ret = 1;
break;
+ case SwizzleVec8x16:
+ ret = 1;
+ break;
case InvalidBinary:
WASM_UNREACHABLE();
}
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index 8769e1c9e..b11d2769b 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -418,6 +418,7 @@ Module['WidenLowSVecI16x8ToVecI32x4'] = Module['_BinaryenWidenLowSVecI16x8ToVecI
Module['WidenHighSVecI16x8ToVecI32x4'] = Module['_BinaryenWidenHighSVecI16x8ToVecI32x4']();
Module['WidenLowUVecI16x8ToVecI32x4'] = Module['_BinaryenWidenLowUVecI16x8ToVecI32x4']();
Module['WidenHighUVecI16x8ToVecI32x4'] = Module['_BinaryenWidenHighUVecI16x8ToVecI32x4']();
+Module['SwizzleVec8x16'] = Module['_BinaryenSwizzleVec8x16']();
// The size of a single literal in memory as used in Const creation,
// which is a little different: we don't want users to need to make
@@ -1845,6 +1846,9 @@ function wrapModule(module, self) {
return Module['_BinaryenSIMDShuffle'](module, left, right, i8sToStack(mask));
});
},
+ 'swizzle': function(left, right) {
+ return Module['_BinaryenBinary'](module, Module['SwizzleVec8x16'], left, right);
+ },
'load_splat': function(offset, align, ptr) {
return Module['_BinaryenSIMDLoad'](module, Module['LoadSplatVec8x16'], offset, align, ptr);
},
diff --git a/src/literal.h b/src/literal.h
index 98bb1aa7b..19db6a1d6 100644
--- a/src/literal.h
+++ b/src/literal.h
@@ -398,6 +398,7 @@ public:
Literal widenHighSToVecI32x4() const;
Literal widenLowUToVecI32x4() const;
Literal widenHighUToVecI32x4() const;
+ Literal swizzleVec8x16(const Literal& other) const;
private:
Literal addSatSI8(const Literal& other) const;
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index b856b2000..a5b5e3c2b 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -1243,6 +1243,10 @@ struct PrintExpressionContents
o << "i16x8.narrow_i32x4_u";
break;
+ case SwizzleVec8x16:
+ o << "v8x16.swizzle";
+ break;
+
case InvalidBinary:
WASM_UNREACHABLE();
}
diff --git a/src/tools/fuzzing.h b/src/tools/fuzzing.h
index 45ddc59b1..c4070427c 100644
--- a/src/tools/fuzzing.h
+++ b/src/tools/fuzzing.h
@@ -2174,7 +2174,8 @@ private:
NarrowSVecI16x8ToVecI8x16,
NarrowUVecI16x8ToVecI8x16,
NarrowSVecI32x4ToVecI16x8,
- NarrowUVecI32x4ToVecI16x8),
+ NarrowUVecI32x4ToVecI16x8,
+ SwizzleVec8x16),
make(v128),
make(v128)});
}
diff --git a/src/wasm-binary.h b/src/wasm-binary.h
index f299099b2..104e7b208 100644
--- a/src/wasm-binary.h
+++ b/src/wasm-binary.h
@@ -879,6 +879,7 @@ enum ASTNodes {
I32x4LoadExtUVec16x4 = 0xd5,
I64x2LoadExtSVec32x2 = 0xd6,
I64x2LoadExtUVec32x2 = 0xd7,
+ V8x16Swizzle = 0xc0,
// bulk memory opcodes
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h
index 8c429caa9..5995808a5 100644
--- a/src/wasm-interpreter.h
+++ b/src/wasm-interpreter.h
@@ -816,6 +816,9 @@ public:
case NarrowUVecI32x4ToVecI16x8:
return left.narrowUToVecI16x8(right);
+ case SwizzleVec8x16:
+ return left.swizzleVec8x16(right);
+
case InvalidBinary:
WASM_UNREACHABLE();
}
diff --git a/src/wasm.h b/src/wasm.h
index 8006bd319..d4b53f5bb 100644
--- a/src/wasm.h
+++ b/src/wasm.h
@@ -392,6 +392,9 @@ enum BinaryOp {
NarrowSVecI32x4ToVecI16x8,
NarrowUVecI32x4ToVecI16x8,
+ // SIMD Swizzle
+ SwizzleVec8x16,
+
InvalidBinary
};
diff --git a/src/wasm/literal.cpp b/src/wasm/literal.cpp
index b382d1a3d..7f0c9fa6b 100644
--- a/src/wasm/literal.cpp
+++ b/src/wasm/literal.cpp
@@ -1867,4 +1867,15 @@ Literal Literal::widenHighUToVecI32x4() const {
return widen<4, &Literal::getLanesUI16x8, LaneOrder::High>(*this);
}
+Literal Literal::swizzleVec8x16(const Literal& other) const {
+ auto lanes = getLanesUI8x16();
+ auto indices = other.getLanesUI8x16();
+ LaneArray<16> result;
+ for (size_t i = 0; i < 16; ++i) {
+ size_t index = indices[i].geti32();
+ result[i] = index >= 16 ? Literal(int32_t(0)) : lanes[index];
+ }
+ return Literal(result);
+}
+
} // namespace wasm
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp
index 1606d74a1..8446f3c17 100644
--- a/src/wasm/wasm-binary.cpp
+++ b/src/wasm/wasm-binary.cpp
@@ -3963,6 +3963,10 @@ bool WasmBinaryBuilder::maybeVisitSIMDBinary(Expression*& out, uint32_t code) {
curr = allocator.alloc<Binary>();
curr->op = NarrowUVecI32x4ToVecI16x8;
break;
+ case BinaryConsts::V8x16Swizzle:
+ curr = allocator.alloc<Binary>();
+ curr->op = SwizzleVec8x16;
+ break;
default:
return false;
}
diff --git a/src/wasm/wasm-stack.cpp b/src/wasm/wasm-stack.cpp
index 8b7ccfb2e..949bf1364 100644
--- a/src/wasm/wasm-stack.cpp
+++ b/src/wasm/wasm-stack.cpp
@@ -1484,6 +1484,11 @@ void BinaryInstWriter::visitBinary(Binary* curr) {
<< U32LEB(BinaryConsts::I16x8NarrowUI32x4);
break;
+ case SwizzleVec8x16:
+ o << int8_t(BinaryConsts::SIMDPrefix)
+ << U32LEB(BinaryConsts::V8x16Swizzle);
+ break;
+
case InvalidBinary:
WASM_UNREACHABLE();
}
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp
index 1c30d0d2a..278ec4769 100644
--- a/src/wasm/wasm-validator.cpp
+++ b/src/wasm/wasm-validator.cpp
@@ -1366,7 +1366,8 @@ void FunctionValidator::visitBinary(Binary* curr) {
case NarrowSVecI16x8ToVecI8x16:
case NarrowUVecI16x8ToVecI8x16:
case NarrowSVecI32x4ToVecI16x8:
- case NarrowUVecI32x4ToVecI16x8: {
+ case NarrowUVecI32x4ToVecI16x8:
+ case SwizzleVec8x16: {
shouldBeEqualOrFirstIsUnreachable(
curr->left->type, v128, curr, "v128 op");
shouldBeEqualOrFirstIsUnreachable(
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js
index 23c50b87f..9d947988a 100644
--- a/test/binaryen.js/kitchen-sink.js
+++ b/test/binaryen.js/kitchen-sink.js
@@ -353,6 +353,7 @@ function test_core() {
module.i8x16.narrow_i16x8_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
module.i16x8.narrow_i32x4_s(module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
module.i16x8.narrow_i32x4_u(module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
+ module.v8x16.swizzle(module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
// SIMD lane manipulation
module.i8x16.extract_lane_s(module.v128.const(v128_bytes), 1),
module.i8x16.extract_lane_u(module.v128.const(v128_bytes), 1),
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index ee2b9bf82..c1b0b3782 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -1204,6 +1204,12 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
)
(drop
+ (v8x16.swizzle
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
(i8x16.extract_lane_s 1
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
@@ -2801,6 +2807,12 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
)
(drop
+ (v8x16.swizzle
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
(i8x16.extract_lane_s 1
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
@@ -4928,182 +4940,179 @@ int main() {
uint8_t t197[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[532] = BinaryenConst(the_module, BinaryenLiteralVec128(t197));
}
- expressions[533] = BinaryenSIMDExtract(the_module, 0, expressions[532], 1);
{
uint8_t t198[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[534] = BinaryenConst(the_module, BinaryenLiteralVec128(t198));
+ expressions[533] = BinaryenConst(the_module, BinaryenLiteralVec128(t198));
}
- expressions[535] = BinaryenSIMDExtract(the_module, 1, expressions[534], 1);
+ expressions[534] = BinaryenBinary(the_module, 157, expressions[532], expressions[533]);
{
uint8_t t199[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[536] = BinaryenConst(the_module, BinaryenLiteralVec128(t199));
+ expressions[535] = BinaryenConst(the_module, BinaryenLiteralVec128(t199));
}
- expressions[537] = BinaryenSIMDExtract(the_module, 2, expressions[536], 1);
+ expressions[536] = BinaryenSIMDExtract(the_module, 0, expressions[535], 1);
{
uint8_t t200[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[538] = BinaryenConst(the_module, BinaryenLiteralVec128(t200));
+ expressions[537] = BinaryenConst(the_module, BinaryenLiteralVec128(t200));
}
- expressions[539] = BinaryenSIMDExtract(the_module, 3, expressions[538], 1);
+ expressions[538] = BinaryenSIMDExtract(the_module, 1, expressions[537], 1);
{
uint8_t t201[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[540] = BinaryenConst(the_module, BinaryenLiteralVec128(t201));
+ expressions[539] = BinaryenConst(the_module, BinaryenLiteralVec128(t201));
}
- expressions[541] = BinaryenSIMDExtract(the_module, 4, expressions[540], 1);
+ expressions[540] = BinaryenSIMDExtract(the_module, 2, expressions[539], 1);
{
uint8_t t202[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[542] = BinaryenConst(the_module, BinaryenLiteralVec128(t202));
+ expressions[541] = BinaryenConst(the_module, BinaryenLiteralVec128(t202));
}
- expressions[543] = BinaryenSIMDExtract(the_module, 5, expressions[542], 1);
+ expressions[542] = BinaryenSIMDExtract(the_module, 3, expressions[541], 1);
{
uint8_t t203[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[544] = BinaryenConst(the_module, BinaryenLiteralVec128(t203));
+ expressions[543] = BinaryenConst(the_module, BinaryenLiteralVec128(t203));
}
- expressions[545] = BinaryenSIMDExtract(the_module, 6, expressions[544], 1);
+ expressions[544] = BinaryenSIMDExtract(the_module, 4, expressions[543], 1);
{
uint8_t t204[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[546] = BinaryenConst(the_module, BinaryenLiteralVec128(t204));
+ expressions[545] = BinaryenConst(the_module, BinaryenLiteralVec128(t204));
}
- expressions[547] = BinaryenSIMDExtract(the_module, 7, expressions[546], 1);
+ expressions[546] = BinaryenSIMDExtract(the_module, 5, expressions[545], 1);
{
uint8_t t205[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[548] = BinaryenConst(the_module, BinaryenLiteralVec128(t205));
+ expressions[547] = BinaryenConst(the_module, BinaryenLiteralVec128(t205));
}
- expressions[549] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
- expressions[550] = BinaryenSIMDReplace(the_module, 1, expressions[548], 1, expressions[549]);
+ expressions[548] = BinaryenSIMDExtract(the_module, 6, expressions[547], 1);
{
uint8_t t206[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[551] = BinaryenConst(the_module, BinaryenLiteralVec128(t206));
+ expressions[549] = BinaryenConst(the_module, BinaryenLiteralVec128(t206));
}
- expressions[552] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
- expressions[553] = BinaryenSIMDReplace(the_module, 0, expressions[551], 1, expressions[552]);
+ expressions[550] = BinaryenSIMDExtract(the_module, 7, expressions[549], 1);
{
uint8_t t207[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[554] = BinaryenConst(the_module, BinaryenLiteralVec128(t207));
+ expressions[551] = BinaryenConst(the_module, BinaryenLiteralVec128(t207));
}
- expressions[555] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
- expressions[556] = BinaryenSIMDReplace(the_module, 2, expressions[554], 1, expressions[555]);
+ expressions[552] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[553] = BinaryenSIMDReplace(the_module, 1, expressions[551], 1, expressions[552]);
{
uint8_t t208[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[557] = BinaryenConst(the_module, BinaryenLiteralVec128(t208));
+ expressions[554] = BinaryenConst(the_module, BinaryenLiteralVec128(t208));
}
- expressions[558] = BinaryenConst(the_module, BinaryenLiteralInt64(184683593770));
- expressions[559] = BinaryenSIMDReplace(the_module, 3, expressions[557], 1, expressions[558]);
+ expressions[555] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[556] = BinaryenSIMDReplace(the_module, 0, expressions[554], 1, expressions[555]);
{
uint8_t t209[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[560] = BinaryenConst(the_module, BinaryenLiteralVec128(t209));
+ expressions[557] = BinaryenConst(the_module, BinaryenLiteralVec128(t209));
}
- expressions[561] = BinaryenConst(the_module, BinaryenLiteralFloat32(42));
- expressions[562] = BinaryenSIMDReplace(the_module, 4, expressions[560], 1, expressions[561]);
+ expressions[558] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[559] = BinaryenSIMDReplace(the_module, 2, expressions[557], 1, expressions[558]);
{
uint8_t t210[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[563] = BinaryenConst(the_module, BinaryenLiteralVec128(t210));
+ expressions[560] = BinaryenConst(the_module, BinaryenLiteralVec128(t210));
}
- expressions[564] = BinaryenConst(the_module, BinaryenLiteralFloat64(42));
- expressions[565] = BinaryenSIMDReplace(the_module, 5, expressions[563], 1, expressions[564]);
+ expressions[561] = BinaryenConst(the_module, BinaryenLiteralInt64(184683593770));
+ expressions[562] = BinaryenSIMDReplace(the_module, 3, expressions[560], 1, expressions[561]);
{
uint8_t t211[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[566] = BinaryenConst(the_module, BinaryenLiteralVec128(t211));
+ expressions[563] = BinaryenConst(the_module, BinaryenLiteralVec128(t211));
}
- expressions[567] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[568] = BinaryenSIMDShift(the_module, 0, expressions[566], expressions[567]);
+ expressions[564] = BinaryenConst(the_module, BinaryenLiteralFloat32(42));
+ expressions[565] = BinaryenSIMDReplace(the_module, 4, expressions[563], 1, expressions[564]);
{
uint8_t t212[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[569] = BinaryenConst(the_module, BinaryenLiteralVec128(t212));
+ expressions[566] = BinaryenConst(the_module, BinaryenLiteralVec128(t212));
}
- expressions[570] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[571] = BinaryenSIMDShift(the_module, 1, expressions[569], expressions[570]);
+ expressions[567] = BinaryenConst(the_module, BinaryenLiteralFloat64(42));
+ expressions[568] = BinaryenSIMDReplace(the_module, 5, expressions[566], 1, expressions[567]);
{
uint8_t t213[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[572] = BinaryenConst(the_module, BinaryenLiteralVec128(t213));
+ expressions[569] = BinaryenConst(the_module, BinaryenLiteralVec128(t213));
}
- expressions[573] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[574] = BinaryenSIMDShift(the_module, 2, expressions[572], expressions[573]);
+ expressions[570] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[571] = BinaryenSIMDShift(the_module, 0, expressions[569], expressions[570]);
{
uint8_t t214[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[575] = BinaryenConst(the_module, BinaryenLiteralVec128(t214));
+ expressions[572] = BinaryenConst(the_module, BinaryenLiteralVec128(t214));
}
- expressions[576] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[577] = BinaryenSIMDShift(the_module, 3, expressions[575], expressions[576]);
+ expressions[573] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[574] = BinaryenSIMDShift(the_module, 1, expressions[572], expressions[573]);
{
uint8_t t215[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[578] = BinaryenConst(the_module, BinaryenLiteralVec128(t215));
+ expressions[575] = BinaryenConst(the_module, BinaryenLiteralVec128(t215));
}
- expressions[579] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[580] = BinaryenSIMDShift(the_module, 4, expressions[578], expressions[579]);
+ expressions[576] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[577] = BinaryenSIMDShift(the_module, 2, expressions[575], expressions[576]);
{
uint8_t t216[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[581] = BinaryenConst(the_module, BinaryenLiteralVec128(t216));
+ expressions[578] = BinaryenConst(the_module, BinaryenLiteralVec128(t216));
}
- expressions[582] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[583] = BinaryenSIMDShift(the_module, 5, expressions[581], expressions[582]);
+ expressions[579] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[580] = BinaryenSIMDShift(the_module, 3, expressions[578], expressions[579]);
{
uint8_t t217[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[584] = BinaryenConst(the_module, BinaryenLiteralVec128(t217));
+ expressions[581] = BinaryenConst(the_module, BinaryenLiteralVec128(t217));
}
- expressions[585] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[586] = BinaryenSIMDShift(the_module, 6, expressions[584], expressions[585]);
+ expressions[582] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[583] = BinaryenSIMDShift(the_module, 4, expressions[581], expressions[582]);
{
uint8_t t218[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[587] = BinaryenConst(the_module, BinaryenLiteralVec128(t218));
+ expressions[584] = BinaryenConst(the_module, BinaryenLiteralVec128(t218));
}
- expressions[588] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[589] = BinaryenSIMDShift(the_module, 7, expressions[587], expressions[588]);
+ expressions[585] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[586] = BinaryenSIMDShift(the_module, 5, expressions[584], expressions[585]);
{
uint8_t t219[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[590] = BinaryenConst(the_module, BinaryenLiteralVec128(t219));
+ expressions[587] = BinaryenConst(the_module, BinaryenLiteralVec128(t219));
}
- expressions[591] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[592] = BinaryenSIMDShift(the_module, 8, expressions[590], expressions[591]);
+ expressions[588] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[589] = BinaryenSIMDShift(the_module, 6, expressions[587], expressions[588]);
{
uint8_t t220[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[593] = BinaryenConst(the_module, BinaryenLiteralVec128(t220));
+ expressions[590] = BinaryenConst(the_module, BinaryenLiteralVec128(t220));
}
- expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[595] = BinaryenSIMDShift(the_module, 9, expressions[593], expressions[594]);
+ expressions[591] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[592] = BinaryenSIMDShift(the_module, 7, expressions[590], expressions[591]);
{
uint8_t t221[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[596] = BinaryenConst(the_module, BinaryenLiteralVec128(t221));
+ expressions[593] = BinaryenConst(the_module, BinaryenLiteralVec128(t221));
}
- expressions[597] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[598] = BinaryenSIMDShift(the_module, 10, expressions[596], expressions[597]);
+ expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[595] = BinaryenSIMDShift(the_module, 8, expressions[593], expressions[594]);
{
uint8_t t222[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t222));
+ expressions[596] = BinaryenConst(the_module, BinaryenLiteralVec128(t222));
}
- expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[601] = BinaryenSIMDShift(the_module, 11, expressions[599], expressions[600]);
- expressions[602] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[603] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[602]);
- expressions[604] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[605] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[604]);
- expressions[606] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[607] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[606]);
- expressions[608] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[609] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[608]);
- expressions[610] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[611] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[610]);
- expressions[612] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[613] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[612]);
- expressions[614] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[615] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[614]);
- expressions[616] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[617] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[616]);
- expressions[618] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[619] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[618]);
- expressions[620] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[621] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[620]);
+ expressions[597] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[598] = BinaryenSIMDShift(the_module, 9, expressions[596], expressions[597]);
{
uint8_t t223[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[622] = BinaryenConst(the_module, BinaryenLiteralVec128(t223));
+ expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t223));
}
+ expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[601] = BinaryenSIMDShift(the_module, 10, expressions[599], expressions[600]);
{
uint8_t t224[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[623] = BinaryenConst(the_module, BinaryenLiteralVec128(t224));
- }
- {
- uint8_t mask[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[624] = BinaryenSIMDShuffle(the_module, expressions[622], expressions[623], mask);
- }
+ expressions[602] = BinaryenConst(the_module, BinaryenLiteralVec128(t224));
+ }
+ expressions[603] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[604] = BinaryenSIMDShift(the_module, 11, expressions[602], expressions[603]);
+ expressions[605] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[606] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[605]);
+ expressions[607] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[608] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[607]);
+ expressions[609] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[610] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[609]);
+ expressions[611] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[612] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[611]);
+ expressions[613] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[614] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[613]);
+ expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[616] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[615]);
+ expressions[617] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[618] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[617]);
+ expressions[619] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[620] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[619]);
+ expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[622] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[621]);
+ expressions[623] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[624] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[623]);
{
uint8_t t225[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[625] = BinaryenConst(the_module, BinaryenLiteralVec128(t225));
@@ -5113,10 +5122,13 @@ int main() {
expressions[626] = BinaryenConst(the_module, BinaryenLiteralVec128(t226));
}
{
+ uint8_t mask[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[627] = BinaryenSIMDShuffle(the_module, expressions[625], expressions[626], mask);
+ }
+ {
uint8_t t227[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[627] = BinaryenConst(the_module, BinaryenLiteralVec128(t227));
+ expressions[628] = BinaryenConst(the_module, BinaryenLiteralVec128(t227));
}
- expressions[628] = BinaryenSIMDTernary(the_module, 0, expressions[625], expressions[626], expressions[627]);
{
uint8_t t228[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[629] = BinaryenConst(the_module, BinaryenLiteralVec128(t228));
@@ -5125,11 +5137,11 @@ int main() {
uint8_t t229[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[630] = BinaryenConst(the_module, BinaryenLiteralVec128(t229));
}
+ expressions[631] = BinaryenSIMDTernary(the_module, 0, expressions[628], expressions[629], expressions[630]);
{
uint8_t t230[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[631] = BinaryenConst(the_module, BinaryenLiteralVec128(t230));
+ expressions[632] = BinaryenConst(the_module, BinaryenLiteralVec128(t230));
}
- expressions[632] = BinaryenSIMDTernary(the_module, 1, expressions[629], expressions[630], expressions[631]);
{
uint8_t t231[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[633] = BinaryenConst(the_module, BinaryenLiteralVec128(t231));
@@ -5138,11 +5150,11 @@ int main() {
uint8_t t232[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[634] = BinaryenConst(the_module, BinaryenLiteralVec128(t232));
}
+ expressions[635] = BinaryenSIMDTernary(the_module, 1, expressions[632], expressions[633], expressions[634]);
{
uint8_t t233[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[635] = BinaryenConst(the_module, BinaryenLiteralVec128(t233));
+ expressions[636] = BinaryenConst(the_module, BinaryenLiteralVec128(t233));
}
- expressions[636] = BinaryenSIMDTernary(the_module, 2, expressions[633], expressions[634], expressions[635]);
{
uint8_t t234[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[637] = BinaryenConst(the_module, BinaryenLiteralVec128(t234));
@@ -5151,11 +5163,11 @@ int main() {
uint8_t t235[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[638] = BinaryenConst(the_module, BinaryenLiteralVec128(t235));
}
+ expressions[639] = BinaryenSIMDTernary(the_module, 2, expressions[636], expressions[637], expressions[638]);
{
uint8_t t236[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[639] = BinaryenConst(the_module, BinaryenLiteralVec128(t236));
+ expressions[640] = BinaryenConst(the_module, BinaryenLiteralVec128(t236));
}
- expressions[640] = BinaryenSIMDTernary(the_module, 3, expressions[637], expressions[638], expressions[639]);
{
uint8_t t237[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[641] = BinaryenConst(the_module, BinaryenLiteralVec128(t237));
@@ -5164,161 +5176,170 @@ int main() {
uint8_t t238[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[642] = BinaryenConst(the_module, BinaryenLiteralVec128(t238));
}
+ expressions[643] = BinaryenSIMDTernary(the_module, 3, expressions[640], expressions[641], expressions[642]);
{
uint8_t t239[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[643] = BinaryenConst(the_module, BinaryenLiteralVec128(t239));
- }
- expressions[644] = BinaryenSIMDTernary(the_module, 4, expressions[641], expressions[642], expressions[643]);
- expressions[645] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[646] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[647] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
- expressions[648] = BinaryenMemoryInit(the_module, 0, expressions[645], expressions[646], expressions[647]);
- expressions[649] = BinaryenDataDrop(the_module, 0);
- expressions[650] = BinaryenConst(the_module, BinaryenLiteralInt32(2048));
- expressions[651] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[652] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
- expressions[653] = BinaryenMemoryCopy(the_module, expressions[650], expressions[651], expressions[652]);
- expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[655] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
- expressions[656] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[657] = BinaryenMemoryFill(the_module, expressions[654], expressions[655], expressions[656]);
+ expressions[644] = BinaryenConst(the_module, BinaryenLiteralVec128(t239));
+ }
+ {
+ uint8_t t240[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[645] = BinaryenConst(the_module, BinaryenLiteralVec128(t240));
+ }
+ {
+ uint8_t t241[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[646] = BinaryenConst(the_module, BinaryenLiteralVec128(t241));
+ }
+ expressions[647] = BinaryenSIMDTernary(the_module, 4, expressions[644], expressions[645], expressions[646]);
+ expressions[648] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[649] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[650] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
+ expressions[651] = BinaryenMemoryInit(the_module, 0, expressions[648], expressions[649], expressions[650]);
+ expressions[652] = BinaryenDataDrop(the_module, 0);
+ expressions[653] = BinaryenConst(the_module, BinaryenLiteralInt32(2048));
+ expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[655] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
+ expressions[656] = BinaryenMemoryCopy(the_module, expressions[653], expressions[654], expressions[655]);
+ expressions[657] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[658] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[659] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[660] = BinaryenMemoryFill(the_module, expressions[657], expressions[658], expressions[659]);
{
BinaryenExpressionRef children[] = { 0 };
- expressions[658] = BinaryenBlock(the_module, NULL, children, 0, 0);
- }
- expressions[659] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]);
- expressions[660] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]);
- expressions[661] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[662] = BinaryenLoop(the_module, "in", expressions[661]);
- expressions[663] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[664] = BinaryenLoop(the_module, NULL, expressions[663]);
- expressions[665] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]);
- expressions[666] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[667] = BinaryenBreak(the_module, "the-nothing", expressions[666], expressions[0]);
- expressions[668] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
- expressions[669] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[668]);
- expressions[670] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
+ expressions[661] = BinaryenBlock(the_module, NULL, children, 0, 0);
+ }
+ expressions[662] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]);
+ expressions[663] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]);
+ expressions[664] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[665] = BinaryenLoop(the_module, "in", expressions[664]);
+ expressions[666] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[667] = BinaryenLoop(the_module, NULL, expressions[666]);
+ expressions[668] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]);
+ expressions[669] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[670] = BinaryenBreak(the_module, "the-nothing", expressions[669], expressions[0]);
+ expressions[671] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ expressions[672] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[671]);
+ expressions[673] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
{
const char* names[] = { "the-value" };
- expressions[671] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]);
+ expressions[674] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]);
}
- expressions[672] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[675] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
const char* names[] = { "the-nothing" };
- expressions[673] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[672], expressions[0]);
- }
- expressions[674] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[675] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[676] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[677] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[674], expressions[675], expressions[676], expressions[677] };
- expressions[678] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
- }
- expressions[679] = BinaryenUnary(the_module, 20, expressions[678]);
- expressions[680] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[681] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[680], expressions[681] };
- expressions[682] = BinaryenCall(the_module, "an-imported", operands, 2, 3);
- }
- expressions[683] = BinaryenUnary(the_module, 25, expressions[682]);
- expressions[684] = BinaryenUnary(the_module, 20, expressions[683]);
- expressions[685] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
- expressions[686] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[687] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[688] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[689] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[686], expressions[687], expressions[688], expressions[689] };
- expressions[690] = BinaryenCallIndirect(the_module, expressions[685], operands, 4, "iiIfF");
- }
- expressions[691] = BinaryenUnary(the_module, 20, expressions[690]);
- expressions[692] = BinaryenLocalGet(the_module, 0, 1);
- expressions[693] = BinaryenDrop(the_module, expressions[692]);
- expressions[694] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
- expressions[695] = BinaryenLocalSet(the_module, 0, expressions[694]);
- expressions[696] = BinaryenConst(the_module, BinaryenLiteralInt32(102));
- expressions[697] = BinaryenLocalTee(the_module, 0, expressions[696]);
- expressions[698] = BinaryenDrop(the_module, expressions[697]);
- expressions[699] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[700] = BinaryenLoad(the_module, 4, 1, 0, 0, 1, expressions[699]);
- expressions[701] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
- expressions[702] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[701]);
- expressions[703] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[704] = BinaryenLoad(the_module, 4, 1, 0, 0, 3, expressions[703]);
- expressions[705] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
- expressions[706] = BinaryenLoad(the_module, 8, 1, 2, 8, 4, expressions[705]);
- expressions[707] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 1);
- expressions[708] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 2);
- expressions[709] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]);
- expressions[710] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
- expressions[711] = BinaryenReturn(the_module, expressions[710]);
- expressions[712] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[713] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[714] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[715] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[712], expressions[713], expressions[714], expressions[715] };
- expressions[716] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 1);
- }
- expressions[717] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
- expressions[718] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[719] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[720] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[721] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[718], expressions[719], expressions[720], expressions[721] };
- expressions[722] = BinaryenReturnCallIndirect(the_module, expressions[717], operands, 4, "iiIfF");
- }
- expressions[723] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- {
- BinaryenExpressionRef operands[] = { expressions[723] };
- expressions[724] = BinaryenThrow(the_module, "a-event", operands, 1);
- }
- expressions[725] = BinaryenPop(the_module, 7);
- expressions[726] = BinaryenLocalSet(the_module, 5, expressions[725]);
- expressions[727] = BinaryenLocalGet(the_module, 5, 7);
- expressions[728] = BinaryenBrOnExn(the_module, "try-block", "a-event", expressions[727]);
- expressions[729] = BinaryenRethrow(the_module, expressions[728]);
- {
- BinaryenExpressionRef children[] = { expressions[729] };
- expressions[730] = BinaryenBlock(the_module, "try-block", children, 1, 1);
- }
- expressions[731] = BinaryenDrop(the_module, expressions[730]);
- {
- BinaryenExpressionRef children[] = { expressions[726], expressions[731] };
- expressions[732] = BinaryenBlock(the_module, NULL, children, 2, 0);
- }
- expressions[733] = BinaryenTry(the_module, expressions[724], expressions[732]);
- expressions[734] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[735] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[736] = BinaryenAtomicLoad(the_module, 4, 0, 1, expressions[735]);
- expressions[737] = BinaryenAtomicStore(the_module, 4, 0, expressions[734], expressions[736], 1);
+ expressions[676] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[675], expressions[0]);
+ }
+ expressions[677] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[678] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[679] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[680] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[677], expressions[678], expressions[679], expressions[680] };
+ expressions[681] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
+ }
+ expressions[682] = BinaryenUnary(the_module, 20, expressions[681]);
+ expressions[683] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[684] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[683], expressions[684] };
+ expressions[685] = BinaryenCall(the_module, "an-imported", operands, 2, 3);
+ }
+ expressions[686] = BinaryenUnary(the_module, 25, expressions[685]);
+ expressions[687] = BinaryenUnary(the_module, 20, expressions[686]);
+ expressions[688] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
+ expressions[689] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[690] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[691] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[692] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[689], expressions[690], expressions[691], expressions[692] };
+ expressions[693] = BinaryenCallIndirect(the_module, expressions[688], operands, 4, "iiIfF");
+ }
+ expressions[694] = BinaryenUnary(the_module, 20, expressions[693]);
+ expressions[695] = BinaryenLocalGet(the_module, 0, 1);
+ expressions[696] = BinaryenDrop(the_module, expressions[695]);
+ expressions[697] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
+ expressions[698] = BinaryenLocalSet(the_module, 0, expressions[697]);
+ expressions[699] = BinaryenConst(the_module, BinaryenLiteralInt32(102));
+ expressions[700] = BinaryenLocalTee(the_module, 0, expressions[699]);
+ expressions[701] = BinaryenDrop(the_module, expressions[700]);
+ expressions[702] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[703] = BinaryenLoad(the_module, 4, 1, 0, 0, 1, expressions[702]);
+ expressions[704] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
+ expressions[705] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[704]);
+ expressions[706] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[707] = BinaryenLoad(the_module, 4, 1, 0, 0, 3, expressions[706]);
+ expressions[708] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
+ expressions[709] = BinaryenLoad(the_module, 8, 1, 2, 8, 4, expressions[708]);
+ expressions[710] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 1);
+ expressions[711] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 2);
+ expressions[712] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]);
+ expressions[713] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
+ expressions[714] = BinaryenReturn(the_module, expressions[713]);
+ expressions[715] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[716] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[717] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[718] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[715], expressions[716], expressions[717], expressions[718] };
+ expressions[719] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 1);
+ }
+ expressions[720] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
+ expressions[721] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[722] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[723] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[724] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[721], expressions[722], expressions[723], expressions[724] };
+ expressions[725] = BinaryenReturnCallIndirect(the_module, expressions[720], operands, 4, "iiIfF");
+ }
+ expressions[726] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ {
+ BinaryenExpressionRef operands[] = { expressions[726] };
+ expressions[727] = BinaryenThrow(the_module, "a-event", operands, 1);
+ }
+ expressions[728] = BinaryenPop(the_module, 7);
+ expressions[729] = BinaryenLocalSet(the_module, 5, expressions[728]);
+ expressions[730] = BinaryenLocalGet(the_module, 5, 7);
+ expressions[731] = BinaryenBrOnExn(the_module, "try-block", "a-event", expressions[730]);
+ expressions[732] = BinaryenRethrow(the_module, expressions[731]);
+ {
+ BinaryenExpressionRef children[] = { expressions[732] };
+ expressions[733] = BinaryenBlock(the_module, "try-block", children, 1, 1);
+ }
+ expressions[734] = BinaryenDrop(the_module, expressions[733]);
+ {
+ BinaryenExpressionRef children[] = { expressions[729], expressions[734] };
+ expressions[735] = BinaryenBlock(the_module, NULL, children, 2, 0);
+ }
+ expressions[736] = BinaryenTry(the_module, expressions[727], expressions[735]);
+ expressions[737] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
expressions[738] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[739] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[740] = BinaryenConst(the_module, BinaryenLiteralInt64(0));
- expressions[741] = BinaryenAtomicWait(the_module, expressions[738], expressions[739], expressions[740], 1);
- expressions[742] = BinaryenDrop(the_module, expressions[741]);
- expressions[743] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[744] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[745] = BinaryenAtomicNotify(the_module, expressions[743], expressions[744]);
- expressions[746] = BinaryenDrop(the_module, expressions[745]);
- expressions[747] = BinaryenAtomicFence(the_module);
- expressions[748] = BinaryenPop(the_module, 1);
- expressions[749] = BinaryenPush(the_module, expressions[748]);
- expressions[750] = BinaryenPop(the_module, 2);
- expressions[751] = BinaryenPush(the_module, expressions[750]);
- expressions[752] = BinaryenPop(the_module, 3);
- expressions[753] = BinaryenPush(the_module, expressions[752]);
- expressions[754] = BinaryenPop(the_module, 4);
- expressions[755] = BinaryenPush(the_module, expressions[754]);
- expressions[756] = BinaryenPop(the_module, 5);
- expressions[757] = BinaryenPush(the_module, expressions[756]);
- expressions[758] = BinaryenPop(the_module, 7);
- expressions[759] = BinaryenPush(the_module, expressions[758]);
- expressions[760] = BinaryenNop(the_module);
- expressions[761] = BinaryenUnreachable(the_module);
+ expressions[739] = BinaryenAtomicLoad(the_module, 4, 0, 1, expressions[738]);
+ expressions[740] = BinaryenAtomicStore(the_module, 4, 0, expressions[737], expressions[739], 1);
+ expressions[741] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[742] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[743] = BinaryenConst(the_module, BinaryenLiteralInt64(0));
+ expressions[744] = BinaryenAtomicWait(the_module, expressions[741], expressions[742], expressions[743], 1);
+ expressions[745] = BinaryenDrop(the_module, expressions[744]);
+ expressions[746] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[747] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[748] = BinaryenAtomicNotify(the_module, expressions[746], expressions[747]);
+ expressions[749] = BinaryenDrop(the_module, expressions[748]);
+ expressions[750] = BinaryenAtomicFence(the_module);
+ expressions[751] = BinaryenPop(the_module, 1);
+ expressions[752] = BinaryenPush(the_module, expressions[751]);
+ expressions[753] = BinaryenPop(the_module, 2);
+ expressions[754] = BinaryenPush(the_module, expressions[753]);
+ expressions[755] = BinaryenPop(the_module, 3);
+ expressions[756] = BinaryenPush(the_module, expressions[755]);
+ expressions[757] = BinaryenPop(the_module, 4);
+ expressions[758] = BinaryenPush(the_module, expressions[757]);
+ expressions[759] = BinaryenPop(the_module, 5);
+ expressions[760] = BinaryenPush(the_module, expressions[759]);
+ expressions[761] = BinaryenPop(the_module, 7);
+ expressions[762] = BinaryenPush(the_module, expressions[761]);
+ expressions[763] = BinaryenNop(the_module);
+ expressions[764] = BinaryenUnreachable(the_module);
BinaryenExpressionGetId(expressions[30]);
BinaryenExpressionGetType(expressions[30]);
BinaryenUnaryGetOp(expressions[30]);
@@ -5329,26 +5350,26 @@ getExpressionInfo={"id":15,"type":3,"op":6}
(f32.const -33.61199951171875)
)
- expressions[762] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
- BinaryenExpressionGetId(expressions[762]);
- BinaryenExpressionGetType(expressions[762]);
- BinaryenConstGetValueI32(expressions[762]);
+ expressions[765] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
+ BinaryenExpressionGetId(expressions[765]);
+ BinaryenExpressionGetType(expressions[765]);
+ BinaryenConstGetValueI32(expressions[765]);
getExpressionInfo(i32.const)={"id":14,"type":1,"value":5}
- expressions[763] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078));
- BinaryenExpressionGetId(expressions[763]);
- BinaryenExpressionGetType(expressions[763]);
- BinaryenConstGetValueI64Low(expressions[763]);
- BinaryenConstGetValueI64High(expressions[763]);
+ expressions[766] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078));
+ BinaryenExpressionGetId(expressions[766]);
+ BinaryenExpressionGetType(expressions[766]);
+ BinaryenConstGetValueI64Low(expressions[766]);
+ BinaryenConstGetValueI64High(expressions[766]);
getExpressionInfo(i64.const)={"id":14,"type":2,"value":{"low":6,"high":7}}
- expressions[764] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5));
- BinaryenExpressionGetId(expressions[764]);
- BinaryenExpressionGetType(expressions[764]);
- BinaryenConstGetValueF32(expressions[764]);
+ expressions[767] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5));
+ BinaryenExpressionGetId(expressions[767]);
+ BinaryenExpressionGetType(expressions[767]);
+ BinaryenConstGetValueF32(expressions[767]);
getExpressionInfo(f32.const)={"id":14,"type":3,"value":8.5}
- expressions[765] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5));
- BinaryenExpressionGetId(expressions[765]);
- BinaryenExpressionGetType(expressions[765]);
- BinaryenConstGetValueF64(expressions[765]);
+ expressions[768] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5));
+ BinaryenExpressionGetId(expressions[768]);
+ BinaryenExpressionGetType(expressions[768]);
+ BinaryenConstGetValueF64(expressions[768]);
getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
{
BinaryenExpressionRef children[] = { expressions[24], expressions[26], expressions[28], expressions[30], expressions[32],
@@ -5384,39 +5405,39 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
expressions[477], expressions[480], expressions[483], expressions[486], expressions[489], expressions[492],
expressions[495], expressions[498], expressions[501], expressions[504], expressions[507], expressions[510],
expressions[513], expressions[516], expressions[519], expressions[522], expressions[525], expressions[528],
- expressions[531], expressions[533], expressions[535], expressions[537], expressions[539], expressions[541],
- expressions[543], expressions[545], expressions[547], expressions[550], expressions[553], expressions[556],
+ expressions[531], expressions[534], expressions[536], expressions[538], expressions[540], expressions[542],
+ expressions[544], expressions[546], expressions[548], expressions[550], expressions[553], expressions[556],
expressions[559], expressions[562], expressions[565], expressions[568], expressions[571], expressions[574],
expressions[577], expressions[580], expressions[583], expressions[586], expressions[589], expressions[592],
- expressions[595], expressions[598], expressions[601], expressions[603], expressions[605], expressions[607],
- expressions[609], expressions[611], expressions[613], expressions[615], expressions[617], expressions[619],
- expressions[621], expressions[624], expressions[628], expressions[632], expressions[636], expressions[640],
- expressions[644], expressions[648], expressions[649], expressions[653], expressions[657], expressions[658],
- expressions[659], expressions[660], expressions[662], expressions[664], expressions[665], expressions[667],
- expressions[669], expressions[670], expressions[671], expressions[673], expressions[679], expressions[684],
- expressions[691], expressions[693], expressions[695], expressions[698], expressions[700], expressions[702],
- expressions[704], expressions[706], expressions[707], expressions[708], expressions[709], expressions[711],
- expressions[716], expressions[722], expressions[733], expressions[737], expressions[742], expressions[746],
- expressions[747], expressions[749], expressions[751], expressions[753], expressions[755], expressions[757],
- expressions[759], expressions[760], expressions[761] };
- expressions[766] = BinaryenBlock(the_module, "the-value", children, 284, 0);
+ expressions[595], expressions[598], expressions[601], expressions[604], expressions[606], expressions[608],
+ expressions[610], expressions[612], expressions[614], expressions[616], expressions[618], expressions[620],
+ expressions[622], expressions[624], expressions[627], expressions[631], expressions[635], expressions[639],
+ expressions[643], expressions[647], expressions[651], expressions[652], expressions[656], expressions[660],
+ expressions[661], expressions[662], expressions[663], expressions[665], expressions[667], expressions[668],
+ expressions[670], expressions[672], expressions[673], expressions[674], expressions[676], expressions[682],
+ expressions[687], expressions[694], expressions[696], expressions[698], expressions[701], expressions[703],
+ expressions[705], expressions[707], expressions[709], expressions[710], expressions[711], expressions[712],
+ expressions[714], expressions[719], expressions[725], expressions[736], expressions[740], expressions[745],
+ expressions[749], expressions[750], expressions[752], expressions[754], expressions[756], expressions[758],
+ expressions[760], expressions[762], expressions[763], expressions[764] };
+ expressions[769] = BinaryenBlock(the_module, "the-value", children, 285, 0);
}
- expressions[767] = BinaryenDrop(the_module, expressions[766]);
+ expressions[770] = BinaryenDrop(the_module, expressions[769]);
{
- BinaryenExpressionRef children[] = { expressions[767] };
- expressions[768] = BinaryenBlock(the_module, "the-nothing", children, 1, 0);
+ BinaryenExpressionRef children[] = { expressions[770] };
+ expressions[771] = BinaryenBlock(the_module, "the-nothing", children, 1, 0);
}
- expressions[769] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[772] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
- BinaryenExpressionRef children[] = { expressions[768], expressions[769] };
- expressions[770] = BinaryenBlock(the_module, "the-body", children, 2, 0);
+ BinaryenExpressionRef children[] = { expressions[771], expressions[772] };
+ expressions[773] = BinaryenBlock(the_module, "the-body", children, 2, 0);
}
{
BinaryenType varTypes[] = { 1, 7 };
- functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[1], varTypes, 2, expressions[770]);
+ functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[1], varTypes, 2, expressions[773]);
}
- expressions[771] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- globals[0] = BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[771]);
+ expressions[774] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ globals[0] = BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[774]);
{
BinaryenType paramTypes[] = { 1, 4 };
functionTypes[2] = BinaryenAddFunctionType(the_module, "fiF", 3, paramTypes, 2);
@@ -5446,13 +5467,13 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
const char* funcNames[] = { "kitchen()sinker" };
BinaryenSetFunctionTable(the_module, 1, 4294967295, funcNames, 1);
}
- expressions[772] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ expressions[775] = 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[772], expressions[0] };
+ BinaryenExpressionRef segmentOffsets[] = { expressions[775], expressions[0] };
BinaryenIndex segmentSizes[] = { 12, 12 };
BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentPassive, segmentOffsets, segmentSizes, 2, 1);
}
@@ -5460,10 +5481,10 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
BinaryenType paramTypes[] = { 0 };
functionTypes[3] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0);
}
- expressions[773] = BinaryenNop(the_module);
+ expressions[776] = BinaryenNop(the_module);
{
BinaryenType varTypes[] = { 0 };
- functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[3], varTypes, 0, expressions[773]);
+ functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[3], varTypes, 0, expressions[776]);
}
BinaryenSetStart(the_module, functions[1]);
{
@@ -6607,6 +6628,12 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
)
(drop
+ (v8x16.swizzle
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
(i8x16.extract_lane_s 1
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
@@ -8206,6 +8233,12 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
)
(drop
+ (v8x16.swizzle
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
(i8x16.extract_lane_s 1
(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 689adcae0..742c88b76 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -454,6 +454,7 @@ void test_core() {
makeBinary(module, BinaryenNarrowUVecI16x8ToVecI8x16(), 5),
makeBinary(module, BinaryenNarrowSVecI32x4ToVecI16x8(), 5),
makeBinary(module, BinaryenNarrowUVecI32x4ToVecI16x8(), 5),
+ makeBinary(module, BinaryenSwizzleVec8x16(), 5),
// SIMD lane manipulation
makeSIMDExtract(module, BinaryenExtractLaneSVecI8x16()),
makeSIMDExtract(module, BinaryenExtractLaneUVecI8x16()),
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 4848ec3bf..72645ea68 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -1151,6 +1151,12 @@ BinaryenFeatureAll: 511
)
)
(drop
+ (v8x16.swizzle
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
(i8x16.extract_lane_s 0
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
@@ -3311,182 +3317,179 @@ int main() {
uint8_t t198[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[553] = BinaryenConst(the_module, BinaryenLiteralVec128(t198));
}
- expressions[554] = BinaryenSIMDExtract(the_module, 0, expressions[553], 0);
{
uint8_t t199[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[555] = BinaryenConst(the_module, BinaryenLiteralVec128(t199));
+ expressions[554] = BinaryenConst(the_module, BinaryenLiteralVec128(t199));
}
- expressions[556] = BinaryenSIMDExtract(the_module, 1, expressions[555], 0);
+ expressions[555] = BinaryenBinary(the_module, 157, expressions[554], expressions[553]);
{
uint8_t t200[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[557] = BinaryenConst(the_module, BinaryenLiteralVec128(t200));
+ expressions[556] = BinaryenConst(the_module, BinaryenLiteralVec128(t200));
}
- expressions[558] = BinaryenSIMDExtract(the_module, 2, expressions[557], 0);
+ expressions[557] = BinaryenSIMDExtract(the_module, 0, expressions[556], 0);
{
uint8_t t201[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[559] = BinaryenConst(the_module, BinaryenLiteralVec128(t201));
+ expressions[558] = BinaryenConst(the_module, BinaryenLiteralVec128(t201));
}
- expressions[560] = BinaryenSIMDExtract(the_module, 3, expressions[559], 0);
+ expressions[559] = BinaryenSIMDExtract(the_module, 1, expressions[558], 0);
{
uint8_t t202[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[561] = BinaryenConst(the_module, BinaryenLiteralVec128(t202));
+ expressions[560] = BinaryenConst(the_module, BinaryenLiteralVec128(t202));
}
- expressions[562] = BinaryenSIMDExtract(the_module, 4, expressions[561], 0);
+ expressions[561] = BinaryenSIMDExtract(the_module, 2, expressions[560], 0);
{
uint8_t t203[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[563] = BinaryenConst(the_module, BinaryenLiteralVec128(t203));
+ expressions[562] = BinaryenConst(the_module, BinaryenLiteralVec128(t203));
}
- expressions[564] = BinaryenSIMDExtract(the_module, 5, expressions[563], 0);
+ expressions[563] = BinaryenSIMDExtract(the_module, 3, expressions[562], 0);
{
uint8_t t204[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[565] = BinaryenConst(the_module, BinaryenLiteralVec128(t204));
+ expressions[564] = BinaryenConst(the_module, BinaryenLiteralVec128(t204));
}
- expressions[566] = BinaryenSIMDExtract(the_module, 6, expressions[565], 0);
+ expressions[565] = BinaryenSIMDExtract(the_module, 4, expressions[564], 0);
{
uint8_t t205[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[567] = BinaryenConst(the_module, BinaryenLiteralVec128(t205));
+ expressions[566] = BinaryenConst(the_module, BinaryenLiteralVec128(t205));
}
- expressions[568] = BinaryenSIMDExtract(the_module, 7, expressions[567], 0);
- expressions[569] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[567] = BinaryenSIMDExtract(the_module, 5, expressions[566], 0);
{
uint8_t t206[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[570] = BinaryenConst(the_module, BinaryenLiteralVec128(t206));
+ expressions[568] = BinaryenConst(the_module, BinaryenLiteralVec128(t206));
}
- expressions[571] = BinaryenSIMDReplace(the_module, 0, expressions[570], 0, expressions[569]);
- expressions[572] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[569] = BinaryenSIMDExtract(the_module, 6, expressions[568], 0);
{
uint8_t t207[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[573] = BinaryenConst(the_module, BinaryenLiteralVec128(t207));
+ expressions[570] = BinaryenConst(the_module, BinaryenLiteralVec128(t207));
}
- expressions[574] = BinaryenSIMDReplace(the_module, 1, expressions[573], 0, expressions[572]);
- expressions[575] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[571] = BinaryenSIMDExtract(the_module, 7, expressions[570], 0);
+ expressions[572] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
uint8_t t208[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[576] = BinaryenConst(the_module, BinaryenLiteralVec128(t208));
+ expressions[573] = BinaryenConst(the_module, BinaryenLiteralVec128(t208));
}
- expressions[577] = BinaryenSIMDReplace(the_module, 2, expressions[576], 0, expressions[575]);
- expressions[578] = BinaryenConst(the_module, BinaryenLiteralInt64(42));
+ expressions[574] = BinaryenSIMDReplace(the_module, 0, expressions[573], 0, expressions[572]);
+ expressions[575] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
uint8_t t209[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[579] = BinaryenConst(the_module, BinaryenLiteralVec128(t209));
+ expressions[576] = BinaryenConst(the_module, BinaryenLiteralVec128(t209));
}
- expressions[580] = BinaryenSIMDReplace(the_module, 3, expressions[579], 0, expressions[578]);
- expressions[581] = BinaryenConst(the_module, BinaryenLiteralFloat32(42));
+ expressions[577] = BinaryenSIMDReplace(the_module, 1, expressions[576], 0, expressions[575]);
+ expressions[578] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
uint8_t t210[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[582] = BinaryenConst(the_module, BinaryenLiteralVec128(t210));
+ expressions[579] = BinaryenConst(the_module, BinaryenLiteralVec128(t210));
}
- expressions[583] = BinaryenSIMDReplace(the_module, 4, expressions[582], 0, expressions[581]);
- expressions[584] = BinaryenConst(the_module, BinaryenLiteralFloat64(42));
+ expressions[580] = BinaryenSIMDReplace(the_module, 2, expressions[579], 0, expressions[578]);
+ expressions[581] = BinaryenConst(the_module, BinaryenLiteralInt64(42));
{
uint8_t t211[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[585] = BinaryenConst(the_module, BinaryenLiteralVec128(t211));
+ expressions[582] = BinaryenConst(the_module, BinaryenLiteralVec128(t211));
}
- expressions[586] = BinaryenSIMDReplace(the_module, 5, expressions[585], 0, expressions[584]);
+ expressions[583] = BinaryenSIMDReplace(the_module, 3, expressions[582], 0, expressions[581]);
+ expressions[584] = BinaryenConst(the_module, BinaryenLiteralFloat32(42));
{
uint8_t t212[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[587] = BinaryenConst(the_module, BinaryenLiteralVec128(t212));
+ expressions[585] = BinaryenConst(the_module, BinaryenLiteralVec128(t212));
}
- expressions[588] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[589] = BinaryenSIMDShift(the_module, 0, expressions[587], expressions[588]);
+ expressions[586] = BinaryenSIMDReplace(the_module, 4, expressions[585], 0, expressions[584]);
+ expressions[587] = BinaryenConst(the_module, BinaryenLiteralFloat64(42));
{
uint8_t t213[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[590] = BinaryenConst(the_module, BinaryenLiteralVec128(t213));
+ expressions[588] = BinaryenConst(the_module, BinaryenLiteralVec128(t213));
}
- expressions[591] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[592] = BinaryenSIMDShift(the_module, 1, expressions[590], expressions[591]);
+ expressions[589] = BinaryenSIMDReplace(the_module, 5, expressions[588], 0, expressions[587]);
{
uint8_t t214[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[593] = BinaryenConst(the_module, BinaryenLiteralVec128(t214));
+ expressions[590] = BinaryenConst(the_module, BinaryenLiteralVec128(t214));
}
- expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[595] = BinaryenSIMDShift(the_module, 2, expressions[593], expressions[594]);
+ expressions[591] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[592] = BinaryenSIMDShift(the_module, 0, expressions[590], expressions[591]);
{
uint8_t t215[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[596] = BinaryenConst(the_module, BinaryenLiteralVec128(t215));
+ expressions[593] = BinaryenConst(the_module, BinaryenLiteralVec128(t215));
}
- expressions[597] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[598] = BinaryenSIMDShift(the_module, 3, expressions[596], expressions[597]);
+ expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[595] = BinaryenSIMDShift(the_module, 1, expressions[593], expressions[594]);
{
uint8_t t216[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t216));
+ expressions[596] = BinaryenConst(the_module, BinaryenLiteralVec128(t216));
}
- expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[601] = BinaryenSIMDShift(the_module, 4, expressions[599], expressions[600]);
+ expressions[597] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[598] = BinaryenSIMDShift(the_module, 2, expressions[596], expressions[597]);
{
uint8_t t217[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[602] = BinaryenConst(the_module, BinaryenLiteralVec128(t217));
+ expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t217));
}
- expressions[603] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[604] = BinaryenSIMDShift(the_module, 5, expressions[602], expressions[603]);
+ expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[601] = BinaryenSIMDShift(the_module, 3, expressions[599], expressions[600]);
{
uint8_t t218[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[605] = BinaryenConst(the_module, BinaryenLiteralVec128(t218));
+ expressions[602] = BinaryenConst(the_module, BinaryenLiteralVec128(t218));
}
- expressions[606] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[607] = BinaryenSIMDShift(the_module, 6, expressions[605], expressions[606]);
+ expressions[603] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[604] = BinaryenSIMDShift(the_module, 4, expressions[602], expressions[603]);
{
uint8_t t219[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[608] = BinaryenConst(the_module, BinaryenLiteralVec128(t219));
+ expressions[605] = BinaryenConst(the_module, BinaryenLiteralVec128(t219));
}
- expressions[609] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[610] = BinaryenSIMDShift(the_module, 7, expressions[608], expressions[609]);
+ expressions[606] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[607] = BinaryenSIMDShift(the_module, 5, expressions[605], expressions[606]);
{
uint8_t t220[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[611] = BinaryenConst(the_module, BinaryenLiteralVec128(t220));
+ expressions[608] = BinaryenConst(the_module, BinaryenLiteralVec128(t220));
}
- expressions[612] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[613] = BinaryenSIMDShift(the_module, 8, expressions[611], expressions[612]);
+ expressions[609] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[610] = BinaryenSIMDShift(the_module, 6, expressions[608], expressions[609]);
{
uint8_t t221[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[614] = BinaryenConst(the_module, BinaryenLiteralVec128(t221));
+ expressions[611] = BinaryenConst(the_module, BinaryenLiteralVec128(t221));
}
- expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[616] = BinaryenSIMDShift(the_module, 9, expressions[614], expressions[615]);
+ expressions[612] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[613] = BinaryenSIMDShift(the_module, 7, expressions[611], expressions[612]);
{
uint8_t t222[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[617] = BinaryenConst(the_module, BinaryenLiteralVec128(t222));
+ expressions[614] = BinaryenConst(the_module, BinaryenLiteralVec128(t222));
}
- expressions[618] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[619] = BinaryenSIMDShift(the_module, 10, expressions[617], expressions[618]);
+ expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[616] = BinaryenSIMDShift(the_module, 8, expressions[614], expressions[615]);
{
uint8_t t223[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[620] = BinaryenConst(the_module, BinaryenLiteralVec128(t223));
+ expressions[617] = BinaryenConst(the_module, BinaryenLiteralVec128(t223));
}
- expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[622] = BinaryenSIMDShift(the_module, 11, expressions[620], expressions[621]);
- expressions[623] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[624] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[623]);
- expressions[625] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[626] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[625]);
- expressions[627] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[628] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[627]);
- expressions[629] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[630] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[629]);
- expressions[631] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[632] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[631]);
- expressions[633] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[634] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[633]);
- expressions[635] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[636] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[635]);
- expressions[637] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[638] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[637]);
- expressions[639] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[640] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[639]);
- expressions[641] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
- expressions[642] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[641]);
+ expressions[618] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[619] = BinaryenSIMDShift(the_module, 9, expressions[617], expressions[618]);
{
uint8_t t224[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[643] = BinaryenConst(the_module, BinaryenLiteralVec128(t224));
+ expressions[620] = BinaryenConst(the_module, BinaryenLiteralVec128(t224));
}
+ expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[622] = BinaryenSIMDShift(the_module, 10, expressions[620], expressions[621]);
{
uint8_t t225[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[644] = BinaryenConst(the_module, BinaryenLiteralVec128(t225));
- }
- {
- uint8_t mask[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
- expressions[645] = BinaryenSIMDShuffle(the_module, expressions[643], expressions[644], mask);
- }
+ expressions[623] = BinaryenConst(the_module, BinaryenLiteralVec128(t225));
+ }
+ expressions[624] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[625] = BinaryenSIMDShift(the_module, 11, expressions[623], expressions[624]);
+ expressions[626] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[627] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[626]);
+ expressions[628] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[629] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[628]);
+ expressions[630] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[631] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[630]);
+ expressions[632] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[633] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[632]);
+ expressions[634] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[635] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[634]);
+ expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[637] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[636]);
+ expressions[638] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[639] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[638]);
+ expressions[640] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[641] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[640]);
+ expressions[642] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[643] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[642]);
+ expressions[644] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
+ expressions[645] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[644]);
{
uint8_t t226[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[646] = BinaryenConst(the_module, BinaryenLiteralVec128(t226));
@@ -3496,10 +3499,13 @@ int main() {
expressions[647] = BinaryenConst(the_module, BinaryenLiteralVec128(t227));
}
{
+ uint8_t mask[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ expressions[648] = BinaryenSIMDShuffle(the_module, expressions[646], expressions[647], mask);
+ }
+ {
uint8_t t228[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[648] = BinaryenConst(the_module, BinaryenLiteralVec128(t228));
+ expressions[649] = BinaryenConst(the_module, BinaryenLiteralVec128(t228));
}
- expressions[649] = BinaryenSIMDTernary(the_module, 0, expressions[646], expressions[647], expressions[648]);
{
uint8_t t229[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[650] = BinaryenConst(the_module, BinaryenLiteralVec128(t229));
@@ -3508,11 +3514,11 @@ int main() {
uint8_t t230[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[651] = BinaryenConst(the_module, BinaryenLiteralVec128(t230));
}
+ expressions[652] = BinaryenSIMDTernary(the_module, 0, expressions[649], expressions[650], expressions[651]);
{
uint8_t t231[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[652] = BinaryenConst(the_module, BinaryenLiteralVec128(t231));
+ expressions[653] = BinaryenConst(the_module, BinaryenLiteralVec128(t231));
}
- expressions[653] = BinaryenSIMDTernary(the_module, 1, expressions[650], expressions[651], expressions[652]);
{
uint8_t t232[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[654] = BinaryenConst(the_module, BinaryenLiteralVec128(t232));
@@ -3521,11 +3527,11 @@ int main() {
uint8_t t233[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[655] = BinaryenConst(the_module, BinaryenLiteralVec128(t233));
}
+ expressions[656] = BinaryenSIMDTernary(the_module, 1, expressions[653], expressions[654], expressions[655]);
{
uint8_t t234[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[656] = BinaryenConst(the_module, BinaryenLiteralVec128(t234));
+ expressions[657] = BinaryenConst(the_module, BinaryenLiteralVec128(t234));
}
- expressions[657] = BinaryenSIMDTernary(the_module, 2, expressions[654], expressions[655], expressions[656]);
{
uint8_t t235[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[658] = BinaryenConst(the_module, BinaryenLiteralVec128(t235));
@@ -3534,11 +3540,11 @@ int main() {
uint8_t t236[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[659] = BinaryenConst(the_module, BinaryenLiteralVec128(t236));
}
+ expressions[660] = BinaryenSIMDTernary(the_module, 2, expressions[657], expressions[658], expressions[659]);
{
uint8_t t237[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[660] = BinaryenConst(the_module, BinaryenLiteralVec128(t237));
+ expressions[661] = BinaryenConst(the_module, BinaryenLiteralVec128(t237));
}
- expressions[661] = BinaryenSIMDTernary(the_module, 3, expressions[658], expressions[659], expressions[660]);
{
uint8_t t238[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[662] = BinaryenConst(the_module, BinaryenLiteralVec128(t238));
@@ -3547,105 +3553,114 @@ int main() {
uint8_t t239[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[663] = BinaryenConst(the_module, BinaryenLiteralVec128(t239));
}
+ expressions[664] = BinaryenSIMDTernary(the_module, 3, expressions[661], expressions[662], expressions[663]);
{
uint8_t t240[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- expressions[664] = BinaryenConst(the_module, BinaryenLiteralVec128(t240));
- }
- expressions[665] = BinaryenSIMDTernary(the_module, 4, expressions[662], expressions[663], expressions[664]);
- expressions[666] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[667] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[668] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
- expressions[669] = BinaryenMemoryInit(the_module, 0, expressions[666], expressions[667], expressions[668]);
- expressions[670] = BinaryenDataDrop(the_module, 0);
- expressions[671] = BinaryenConst(the_module, BinaryenLiteralInt32(2048));
- expressions[672] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[673] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
- expressions[674] = BinaryenMemoryCopy(the_module, expressions[671], expressions[672], expressions[673]);
- expressions[675] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[676] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
- expressions[677] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[678] = BinaryenMemoryFill(the_module, expressions[675], expressions[676], expressions[677]);
+ expressions[665] = BinaryenConst(the_module, BinaryenLiteralVec128(t240));
+ }
+ {
+ uint8_t t241[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[666] = BinaryenConst(the_module, BinaryenLiteralVec128(t241));
+ }
+ {
+ uint8_t t242[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[667] = BinaryenConst(the_module, BinaryenLiteralVec128(t242));
+ }
+ expressions[668] = BinaryenSIMDTernary(the_module, 4, expressions[665], expressions[666], expressions[667]);
+ expressions[669] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[670] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[671] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
+ expressions[672] = BinaryenMemoryInit(the_module, 0, expressions[669], expressions[670], expressions[671]);
+ expressions[673] = BinaryenDataDrop(the_module, 0);
+ expressions[674] = BinaryenConst(the_module, BinaryenLiteralInt32(2048));
+ expressions[675] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[676] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
+ expressions[677] = BinaryenMemoryCopy(the_module, expressions[674], expressions[675], expressions[676]);
+ expressions[678] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[679] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[680] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[681] = BinaryenMemoryFill(the_module, expressions[678], expressions[679], expressions[680]);
{
BinaryenExpressionRef children[] = { 0 };
- expressions[679] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto());
- }
- expressions[680] = BinaryenIf(the_module, expressions[18], expressions[19], expressions[20]);
- expressions[681] = BinaryenIf(the_module, expressions[21], expressions[22], expressions[0]);
- expressions[682] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[683] = BinaryenLoop(the_module, "in", expressions[682]);
- expressions[684] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[685] = BinaryenLoop(the_module, NULL, expressions[684]);
- expressions[686] = BinaryenBreak(the_module, "the-value", expressions[23], expressions[24]);
- expressions[687] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[688] = BinaryenBreak(the_module, "the-nothing", expressions[687], expressions[0]);
- expressions[689] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
- expressions[690] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[689]);
- expressions[691] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
+ expressions[682] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto());
+ }
+ expressions[683] = BinaryenIf(the_module, expressions[18], expressions[19], expressions[20]);
+ expressions[684] = BinaryenIf(the_module, expressions[21], expressions[22], expressions[0]);
+ expressions[685] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[686] = BinaryenLoop(the_module, "in", expressions[685]);
+ expressions[687] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[688] = BinaryenLoop(the_module, NULL, expressions[687]);
+ expressions[689] = BinaryenBreak(the_module, "the-value", expressions[23], expressions[24]);
+ expressions[690] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[691] = BinaryenBreak(the_module, "the-nothing", expressions[690], expressions[0]);
+ expressions[692] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ expressions[693] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[692]);
+ expressions[694] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
{
const char* names[] = { "the-value" };
- expressions[692] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[25], expressions[26]);
+ expressions[695] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[25], expressions[26]);
}
- expressions[693] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[696] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
const char* names[] = { "the-nothing" };
- expressions[694] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[693], expressions[0]);
+ expressions[697] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[696], expressions[0]);
}
{
BinaryenExpressionRef operands[] = { expressions[10], expressions[11], expressions[12], expressions[13] };
- expressions[695] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
+ expressions[698] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
}
- expressions[696] = BinaryenUnary(the_module, 20, expressions[695]);
+ expressions[699] = BinaryenUnary(the_module, 20, expressions[698]);
{
BinaryenExpressionRef operands[] = { expressions[8], expressions[9] };
- expressions[697] = BinaryenCall(the_module, "an-imported", operands, 2, 3);
+ expressions[700] = BinaryenCall(the_module, "an-imported", operands, 2, 3);
}
- expressions[698] = BinaryenUnary(the_module, 25, expressions[697]);
- expressions[699] = BinaryenUnary(the_module, 20, expressions[698]);
- expressions[700] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
+ expressions[701] = BinaryenUnary(the_module, 25, expressions[700]);
+ expressions[702] = BinaryenUnary(the_module, 20, expressions[701]);
+ expressions[703] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
{
BinaryenExpressionRef operands[] = { expressions[14], expressions[15], expressions[16], expressions[17] };
- expressions[701] = BinaryenCallIndirect(the_module, expressions[700], operands, 4, "iiIfF");
- }
- expressions[702] = BinaryenUnary(the_module, 20, expressions[701]);
- expressions[703] = BinaryenLocalGet(the_module, 0, 1);
- expressions[704] = BinaryenDrop(the_module, expressions[703]);
- expressions[705] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
- expressions[706] = BinaryenLocalSet(the_module, 0, expressions[705]);
- expressions[707] = BinaryenConst(the_module, BinaryenLiteralInt32(102));
- expressions[708] = BinaryenLocalTee(the_module, 0, expressions[707]);
- expressions[709] = BinaryenDrop(the_module, expressions[708]);
- expressions[710] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[711] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[710]);
- expressions[712] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
- expressions[713] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[712]);
- expressions[714] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[715] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[714]);
- expressions[716] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
- expressions[717] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[716]);
- expressions[718] = BinaryenStore(the_module, 4, 0, 0, expressions[30], expressions[31], 1);
- expressions[719] = BinaryenStore(the_module, 8, 2, 4, expressions[32], expressions[33], 2);
- expressions[720] = BinaryenSelect(the_module, expressions[27], expressions[28], expressions[29]);
- expressions[721] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
- expressions[722] = BinaryenReturn(the_module, expressions[721]);
+ expressions[704] = BinaryenCallIndirect(the_module, expressions[703], operands, 4, "iiIfF");
+ }
+ expressions[705] = BinaryenUnary(the_module, 20, expressions[704]);
+ expressions[706] = BinaryenLocalGet(the_module, 0, 1);
+ expressions[707] = BinaryenDrop(the_module, expressions[706]);
+ expressions[708] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
+ expressions[709] = BinaryenLocalSet(the_module, 0, expressions[708]);
+ expressions[710] = BinaryenConst(the_module, BinaryenLiteralInt32(102));
+ expressions[711] = BinaryenLocalTee(the_module, 0, expressions[710]);
+ expressions[712] = BinaryenDrop(the_module, expressions[711]);
+ expressions[713] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[714] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[713]);
+ expressions[715] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
+ expressions[716] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[715]);
+ expressions[717] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[718] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[717]);
+ expressions[719] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
+ expressions[720] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[719]);
+ expressions[721] = BinaryenStore(the_module, 4, 0, 0, expressions[30], expressions[31], 1);
+ expressions[722] = BinaryenStore(the_module, 8, 2, 4, expressions[32], expressions[33], 2);
+ expressions[723] = BinaryenSelect(the_module, expressions[27], expressions[28], expressions[29]);
+ expressions[724] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
+ expressions[725] = BinaryenReturn(the_module, expressions[724]);
{
BinaryenExpressionRef operands[] = { expressions[10], expressions[11], expressions[12], expressions[13] };
- expressions[723] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 1);
+ expressions[726] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 1);
}
- expressions[724] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
+ expressions[727] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
{
BinaryenExpressionRef operands[] = { expressions[14], expressions[15], expressions[16], expressions[17] };
- expressions[725] = BinaryenReturnCallIndirect(the_module, expressions[724], operands, 4, "iiIfF");
- }
- expressions[726] = BinaryenTry(the_module, expressions[35], expressions[43]);
- expressions[727] = BinaryenAtomicLoad(the_module, 4, 0, 1, expressions[23]);
- expressions[728] = BinaryenAtomicStore(the_module, 4, 0, expressions[23], expressions[727], 1);
- expressions[729] = BinaryenAtomicWait(the_module, expressions[23], expressions[23], expressions[33], 1);
- expressions[730] = BinaryenDrop(the_module, expressions[729]);
- expressions[731] = BinaryenAtomicNotify(the_module, expressions[23], expressions[23]);
- expressions[732] = BinaryenDrop(the_module, expressions[731]);
- expressions[733] = BinaryenAtomicFence(the_module);
- expressions[734] = BinaryenNop(the_module);
- expressions[735] = BinaryenUnreachable(the_module);
+ expressions[728] = BinaryenReturnCallIndirect(the_module, expressions[727], operands, 4, "iiIfF");
+ }
+ expressions[729] = BinaryenTry(the_module, expressions[35], expressions[43]);
+ expressions[730] = BinaryenAtomicLoad(the_module, 4, 0, 1, expressions[23]);
+ expressions[731] = BinaryenAtomicStore(the_module, 4, 0, expressions[23], expressions[730], 1);
+ expressions[732] = BinaryenAtomicWait(the_module, expressions[23], expressions[23], expressions[33], 1);
+ expressions[733] = BinaryenDrop(the_module, expressions[732]);
+ expressions[734] = BinaryenAtomicNotify(the_module, expressions[23], expressions[23]);
+ expressions[735] = BinaryenDrop(the_module, expressions[734]);
+ expressions[736] = BinaryenAtomicFence(the_module);
+ expressions[737] = BinaryenNop(the_module);
+ expressions[738] = BinaryenUnreachable(the_module);
BinaryenExpressionPrint(expressions[51]);
(f32.neg
(f32.const -33.61199951171875)
@@ -3684,40 +3699,40 @@ int main() {
expressions[498], expressions[501], expressions[504], expressions[507], expressions[510], 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[554], expressions[556], expressions[558], expressions[560], expressions[562],
- expressions[564], expressions[566], expressions[568], expressions[571], expressions[574], expressions[577],
+ expressions[552], expressions[555], expressions[557], expressions[559], expressions[561], expressions[563],
+ expressions[565], expressions[567], expressions[569], expressions[571], expressions[574], expressions[577],
expressions[580], expressions[583], expressions[586], expressions[589], expressions[592], expressions[595],
expressions[598], expressions[601], expressions[604], expressions[607], expressions[610], expressions[613],
- expressions[616], expressions[619], expressions[622], expressions[624], expressions[626], expressions[628],
- expressions[630], expressions[632], expressions[634], expressions[636], expressions[638], expressions[640],
- expressions[642], expressions[645], expressions[649], expressions[653], expressions[657], expressions[661],
- expressions[665], expressions[669], expressions[670], expressions[674], expressions[678], expressions[679],
- expressions[680], expressions[681], expressions[683], expressions[685], expressions[686], expressions[688],
- expressions[690], expressions[691], expressions[692], expressions[694], expressions[696], expressions[699],
- expressions[702], expressions[704], expressions[706], expressions[709], expressions[711], expressions[713],
- expressions[715], expressions[717], expressions[718], expressions[719], expressions[720], expressions[722],
- expressions[723], expressions[725], expressions[726], expressions[728], expressions[730], expressions[732],
- expressions[733], expressions[734], expressions[735] };
- expressions[736] = BinaryenBlock(the_module, "the-value", children, 278, BinaryenTypeAuto());
+ expressions[616], expressions[619], expressions[622], expressions[625], expressions[627], expressions[629],
+ expressions[631], expressions[633], expressions[635], expressions[637], expressions[639], expressions[641],
+ expressions[643], expressions[645], expressions[648], expressions[652], expressions[656], expressions[660],
+ expressions[664], expressions[668], expressions[672], expressions[673], expressions[677], expressions[681],
+ expressions[682], expressions[683], expressions[684], expressions[686], expressions[688], expressions[689],
+ expressions[691], expressions[693], expressions[694], expressions[695], expressions[697], expressions[699],
+ expressions[702], expressions[705], expressions[707], expressions[709], expressions[712], expressions[714],
+ expressions[716], expressions[718], expressions[720], expressions[721], expressions[722], expressions[723],
+ expressions[725], expressions[726], expressions[728], expressions[729], expressions[731], expressions[733],
+ expressions[735], expressions[736], expressions[737], expressions[738] };
+ expressions[739] = BinaryenBlock(the_module, "the-value", children, 279, BinaryenTypeAuto());
}
- expressions[737] = BinaryenDrop(the_module, expressions[736]);
+ expressions[740] = BinaryenDrop(the_module, expressions[739]);
{
- BinaryenExpressionRef children[] = { expressions[737] };
- expressions[738] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto());
+ BinaryenExpressionRef children[] = { expressions[740] };
+ expressions[741] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto());
}
- expressions[739] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[742] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
- BinaryenExpressionRef children[] = { expressions[738], expressions[739] };
- expressions[740] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto());
+ BinaryenExpressionRef children[] = { expressions[741], expressions[742] };
+ expressions[743] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto());
}
{
BinaryenType varTypes[] = { 1, 7 };
- functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 2, expressions[740]);
+ functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 2, expressions[743]);
}
- expressions[741] = BinaryenConst(the_module, BinaryenLiteralInt32(7));
- globals[0] = BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[741]);
- expressions[742] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5));
- globals[1] = BinaryenAddGlobal(the_module, "a-mutable-global", 3, 1, expressions[742]);
+ expressions[744] = BinaryenConst(the_module, BinaryenLiteralInt32(7));
+ globals[0] = BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[744]);
+ expressions[745] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5));
+ globals[1] = BinaryenAddGlobal(the_module, "a-mutable-global", 3, 1, expressions[745]);
{
BinaryenType paramTypes[] = { 1, 4 };
functionTypes[2] = BinaryenAddFunctionType(the_module, "fiF", 3, paramTypes, 2);
@@ -3729,13 +3744,13 @@ int main() {
const char* funcNames[] = { "kitchen()sinker" };
BinaryenSetFunctionTable(the_module, 1, 1, funcNames, 1);
}
- expressions[743] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ expressions[746] = 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[743], expressions[0] };
+ BinaryenExpressionRef segmentOffsets[] = { expressions[746], expressions[0] };
BinaryenIndex segmentSizes[] = { 12, 12 };
BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentPassive, segmentOffsets, segmentSizes, 2, 1);
}
@@ -3743,10 +3758,10 @@ int main() {
BinaryenType paramTypes[] = { 0 };
functionTypes[3] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0);
}
- expressions[744] = BinaryenNop(the_module);
+ expressions[747] = BinaryenNop(the_module);
{
BinaryenType varTypes[] = { 0 };
- functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[3], varTypes, 0, expressions[744]);
+ functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[3], varTypes, 0, expressions[747]);
}
BinaryenSetStart(the_module, functions[1]);
{
@@ -4887,6 +4902,12 @@ int main() {
)
)
(drop
+ (v8x16.swizzle
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
(i8x16.extract_lane_s 0
(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 56602ef13..2f30c22df 100644
--- a/test/example/c-api-kitchen-sink.txt.txt
+++ b/test/example/c-api-kitchen-sink.txt.txt
@@ -1130,6 +1130,12 @@
)
)
(drop
+ (v8x16.swizzle
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
(i8x16.extract_lane_s 0
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
diff --git a/test/simd.wast b/test/simd.wast
index facaf0e83..364b9e798 100644
--- a/test/simd.wast
+++ b/test/simd.wast
@@ -954,4 +954,10 @@
(local.get $0)
)
)
+ (func $v8x16.swizzle (param $0 v128) (param $1 v128) (result v128)
+ (v8x16.swizzle
+ (local.get $0)
+ (local.get $1)
+ )
+ )
)
diff --git a/test/simd.wast.from-wast b/test/simd.wast.from-wast
index b02b77c4e..4fab1e544 100644
--- a/test/simd.wast.from-wast
+++ b/test/simd.wast.from-wast
@@ -970,4 +970,10 @@
(local.get $0)
)
)
+ (func $v8x16.swizzle (; 171 ;) (type $FUNCSIG$VVV) (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 ae0c9828c..5a40e0607 100644
--- a/test/simd.wast.fromBinary
+++ b/test/simd.wast.fromBinary
@@ -970,5 +970,11 @@
(local.get $0)
)
)
+ (func $v8x16.swizzle (; 171 ;) (type $3) (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 a59ca2e5d..2d20bdc97 100644
--- a/test/simd.wast.fromBinary.noDebugInfo
+++ b/test/simd.wast.fromBinary.noDebugInfo
@@ -970,5 +970,11 @@
(local.get $0)
)
)
+ (func $171 (; 171 ;) (type $3) (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 5655fba48..9ed7067b0 100644
--- a/test/spec/simd.wast
+++ b/test/spec/simd.wast
@@ -198,6 +198,7 @@
(func (export "i32x4.load16x4_s") (param $0 i32) (result v128) (i32x4.load16x4_s (local.get $0)))
(func (export "i64x2.load32x2_u") (param $0 i32) (result v128) (i64x2.load32x2_u (local.get $0)))
(func (export "i64x2.load32x2_s") (param $0 i32) (result v128) (i64x2.load32x2_s (local.get $0)))
+ (func (export "v8x16.swizzle") (param $0 v128) (param $1 v128) (result v128) (v8x16.swizzle (local.get $0) (local.get $1)))
)
;; Basic v128 manipulation
@@ -766,3 +767,10 @@
(assert_return (invoke "i32x4.load16x4_u" (i32.const 256)) (v128.const i32x4 0x00009080 0x0000b0a0 0x0000d0c0 0x0000f0e0))
(assert_return (invoke "i64x2.load32x2_s" (i32.const 256)) (v128.const i64x2 0xffffffffb0a09080 0xfffffffff0e0d0c0))
(assert_return (invoke "i64x2.load32x2_u" (i32.const 256)) (v128.const i64x2 0x00000000b0a09080 0x00000000f0e0d0c0))
+(assert_return
+ (invoke "v8x16.swizzle"
+ (v128.const i8x16 0xf0 0xf1 0xf2 0xf3 0xf4 0xf5 0xf6 0xf7 0xf8 0xf9 0xfa 0xfb 0xfc 0xfd 0xfe 0xff)
+ (v128.const i8x16 0 4 8 12 16 255 129 128 127 17 15 13 12 8 4 0)
+ )
+ (v128.const i8x16 0xf0 0xf4 0xf8 0xfc 0x00 0x00 0x00 0x00 0x00 0x00 0xff 0xfd 0xfc 0xf8 0xf4 0xf0)
+)