diff options
Diffstat (limited to 'test/example')
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 65 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt | 303 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt.txt | 28 |
3 files changed, 274 insertions, 122 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 95bc398b5..ad61ca528 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -109,11 +109,11 @@ BinaryenExpressionRef makeSIMDShuffle(BinaryenModuleRef module) { return BinaryenSIMDShuffle(module, left, right, (uint8_t[16]) {}); } -BinaryenExpressionRef makeSIMDBitselect(BinaryenModuleRef module) { - BinaryenExpressionRef left = makeVec128(module, v128_bytes); - BinaryenExpressionRef right = makeVec128(module, v128_bytes); - BinaryenExpressionRef cond = makeVec128(module, v128_bytes); - return BinaryenSIMDBitselect(module, left, right, cond); +BinaryenExpressionRef makeSIMDTernary(BinaryenModuleRef module, BinaryenOp op) { + BinaryenExpressionRef a = makeVec128(module, v128_bytes); + BinaryenExpressionRef b = makeVec128(module, v128_bytes); + BinaryenExpressionRef c = makeVec128(module, v128_bytes); + return BinaryenSIMDTernary(module, op, a, b, c); } BinaryenExpressionRef makeSIMDShift(BinaryenModuleRef module, BinaryenOp op) { @@ -472,7 +472,11 @@ void test_core() { makeSIMDShift(module, BinaryenShrUVecI64x2()), // Other SIMD makeSIMDShuffle(module), - makeSIMDBitselect(module), + makeSIMDTernary(module, BinaryenBitselectVec128()), + makeSIMDTernary(module, BinaryenQFMAVecF32x4()), + makeSIMDTernary(module, BinaryenQFMSVecF32x4()), + makeSIMDTernary(module, BinaryenQFMAVecF64x2()), + makeSIMDTernary(module, BinaryenQFMSVecF64x2()), // Bulk memory makeMemoryInit(module), makeDataDrop(module), @@ -489,19 +493,27 @@ void test_core() { BinaryenBreak(module, "the-value", NULL, makeInt32(module, 3)), BinaryenBreak(module, "the-nothing", NULL, NULL), BinaryenSwitch(module, switchValueNames, 1, "the-value", temp8, temp9), - BinaryenSwitch(module, switchBodyNames, 1, "the-nothing", makeInt32(module, 2), NULL), - BinaryenUnary(module, BinaryenEqZInt32(), // check the output type of the call node - BinaryenCall(module, "kitchen()sinker", callOperands4, 4, BinaryenTypeInt32()) - ), - BinaryenUnary(module, BinaryenEqZInt32(), // check the output type of the call node - BinaryenUnary(module, - BinaryenTruncSFloat32ToInt32(), - BinaryenCall(module, "an-imported", callOperands2, 2, BinaryenTypeFloat32()) - ) - ), - BinaryenUnary(module, BinaryenEqZInt32(), // check the output type of the call node - BinaryenCallIndirect(module, makeInt32(module, 2449), callOperands4b, 4, "iiIfF") - ), + BinaryenSwitch( + module, switchBodyNames, 1, "the-nothing", makeInt32(module, 2), NULL), + BinaryenUnary( + module, + BinaryenEqZInt32(), // check the output type of the call node + BinaryenCall( + module, "kitchen()sinker", callOperands4, 4, BinaryenTypeInt32())), + BinaryenUnary(module, + BinaryenEqZInt32(), // check the output type of the call node + BinaryenUnary(module, + BinaryenTruncSFloat32ToInt32(), + BinaryenCall(module, + "an-imported", + callOperands2, + 2, + BinaryenTypeFloat32()))), + BinaryenUnary( + module, + BinaryenEqZInt32(), // check the output type of the call node + BinaryenCallIndirect( + module, makeInt32(module, 2449), callOperands4b, 4, "iiIfF")), BinaryenDrop(module, BinaryenLocalGet(module, 0, BinaryenTypeInt32())), BinaryenLocalSet(module, 0, makeInt32(module, 101)), BinaryenDrop(module, BinaryenLocalTee(module, 0, makeInt32(module, 102))), @@ -523,13 +535,16 @@ void test_core() { // Exception handling BinaryenTry(module, tryBody, catchBody), // Atomics - BinaryenAtomicStore(module, 4, 0, temp6, + BinaryenAtomicStore( + module, + 4, + 0, + temp6, BinaryenAtomicLoad(module, 4, 0, BinaryenTypeInt32(), temp6), - BinaryenTypeInt32() - ), - BinaryenDrop(module, - BinaryenAtomicWait(module, temp6, temp6, temp16, BinaryenTypeInt32()) - ), + BinaryenTypeInt32()), + BinaryenDrop( + module, + BinaryenAtomicWait(module, temp6, temp6, temp16, BinaryenTypeInt32())), BinaryenDrop(module, BinaryenAtomicNotify(module, temp6, temp6)), BinaryenAtomicFence(module), diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index 7f9266207..68c75fee5 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -1241,6 +1241,34 @@ BinaryenFeatureAll: 511 (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) @@ -3246,101 +3274,153 @@ int main() { uint8_t t210[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; expressions[597] = BinaryenConst(the_module, BinaryenLiteralVec128(t210)); } - expressions[598] = BinaryenSIMDBitselect(the_module, expressions[595], expressions[596], expressions[597]); - expressions[599] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[601] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); - expressions[602] = BinaryenMemoryInit(the_module, 0, expressions[599], expressions[600], expressions[601]); - expressions[603] = BinaryenDataDrop(the_module, 0); - expressions[604] = BinaryenConst(the_module, BinaryenLiteralInt32(2048)); - expressions[605] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[606] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); - expressions[607] = BinaryenMemoryCopy(the_module, expressions[604], expressions[605], expressions[606]); - expressions[608] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[609] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); - expressions[610] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); - expressions[611] = BinaryenMemoryFill(the_module, expressions[608], expressions[609], expressions[610]); + expressions[598] = BinaryenSIMDTernary(the_module, 0, expressions[595], expressions[596], expressions[597]); + { + uint8_t t211[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[599] = 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[600] = BinaryenConst(the_module, BinaryenLiteralVec128(t212)); + } + { + uint8_t t213[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[601] = BinaryenConst(the_module, BinaryenLiteralVec128(t213)); + } + expressions[602] = BinaryenSIMDTernary(the_module, 1, expressions[599], expressions[600], expressions[601]); + { + uint8_t t214[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[603] = 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[604] = BinaryenConst(the_module, BinaryenLiteralVec128(t215)); + } + { + uint8_t t216[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[605] = BinaryenConst(the_module, BinaryenLiteralVec128(t216)); + } + expressions[606] = BinaryenSIMDTernary(the_module, 2, expressions[603], expressions[604], expressions[605]); + { + uint8_t t217[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[607] = 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[608] = BinaryenConst(the_module, BinaryenLiteralVec128(t218)); + } + { + uint8_t t219[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[609] = BinaryenConst(the_module, BinaryenLiteralVec128(t219)); + } + expressions[610] = BinaryenSIMDTernary(the_module, 3, expressions[607], expressions[608], expressions[609]); + { + 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)); + } + { + uint8_t t221[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[612] = BinaryenConst(the_module, BinaryenLiteralVec128(t221)); + } + { + uint8_t t222[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}; + expressions[613] = BinaryenConst(the_module, BinaryenLiteralVec128(t222)); + } + expressions[614] = BinaryenSIMDTernary(the_module, 4, expressions[611], expressions[612], expressions[613]); + expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); + expressions[616] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[617] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); + expressions[618] = BinaryenMemoryInit(the_module, 0, expressions[615], expressions[616], expressions[617]); + expressions[619] = BinaryenDataDrop(the_module, 0); + expressions[620] = BinaryenConst(the_module, BinaryenLiteralInt32(2048)); + expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); + expressions[622] = BinaryenConst(the_module, BinaryenLiteralInt32(12)); + expressions[623] = BinaryenMemoryCopy(the_module, expressions[620], expressions[621], expressions[622]); + expressions[624] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[625] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[626] = BinaryenConst(the_module, BinaryenLiteralInt32(1024)); + expressions[627] = BinaryenMemoryFill(the_module, expressions[624], expressions[625], expressions[626]); { BinaryenExpressionRef children[] = { 0 }; - expressions[612] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto()); - } - expressions[613] = BinaryenIf(the_module, expressions[18], expressions[19], expressions[20]); - expressions[614] = BinaryenIf(the_module, expressions[21], expressions[22], expressions[0]); - expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[616] = BinaryenLoop(the_module, "in", expressions[615]); - expressions[617] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[618] = BinaryenLoop(the_module, NULL, expressions[617]); - expressions[619] = BinaryenBreak(the_module, "the-value", expressions[23], expressions[24]); - expressions[620] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[621] = BinaryenBreak(the_module, "the-nothing", expressions[620], expressions[0]); - expressions[622] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); - expressions[623] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[622]); - expressions[624] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); + expressions[628] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto()); + } + expressions[629] = BinaryenIf(the_module, expressions[18], expressions[19], expressions[20]); + expressions[630] = BinaryenIf(the_module, expressions[21], expressions[22], expressions[0]); + expressions[631] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[632] = BinaryenLoop(the_module, "in", expressions[631]); + expressions[633] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[634] = BinaryenLoop(the_module, NULL, expressions[633]); + expressions[635] = BinaryenBreak(the_module, "the-value", expressions[23], expressions[24]); + expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[637] = BinaryenBreak(the_module, "the-nothing", expressions[636], expressions[0]); + expressions[638] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); + expressions[639] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[638]); + expressions[640] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); { const char* names[] = { "the-value" }; - expressions[625] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[25], expressions[26]); + expressions[641] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[25], expressions[26]); } - expressions[626] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[642] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); { const char* names[] = { "the-nothing" }; - expressions[627] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[626], expressions[0]); + expressions[643] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[642], expressions[0]); } { BinaryenExpressionRef operands[] = { expressions[10], expressions[11], expressions[12], expressions[13] }; - expressions[628] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1); + expressions[644] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1); } - expressions[629] = BinaryenUnary(the_module, 20, expressions[628]); + expressions[645] = BinaryenUnary(the_module, 20, expressions[644]); { BinaryenExpressionRef operands[] = { expressions[8], expressions[9] }; - expressions[630] = BinaryenCall(the_module, "an-imported", operands, 2, 3); + expressions[646] = BinaryenCall(the_module, "an-imported", operands, 2, 3); } - expressions[631] = BinaryenUnary(the_module, 25, expressions[630]); - expressions[632] = BinaryenUnary(the_module, 20, expressions[631]); - expressions[633] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[647] = BinaryenUnary(the_module, 25, expressions[646]); + expressions[648] = BinaryenUnary(the_module, 20, expressions[647]); + expressions[649] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); { BinaryenExpressionRef operands[] = { expressions[14], expressions[15], expressions[16], expressions[17] }; - expressions[634] = BinaryenCallIndirect(the_module, expressions[633], operands, 4, "iiIfF"); - } - expressions[635] = BinaryenUnary(the_module, 20, expressions[634]); - expressions[636] = BinaryenLocalGet(the_module, 0, 1); - expressions[637] = BinaryenDrop(the_module, expressions[636]); - expressions[638] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); - expressions[639] = BinaryenLocalSet(the_module, 0, expressions[638]); - expressions[640] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); - expressions[641] = BinaryenLocalTee(the_module, 0, expressions[640]); - expressions[642] = BinaryenDrop(the_module, expressions[641]); - expressions[643] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[644] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[643]); - expressions[645] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); - expressions[646] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[645]); - expressions[647] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[648] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[647]); - expressions[649] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); - expressions[650] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[649]); - expressions[651] = BinaryenStore(the_module, 4, 0, 0, expressions[30], expressions[31], 1); - expressions[652] = BinaryenStore(the_module, 8, 2, 4, expressions[32], expressions[33], 2); - expressions[653] = BinaryenSelect(the_module, expressions[27], expressions[28], expressions[29]); - expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); - expressions[655] = BinaryenReturn(the_module, expressions[654]); + expressions[650] = BinaryenCallIndirect(the_module, expressions[649], operands, 4, "iiIfF"); + } + expressions[651] = BinaryenUnary(the_module, 20, expressions[650]); + expressions[652] = BinaryenLocalGet(the_module, 0, 1); + expressions[653] = BinaryenDrop(the_module, expressions[652]); + expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); + expressions[655] = BinaryenLocalSet(the_module, 0, expressions[654]); + expressions[656] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); + expressions[657] = BinaryenLocalTee(the_module, 0, expressions[656]); + expressions[658] = BinaryenDrop(the_module, expressions[657]); + expressions[659] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[660] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[659]); + expressions[661] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); + expressions[662] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[661]); + expressions[663] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[664] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[663]); + expressions[665] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); + expressions[666] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[665]); + expressions[667] = BinaryenStore(the_module, 4, 0, 0, expressions[30], expressions[31], 1); + expressions[668] = BinaryenStore(the_module, 8, 2, 4, expressions[32], expressions[33], 2); + expressions[669] = BinaryenSelect(the_module, expressions[27], expressions[28], expressions[29]); + expressions[670] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); + expressions[671] = BinaryenReturn(the_module, expressions[670]); { BinaryenExpressionRef operands[] = { expressions[10], expressions[11], expressions[12], expressions[13] }; - expressions[656] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 1); + expressions[672] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 1); } - expressions[657] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[673] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); { BinaryenExpressionRef operands[] = { expressions[14], expressions[15], expressions[16], expressions[17] }; - expressions[658] = BinaryenReturnCallIndirect(the_module, expressions[657], operands, 4, "iiIfF"); - } - expressions[659] = BinaryenTry(the_module, expressions[35], expressions[43]); - expressions[660] = BinaryenAtomicLoad(the_module, 4, 0, 1, expressions[23]); - expressions[661] = BinaryenAtomicStore(the_module, 4, 0, expressions[23], expressions[660], 1); - expressions[662] = BinaryenAtomicWait(the_module, expressions[23], expressions[23], expressions[33], 1); - expressions[663] = BinaryenDrop(the_module, expressions[662]); - expressions[664] = BinaryenAtomicNotify(the_module, expressions[23], expressions[23]); - expressions[665] = BinaryenDrop(the_module, expressions[664]); - expressions[666] = BinaryenAtomicFence(the_module); - expressions[667] = BinaryenNop(the_module); - expressions[668] = BinaryenUnreachable(the_module); + expressions[674] = BinaryenReturnCallIndirect(the_module, expressions[673], operands, 4, "iiIfF"); + } + expressions[675] = BinaryenTry(the_module, expressions[35], expressions[43]); + expressions[676] = BinaryenAtomicLoad(the_module, 4, 0, 1, expressions[23]); + expressions[677] = BinaryenAtomicStore(the_module, 4, 0, expressions[23], expressions[676], 1); + expressions[678] = BinaryenAtomicWait(the_module, expressions[23], expressions[23], expressions[33], 1); + expressions[679] = BinaryenDrop(the_module, expressions[678]); + expressions[680] = BinaryenAtomicNotify(the_module, expressions[23], expressions[23]); + expressions[681] = BinaryenDrop(the_module, expressions[680]); + expressions[682] = BinaryenAtomicFence(the_module); + expressions[683] = BinaryenNop(the_module); + expressions[684] = BinaryenUnreachable(the_module); BinaryenExpressionPrint(expressions[51]); (f32.neg (f32.const -33.61199951171875) @@ -3381,33 +3461,34 @@ int main() { expressions[535], expressions[537], expressions[540], expressions[543], expressions[546], expressions[549], expressions[552], expressions[555], expressions[558], expressions[561], expressions[564], expressions[567], expressions[570], expressions[573], expressions[576], expressions[579], expressions[582], expressions[585], - expressions[588], expressions[591], expressions[594], expressions[598], expressions[602], expressions[603], - expressions[607], expressions[611], expressions[612], expressions[613], expressions[614], expressions[616], - expressions[618], expressions[619], expressions[621], expressions[623], expressions[624], expressions[625], - expressions[627], expressions[629], expressions[632], expressions[635], expressions[637], expressions[639], - expressions[642], expressions[644], expressions[646], expressions[648], expressions[650], expressions[651], - expressions[652], expressions[653], expressions[655], expressions[656], expressions[658], expressions[659], - expressions[661], expressions[663], expressions[665], expressions[666], expressions[667], expressions[668] }; - expressions[669] = BinaryenBlock(the_module, "the-value", children, 251, BinaryenTypeAuto()); + expressions[588], expressions[591], expressions[594], expressions[598], expressions[602], expressions[606], + expressions[610], expressions[614], expressions[618], expressions[619], expressions[623], expressions[627], + expressions[628], expressions[629], expressions[630], expressions[632], expressions[634], expressions[635], + expressions[637], expressions[639], expressions[640], expressions[641], expressions[643], expressions[645], + expressions[648], expressions[651], expressions[653], expressions[655], expressions[658], expressions[660], + expressions[662], expressions[664], expressions[666], expressions[667], expressions[668], expressions[669], + expressions[671], expressions[672], expressions[674], expressions[675], expressions[677], expressions[679], + expressions[681], expressions[682], expressions[683], expressions[684] }; + expressions[685] = BinaryenBlock(the_module, "the-value", children, 255, BinaryenTypeAuto()); } - expressions[670] = BinaryenDrop(the_module, expressions[669]); + expressions[686] = BinaryenDrop(the_module, expressions[685]); { - BinaryenExpressionRef children[] = { expressions[670] }; - expressions[671] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto()); + BinaryenExpressionRef children[] = { expressions[686] }; + expressions[687] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto()); } - expressions[672] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[688] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); { - BinaryenExpressionRef children[] = { expressions[671], expressions[672] }; - expressions[673] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto()); + BinaryenExpressionRef children[] = { expressions[687], expressions[688] }; + expressions[689] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto()); } { BinaryenType varTypes[] = { 1, 7 }; - functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 2, expressions[673]); + functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 2, expressions[689]); } - expressions[674] = BinaryenConst(the_module, BinaryenLiteralInt32(7)); - globals[0] = BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[674]); - expressions[675] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5)); - globals[1] = BinaryenAddGlobal(the_module, "a-mutable-global", 3, 1, expressions[675]); + expressions[690] = BinaryenConst(the_module, BinaryenLiteralInt32(7)); + globals[0] = BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[690]); + expressions[691] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5)); + globals[1] = BinaryenAddGlobal(the_module, "a-mutable-global", 3, 1, expressions[691]); { BinaryenType paramTypes[] = { 1, 4 }; functionTypes[2] = BinaryenAddFunctionType(the_module, "fiF", 3, paramTypes, 2); @@ -3419,13 +3500,13 @@ int main() { const char* funcNames[] = { "kitchen()sinker" }; BinaryenSetFunctionTable(the_module, 1, 1, funcNames, 1); } - expressions[676] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); + expressions[692] = 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[676], expressions[0] }; + BinaryenExpressionRef segmentOffsets[] = { expressions[692], expressions[0] }; BinaryenIndex segmentSizes[] = { 12, 12 }; BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentPassive, segmentOffsets, segmentSizes, 2, 1); } @@ -3433,10 +3514,10 @@ int main() { BinaryenType paramTypes[] = { 0 }; functionTypes[3] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0); } - expressions[677] = BinaryenNop(the_module); + expressions[693] = BinaryenNop(the_module); { BinaryenType varTypes[] = { 0 }; - functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[3], varTypes, 0, expressions[677]); + functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[3], varTypes, 0, expressions[693]); } BinaryenSetStart(the_module, functions[1]); { @@ -4667,6 +4748,34 @@ int main() { (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) diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt index 792656d96..4a9660ea1 100644 --- a/test/example/c-api-kitchen-sink.txt.txt +++ b/test/example/c-api-kitchen-sink.txt.txt @@ -1220,6 +1220,34 @@ (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) |