summaryrefslogtreecommitdiff
path: root/test/binaryen.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/binaryen.js')
-rw-r--r--test/binaryen.js/kitchen-sink.js6
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt531
2 files changed, 353 insertions, 184 deletions
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js
index dd8b87354..463aa33ed 100644
--- a/test/binaryen.js/kitchen-sink.js
+++ b/test/binaryen.js/kitchen-sink.js
@@ -108,7 +108,7 @@ function test_ids() {
console.log("BinaryenSIMDExtractId: " + Binaryen.SIMDExtractId);
console.log("BinaryenSIMDReplaceId: " + Binaryen.SIMDReplaceId);
console.log("BinaryenSIMDShuffleId: " + Binaryen.SIMDShuffleId);
- console.log("BinaryenSIMDBitselectId: " + Binaryen.SIMDBitselectId);
+ console.log("BinaryenSIMDTernaryId: " + Binaryen.SIMDTernaryId);
console.log("BinaryenSIMDShiftId: " + Binaryen.SIMDShiftId);
console.log("MemoryInitId: " + Binaryen.MemoryInitId);
console.log("DataDropId: " + Binaryen.DataDropId);
@@ -370,6 +370,10 @@ function test_core() {
// Other SIMD
module.v8x16.shuffle(module.v128.const(v128_bytes), module.v128.const(v128_bytes), v128_bytes),
module.v128.bitselect(module.v128.const(v128_bytes), module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
+ module.f32x4.qfma(module.v128.const(v128_bytes), module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
+ module.f32x4.qfms(module.v128.const(v128_bytes), module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
+ module.f64x2.qfma(module.v128.const(v128_bytes), module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
+ module.f64x2.qfms(module.v128.const(v128_bytes), module.v128.const(v128_bytes), module.v128.const(v128_bytes)),
// Bulk memory
module.memory.init(0, makeInt32(1024), makeInt32(0), makeInt32(12)),
module.data.drop(0),
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index 72b7d57be..b60a2d759 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -49,7 +49,7 @@ BinaryenAtomicNotifyId: 26
BinaryenSIMDExtractId: 28
BinaryenSIMDReplaceId: 29
BinaryenSIMDShuffleId: 30
-BinaryenSIMDBitselectId: 31
+BinaryenSIMDTernaryId: 31
BinaryenSIMDShiftId: 32
MemoryInitId: 33
DataDropId: 34
@@ -1284,6 +1284,34 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
+ (drop
+ (f32x4.qfma
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f32x4.qfms
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f64x2.qfma
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f64x2.qfms
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
(memory.init 0
(i32.const 1024)
(i32.const 0)
@@ -2724,6 +2752,34 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
+ (drop
+ (f32x4.qfma
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f32x4.qfms
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f64x2.qfma
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f64x2.qfms
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
(memory.init 0
(i32.const 1024)
(i32.const 0)
@@ -4696,157 +4752,209 @@ int main() {
uint8_t t209[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
expressions[576] = BinaryenConst(the_module, BinaryenLiteralVec128(t209));
}
- expressions[577] = BinaryenSIMDBitselect(the_module, expressions[574], expressions[575], expressions[576]);
- expressions[578] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[579] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[580] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
- expressions[581] = BinaryenMemoryInit(the_module, 0, expressions[578], expressions[579], expressions[580]);
- expressions[582] = BinaryenDataDrop(the_module, 0);
- expressions[583] = BinaryenConst(the_module, BinaryenLiteralInt32(2048));
- expressions[584] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[585] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
- expressions[586] = BinaryenMemoryCopy(the_module, expressions[583], expressions[584], expressions[585]);
- expressions[587] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[588] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
- expressions[589] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
- expressions[590] = BinaryenMemoryFill(the_module, expressions[587], expressions[588], expressions[589]);
+ expressions[577] = BinaryenSIMDTernary(the_module, 0, expressions[574], expressions[575], expressions[576]);
+ {
+ uint8_t t210[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[578] = BinaryenConst(the_module, BinaryenLiteralVec128(t210));
+ }
+ {
+ uint8_t t211[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[579] = BinaryenConst(the_module, BinaryenLiteralVec128(t211));
+ }
+ {
+ uint8_t t212[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[580] = BinaryenConst(the_module, BinaryenLiteralVec128(t212));
+ }
+ expressions[581] = BinaryenSIMDTernary(the_module, 1, expressions[578], expressions[579], expressions[580]);
+ {
+ uint8_t t213[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[582] = BinaryenConst(the_module, BinaryenLiteralVec128(t213));
+ }
+ {
+ uint8_t t214[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[583] = BinaryenConst(the_module, BinaryenLiteralVec128(t214));
+ }
+ {
+ uint8_t t215[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[584] = BinaryenConst(the_module, BinaryenLiteralVec128(t215));
+ }
+ expressions[585] = BinaryenSIMDTernary(the_module, 2, expressions[582], expressions[583], expressions[584]);
+ {
+ uint8_t t216[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[586] = BinaryenConst(the_module, BinaryenLiteralVec128(t216));
+ }
+ {
+ uint8_t t217[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[587] = BinaryenConst(the_module, BinaryenLiteralVec128(t217));
+ }
+ {
+ uint8_t t218[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[588] = BinaryenConst(the_module, BinaryenLiteralVec128(t218));
+ }
+ expressions[589] = BinaryenSIMDTernary(the_module, 3, expressions[586], expressions[587], expressions[588]);
+ {
+ 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));
+ }
+ {
+ uint8_t t220[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[591] = BinaryenConst(the_module, BinaryenLiteralVec128(t220));
+ }
+ {
+ uint8_t t221[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+ expressions[592] = BinaryenConst(the_module, BinaryenLiteralVec128(t221));
+ }
+ expressions[593] = BinaryenSIMDTernary(the_module, 4, expressions[590], expressions[591], expressions[592]);
+ expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[595] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[596] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
+ expressions[597] = BinaryenMemoryInit(the_module, 0, expressions[594], expressions[595], expressions[596]);
+ expressions[598] = BinaryenDataDrop(the_module, 0);
+ expressions[599] = BinaryenConst(the_module, BinaryenLiteralInt32(2048));
+ expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[601] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
+ expressions[602] = BinaryenMemoryCopy(the_module, expressions[599], expressions[600], expressions[601]);
+ expressions[603] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[604] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[605] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
+ expressions[606] = BinaryenMemoryFill(the_module, expressions[603], expressions[604], expressions[605]);
{
BinaryenExpressionRef children[] = { 0 };
- expressions[591] = BinaryenBlock(the_module, NULL, children, 0, 0);
- }
- expressions[592] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]);
- expressions[593] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]);
- expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[595] = BinaryenLoop(the_module, "in", expressions[594]);
- expressions[596] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[597] = BinaryenLoop(the_module, NULL, expressions[596]);
- expressions[598] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]);
- expressions[599] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[600] = BinaryenBreak(the_module, "the-nothing", expressions[599], expressions[0]);
- expressions[601] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
- expressions[602] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[601]);
- expressions[603] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
+ expressions[607] = BinaryenBlock(the_module, NULL, children, 0, 0);
+ }
+ expressions[608] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]);
+ expressions[609] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]);
+ expressions[610] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[611] = BinaryenLoop(the_module, "in", expressions[610]);
+ expressions[612] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[613] = BinaryenLoop(the_module, NULL, expressions[612]);
+ expressions[614] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]);
+ expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[616] = BinaryenBreak(the_module, "the-nothing", expressions[615], expressions[0]);
+ expressions[617] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ expressions[618] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[617]);
+ expressions[619] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
{
const char* names[] = { "the-value" };
- expressions[604] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]);
+ expressions[620] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]);
}
- expressions[605] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
const char* names[] = { "the-nothing" };
- expressions[606] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[605], expressions[0]);
- }
- expressions[607] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[608] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[609] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[610] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[607], expressions[608], expressions[609], expressions[610] };
- expressions[611] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
- }
- expressions[612] = BinaryenUnary(the_module, 20, expressions[611]);
- expressions[613] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[614] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[613], expressions[614] };
- expressions[615] = BinaryenCall(the_module, "an-imported", operands, 2, 3);
- }
- expressions[616] = BinaryenUnary(the_module, 25, expressions[615]);
- expressions[617] = BinaryenUnary(the_module, 20, expressions[616]);
- expressions[618] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
- expressions[619] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[620] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[621] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[622] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[619], expressions[620], expressions[621], expressions[622] };
- expressions[623] = BinaryenCallIndirect(the_module, expressions[618], operands, 4, "iiIfF");
- }
- expressions[624] = BinaryenUnary(the_module, 20, expressions[623]);
- expressions[625] = BinaryenLocalGet(the_module, 0, 1);
- expressions[626] = BinaryenDrop(the_module, expressions[625]);
- expressions[627] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
- expressions[628] = BinaryenLocalSet(the_module, 0, expressions[627]);
- expressions[629] = BinaryenConst(the_module, BinaryenLiteralInt32(102));
- expressions[630] = BinaryenLocalTee(the_module, 0, expressions[629]);
- expressions[631] = BinaryenDrop(the_module, expressions[630]);
- expressions[632] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- expressions[633] = BinaryenLoad(the_module, 4, 1, 0, 0, 1, expressions[632]);
- expressions[634] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
- expressions[635] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[634]);
- expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[637] = BinaryenLoad(the_module, 4, 1, 0, 0, 3, expressions[636]);
- expressions[638] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
- expressions[639] = BinaryenLoad(the_module, 8, 1, 2, 8, 4, expressions[638]);
- expressions[640] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 1);
- expressions[641] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 2);
- expressions[642] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]);
- expressions[643] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
- expressions[644] = BinaryenReturn(the_module, expressions[643]);
- expressions[645] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[646] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[647] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[648] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[645], expressions[646], expressions[647], expressions[648] };
- expressions[649] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 1);
- }
- expressions[650] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
- expressions[651] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[652] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[653] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[654] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[651], expressions[652], expressions[653], expressions[654] };
- expressions[655] = BinaryenReturnCallIndirect(the_module, expressions[650], operands, 4, "iiIfF");
- }
- expressions[656] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- {
- BinaryenExpressionRef operands[] = { expressions[656] };
- expressions[657] = BinaryenThrow(the_module, "a-event", operands, 1);
- }
- expressions[658] = BinaryenPop(the_module, 7);
- expressions[659] = BinaryenLocalSet(the_module, 5, expressions[658]);
- expressions[660] = BinaryenLocalGet(the_module, 5, 7);
- expressions[661] = BinaryenBrOnExn(the_module, "try-block", "a-event", expressions[660]);
- expressions[662] = BinaryenRethrow(the_module, expressions[661]);
- {
- BinaryenExpressionRef children[] = { expressions[662] };
- expressions[663] = BinaryenBlock(the_module, "try-block", children, 1, 1);
- }
- expressions[664] = BinaryenDrop(the_module, expressions[663]);
- {
- BinaryenExpressionRef children[] = { expressions[659], expressions[664] };
- expressions[665] = BinaryenBlock(the_module, NULL, children, 2, 0);
- }
- expressions[666] = BinaryenTry(the_module, expressions[657], expressions[665]);
- expressions[667] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[668] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[669] = BinaryenAtomicLoad(the_module, 4, 0, 1, expressions[668]);
- expressions[670] = BinaryenAtomicStore(the_module, 4, 0, expressions[667], expressions[669], 1);
- expressions[671] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[622] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[621], expressions[0]);
+ }
+ expressions[623] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[624] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[625] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[626] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[623], expressions[624], expressions[625], expressions[626] };
+ expressions[627] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
+ }
+ expressions[628] = BinaryenUnary(the_module, 20, expressions[627]);
+ expressions[629] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[630] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[629], expressions[630] };
+ expressions[631] = BinaryenCall(the_module, "an-imported", operands, 2, 3);
+ }
+ expressions[632] = BinaryenUnary(the_module, 25, expressions[631]);
+ expressions[633] = BinaryenUnary(the_module, 20, expressions[632]);
+ expressions[634] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
+ expressions[635] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[637] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[638] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[635], expressions[636], expressions[637], expressions[638] };
+ expressions[639] = BinaryenCallIndirect(the_module, expressions[634], operands, 4, "iiIfF");
+ }
+ expressions[640] = BinaryenUnary(the_module, 20, expressions[639]);
+ expressions[641] = BinaryenLocalGet(the_module, 0, 1);
+ expressions[642] = BinaryenDrop(the_module, expressions[641]);
+ expressions[643] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
+ expressions[644] = BinaryenLocalSet(the_module, 0, expressions[643]);
+ expressions[645] = BinaryenConst(the_module, BinaryenLiteralInt32(102));
+ expressions[646] = BinaryenLocalTee(the_module, 0, expressions[645]);
+ expressions[647] = BinaryenDrop(the_module, expressions[646]);
+ expressions[648] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ expressions[649] = BinaryenLoad(the_module, 4, 1, 0, 0, 1, expressions[648]);
+ expressions[650] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
+ expressions[651] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[650]);
+ expressions[652] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[653] = BinaryenLoad(the_module, 4, 1, 0, 0, 3, expressions[652]);
+ expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
+ expressions[655] = BinaryenLoad(the_module, 8, 1, 2, 8, 4, expressions[654]);
+ expressions[656] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 1);
+ expressions[657] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 2);
+ expressions[658] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]);
+ expressions[659] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
+ expressions[660] = BinaryenReturn(the_module, expressions[659]);
+ expressions[661] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[662] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[663] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[664] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[661], expressions[662], expressions[663], expressions[664] };
+ expressions[665] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 1);
+ }
+ expressions[666] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
+ expressions[667] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[668] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[669] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[670] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[667], expressions[668], expressions[669], expressions[670] };
+ expressions[671] = BinaryenReturnCallIndirect(the_module, expressions[666], operands, 4, "iiIfF");
+ }
expressions[672] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[673] = BinaryenConst(the_module, BinaryenLiteralInt64(0));
- expressions[674] = BinaryenAtomicWait(the_module, expressions[671], expressions[672], expressions[673], 1);
- expressions[675] = BinaryenDrop(the_module, expressions[674]);
- expressions[676] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[677] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[678] = BinaryenAtomicNotify(the_module, expressions[676], expressions[677]);
- expressions[679] = BinaryenDrop(the_module, expressions[678]);
- expressions[680] = BinaryenAtomicFence(the_module);
- expressions[681] = BinaryenPop(the_module, 1);
- expressions[682] = BinaryenPush(the_module, expressions[681]);
- expressions[683] = BinaryenPop(the_module, 2);
- expressions[684] = BinaryenPush(the_module, expressions[683]);
- expressions[685] = BinaryenPop(the_module, 3);
- expressions[686] = BinaryenPush(the_module, expressions[685]);
- expressions[687] = BinaryenPop(the_module, 4);
- expressions[688] = BinaryenPush(the_module, expressions[687]);
- expressions[689] = BinaryenPop(the_module, 5);
- expressions[690] = BinaryenPush(the_module, expressions[689]);
- expressions[691] = BinaryenPop(the_module, 7);
- expressions[692] = BinaryenPush(the_module, expressions[691]);
- expressions[693] = BinaryenNop(the_module);
- expressions[694] = BinaryenUnreachable(the_module);
+ {
+ BinaryenExpressionRef operands[] = { expressions[672] };
+ expressions[673] = BinaryenThrow(the_module, "a-event", operands, 1);
+ }
+ expressions[674] = BinaryenPop(the_module, 7);
+ expressions[675] = BinaryenLocalSet(the_module, 5, expressions[674]);
+ expressions[676] = BinaryenLocalGet(the_module, 5, 7);
+ expressions[677] = BinaryenBrOnExn(the_module, "try-block", "a-event", expressions[676]);
+ expressions[678] = BinaryenRethrow(the_module, expressions[677]);
+ {
+ BinaryenExpressionRef children[] = { expressions[678] };
+ expressions[679] = BinaryenBlock(the_module, "try-block", children, 1, 1);
+ }
+ expressions[680] = BinaryenDrop(the_module, expressions[679]);
+ {
+ BinaryenExpressionRef children[] = { expressions[675], expressions[680] };
+ expressions[681] = BinaryenBlock(the_module, NULL, children, 2, 0);
+ }
+ expressions[682] = BinaryenTry(the_module, expressions[673], expressions[681]);
+ expressions[683] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[684] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[685] = BinaryenAtomicLoad(the_module, 4, 0, 1, expressions[684]);
+ expressions[686] = BinaryenAtomicStore(the_module, 4, 0, expressions[683], expressions[685], 1);
+ expressions[687] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[688] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[689] = BinaryenConst(the_module, BinaryenLiteralInt64(0));
+ expressions[690] = BinaryenAtomicWait(the_module, expressions[687], expressions[688], expressions[689], 1);
+ expressions[691] = BinaryenDrop(the_module, expressions[690]);
+ expressions[692] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[693] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[694] = BinaryenAtomicNotify(the_module, expressions[692], expressions[693]);
+ expressions[695] = BinaryenDrop(the_module, expressions[694]);
+ expressions[696] = BinaryenAtomicFence(the_module);
+ expressions[697] = BinaryenPop(the_module, 1);
+ expressions[698] = BinaryenPush(the_module, expressions[697]);
+ expressions[699] = BinaryenPop(the_module, 2);
+ expressions[700] = BinaryenPush(the_module, expressions[699]);
+ expressions[701] = BinaryenPop(the_module, 3);
+ expressions[702] = BinaryenPush(the_module, expressions[701]);
+ expressions[703] = BinaryenPop(the_module, 4);
+ expressions[704] = BinaryenPush(the_module, expressions[703]);
+ expressions[705] = BinaryenPop(the_module, 5);
+ expressions[706] = BinaryenPush(the_module, expressions[705]);
+ expressions[707] = BinaryenPop(the_module, 7);
+ expressions[708] = BinaryenPush(the_module, expressions[707]);
+ expressions[709] = BinaryenNop(the_module);
+ expressions[710] = BinaryenUnreachable(the_module);
BinaryenExpressionGetId(expressions[30]);
BinaryenExpressionGetType(expressions[30]);
BinaryenUnaryGetOp(expressions[30]);
@@ -4857,26 +4965,26 @@ getExpressionInfo={"id":15,"type":3,"op":6}
(f32.const -33.61199951171875)
)
- expressions[695] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
- BinaryenExpressionGetId(expressions[695]);
- BinaryenExpressionGetType(expressions[695]);
- BinaryenConstGetValueI32(expressions[695]);
+ expressions[711] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
+ BinaryenExpressionGetId(expressions[711]);
+ BinaryenExpressionGetType(expressions[711]);
+ BinaryenConstGetValueI32(expressions[711]);
getExpressionInfo(i32.const)={"id":14,"type":1,"value":5}
- expressions[696] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078));
- BinaryenExpressionGetId(expressions[696]);
- BinaryenExpressionGetType(expressions[696]);
- BinaryenConstGetValueI64Low(expressions[696]);
- BinaryenConstGetValueI64High(expressions[696]);
+ expressions[712] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078));
+ BinaryenExpressionGetId(expressions[712]);
+ BinaryenExpressionGetType(expressions[712]);
+ BinaryenConstGetValueI64Low(expressions[712]);
+ BinaryenConstGetValueI64High(expressions[712]);
getExpressionInfo(i64.const)={"id":14,"type":2,"value":{"low":6,"high":7}}
- expressions[697] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5));
- BinaryenExpressionGetId(expressions[697]);
- BinaryenExpressionGetType(expressions[697]);
- BinaryenConstGetValueF32(expressions[697]);
+ expressions[713] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5));
+ BinaryenExpressionGetId(expressions[713]);
+ BinaryenExpressionGetType(expressions[713]);
+ BinaryenConstGetValueF32(expressions[713]);
getExpressionInfo(f32.const)={"id":14,"type":3,"value":8.5}
- expressions[698] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5));
- BinaryenExpressionGetId(expressions[698]);
- BinaryenExpressionGetType(expressions[698]);
- BinaryenConstGetValueF64(expressions[698]);
+ expressions[714] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5));
+ BinaryenExpressionGetId(expressions[714]);
+ BinaryenExpressionGetType(expressions[714]);
+ BinaryenConstGetValueF64(expressions[714]);
getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
{
BinaryenExpressionRef children[] = { expressions[24], expressions[26], expressions[28], expressions[30], expressions[32],
@@ -4914,32 +5022,33 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
expressions[514], expressions[516], expressions[519], expressions[522], expressions[525], expressions[528],
expressions[531], expressions[534], expressions[537], expressions[540], expressions[543], expressions[546],
expressions[549], expressions[552], expressions[555], expressions[558], expressions[561], expressions[564],
- expressions[567], expressions[570], expressions[573], expressions[577], expressions[581], expressions[582],
- expressions[586], expressions[590], expressions[591], expressions[592], expressions[593], expressions[595],
- expressions[597], expressions[598], expressions[600], expressions[602], expressions[603], expressions[604],
- expressions[606], expressions[612], expressions[617], expressions[624], expressions[626], expressions[628],
- expressions[631], expressions[633], expressions[635], expressions[637], expressions[639], expressions[640],
- expressions[641], expressions[642], expressions[644], expressions[649], expressions[655], expressions[666],
- expressions[670], expressions[675], expressions[679], expressions[680], expressions[682], expressions[684],
- expressions[686], expressions[688], expressions[690], expressions[692], expressions[693], expressions[694] };
- expressions[699] = BinaryenBlock(the_module, "the-value", children, 257, 0);
+ expressions[567], expressions[570], expressions[573], expressions[577], expressions[581], expressions[585],
+ expressions[589], expressions[593], expressions[597], expressions[598], expressions[602], expressions[606],
+ expressions[607], expressions[608], expressions[609], expressions[611], expressions[613], expressions[614],
+ expressions[616], expressions[618], expressions[619], expressions[620], expressions[622], expressions[628],
+ expressions[633], expressions[640], expressions[642], expressions[644], expressions[647], expressions[649],
+ expressions[651], expressions[653], expressions[655], expressions[656], expressions[657], expressions[658],
+ expressions[660], expressions[665], expressions[671], expressions[682], expressions[686], expressions[691],
+ expressions[695], expressions[696], expressions[698], expressions[700], expressions[702], expressions[704],
+ expressions[706], expressions[708], expressions[709], expressions[710] };
+ expressions[715] = BinaryenBlock(the_module, "the-value", children, 261, 0);
}
- expressions[700] = BinaryenDrop(the_module, expressions[699]);
+ expressions[716] = BinaryenDrop(the_module, expressions[715]);
{
- BinaryenExpressionRef children[] = { expressions[700] };
- expressions[701] = BinaryenBlock(the_module, "the-nothing", children, 1, 0);
+ BinaryenExpressionRef children[] = { expressions[716] };
+ expressions[717] = BinaryenBlock(the_module, "the-nothing", children, 1, 0);
}
- expressions[702] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[718] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
- BinaryenExpressionRef children[] = { expressions[701], expressions[702] };
- expressions[703] = BinaryenBlock(the_module, "the-body", children, 2, 0);
+ BinaryenExpressionRef children[] = { expressions[717], expressions[718] };
+ expressions[719] = BinaryenBlock(the_module, "the-body", children, 2, 0);
}
{
BinaryenType varTypes[] = { 1, 7 };
- functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[1], varTypes, 2, expressions[703]);
+ functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[1], varTypes, 2, expressions[719]);
}
- expressions[704] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
- globals[0] = BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[704]);
+ expressions[720] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
+ globals[0] = BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[720]);
{
BinaryenType paramTypes[] = { 1, 4 };
functionTypes[2] = BinaryenAddFunctionType(the_module, "fiF", 3, paramTypes, 2);
@@ -4969,13 +5078,13 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
const char* funcNames[] = { "kitchen()sinker" };
BinaryenSetFunctionTable(the_module, 1, 4294967295, funcNames, 1);
}
- expressions[705] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ expressions[721] = 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[705], expressions[0] };
+ BinaryenExpressionRef segmentOffsets[] = { expressions[721], expressions[0] };
BinaryenIndex segmentSizes[] = { 12, 12 };
BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentPassive, segmentOffsets, segmentSizes, 2, 1);
}
@@ -4983,10 +5092,10 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
BinaryenType paramTypes[] = { 0 };
functionTypes[3] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0);
}
- expressions[706] = BinaryenNop(the_module);
+ expressions[722] = BinaryenNop(the_module);
{
BinaryenType varTypes[] = { 0 };
- functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[3], varTypes, 0, expressions[706]);
+ functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[3], varTypes, 0, expressions[722]);
}
BinaryenSetStart(the_module, functions[1]);
{
@@ -6211,6 +6320,34 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
+ (drop
+ (f32x4.qfma
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f32x4.qfms
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f64x2.qfma
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f64x2.qfms
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
(memory.init 0
(i32.const 1024)
(i32.const 0)
@@ -7653,6 +7790,34 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
(v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
)
)
+ (drop
+ (f32x4.qfma
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f32x4.qfms
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f64x2.qfma
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
+ (drop
+ (f64x2.qfms
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
+ )
+ )
(memory.init 0
(i32.const 1024)
(i32.const 0)