diff options
Diffstat (limited to 'test/example')
-rw-r--r-- | test/example/c-api-kitchen-sink.c | 8 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt | 490 | ||||
-rw-r--r-- | test/example/c-api-kitchen-sink.txt.txt | 40 |
3 files changed, 342 insertions, 196 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 9271e3371..d056d0e75 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -138,6 +138,14 @@ void test_core() { makeUnary(module, BinaryenTruncSFloat64ToInt64(), 4), makeUnary(module, BinaryenTruncUFloat64ToInt32(), 4), makeUnary(module, BinaryenTruncUFloat64ToInt64(), 4), + makeUnary(module, BinaryenTruncSatSFloat32ToInt32(), 3), + makeUnary(module, BinaryenTruncSatSFloat32ToInt64(), 3), + makeUnary(module, BinaryenTruncSatUFloat32ToInt32(), 3), + makeUnary(module, BinaryenTruncSatUFloat32ToInt64(), 3), + makeUnary(module, BinaryenTruncSatSFloat64ToInt32(), 4), + makeUnary(module, BinaryenTruncSatSFloat64ToInt64(), 4), + makeUnary(module, BinaryenTruncSatUFloat64ToInt32(), 4), + makeUnary(module, BinaryenTruncSatUFloat64ToInt64(), 4), makeUnary(module, BinaryenReinterpretFloat32(), 3), makeUnary(module, BinaryenReinterpretFloat64(), 4), makeUnary(module, BinaryenConvertSInt32ToFloat32(), 1), diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index faf3c336b..786cf5243 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -141,6 +141,46 @@ BinaryenTypeAuto: -1 ) ) (drop + (i32.trunc_s:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i64.trunc_s:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i32.trunc_u:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i64.trunc_u:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i32.trunc_s:sat/f64 + (f64.const -9005.841) + ) + ) + (drop + (i64.trunc_s:sat/f64 + (f64.const -9005.841) + ) + ) + (drop + (i32.trunc_u:sat/f64 + (f64.const -9005.841) + ) + ) + (drop + (i64.trunc_u:sat/f64 + (f64.const -9005.841) + ) + ) + (drop (i32.reinterpret/f32 (f32.const -33.61199951171875) ) @@ -1146,193 +1186,209 @@ int main() { expressions[75] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); expressions[76] = BinaryenUnary(the_module, 32, expressions[75]); expressions[77] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[78] = BinaryenUnary(the_module, 33, expressions[77]); - expressions[79] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[80] = BinaryenUnary(the_module, 34, expressions[79]); - expressions[81] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[82] = BinaryenUnary(the_module, 35, expressions[81]); - expressions[83] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[84] = BinaryenUnary(the_module, 36, expressions[83]); - expressions[85] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[86] = BinaryenUnary(the_module, 37, expressions[85]); - expressions[87] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[88] = BinaryenUnary(the_module, 38, expressions[87]); - expressions[89] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[90] = BinaryenUnary(the_module, 39, expressions[89]); - expressions[91] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[92] = BinaryenUnary(the_module, 40, expressions[91]); - expressions[93] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[94] = BinaryenUnary(the_module, 41, expressions[93]); - expressions[95] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[96] = BinaryenUnary(the_module, 42, expressions[95]); - expressions[97] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[98] = BinaryenUnary(the_module, 43, expressions[97]); - expressions[99] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[100] = BinaryenUnary(the_module, 44, expressions[99]); + expressions[78] = BinaryenUnary(the_module, 52, expressions[77]); + expressions[79] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[80] = BinaryenUnary(the_module, 56, expressions[79]); + expressions[81] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[82] = BinaryenUnary(the_module, 53, expressions[81]); + expressions[83] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[84] = BinaryenUnary(the_module, 57, expressions[83]); + expressions[85] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[86] = BinaryenUnary(the_module, 54, expressions[85]); + expressions[87] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[88] = BinaryenUnary(the_module, 58, expressions[87]); + expressions[89] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[90] = BinaryenUnary(the_module, 55, expressions[89]); + expressions[91] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[92] = BinaryenUnary(the_module, 59, expressions[91]); + expressions[93] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[94] = BinaryenUnary(the_module, 33, expressions[93]); + expressions[95] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[96] = BinaryenUnary(the_module, 34, expressions[95]); + expressions[97] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[98] = BinaryenUnary(the_module, 35, expressions[97]); + expressions[99] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[100] = BinaryenUnary(the_module, 36, expressions[99]); expressions[101] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[102] = BinaryenUnary(the_module, 45, expressions[101]); - expressions[103] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[104] = BinaryenUnary(the_module, 46, expressions[103]); - expressions[105] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[106] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[107] = BinaryenBinary(the_module, 0, expressions[106], expressions[105]); - expressions[108] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[109] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[110] = BinaryenBinary(the_module, 64, expressions[109], expressions[108]); - expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[112] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[113] = BinaryenBinary(the_module, 3, expressions[112], expressions[111]); - expressions[114] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[115] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[116] = BinaryenBinary(the_module, 29, expressions[115], expressions[114]); - expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[118] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[119] = BinaryenBinary(the_module, 30, expressions[118], expressions[117]); - expressions[120] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[121] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[122] = BinaryenBinary(the_module, 6, expressions[121], expressions[120]); - expressions[123] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[124] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[125] = BinaryenBinary(the_module, 7, expressions[124], expressions[123]); - expressions[126] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[127] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[128] = BinaryenBinary(the_module, 33, expressions[127], expressions[126]); - expressions[129] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[130] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[131] = BinaryenBinary(the_module, 9, expressions[130], expressions[129]); - expressions[132] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[133] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[134] = BinaryenBinary(the_module, 35, expressions[133], expressions[132]); - expressions[135] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[136] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[137] = BinaryenBinary(the_module, 36, expressions[136], expressions[135]); - expressions[138] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[139] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[140] = BinaryenBinary(the_module, 12, expressions[139], expressions[138]); - expressions[141] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[142] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[143] = BinaryenBinary(the_module, 13, expressions[142], expressions[141]); - expressions[144] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[145] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[146] = BinaryenBinary(the_module, 39, expressions[145], expressions[144]); - expressions[147] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[148] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[149] = BinaryenBinary(the_module, 53, expressions[148], expressions[147]); - expressions[150] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[151] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[152] = BinaryenBinary(the_module, 67, expressions[151], expressions[150]); - expressions[153] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[154] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[155] = BinaryenBinary(the_module, 55, expressions[154], expressions[153]); - expressions[156] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[157] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[158] = BinaryenBinary(the_module, 69, expressions[157], expressions[156]); - expressions[159] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[160] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[161] = BinaryenBinary(the_module, 15, expressions[160], expressions[159]); - expressions[162] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[163] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[164] = BinaryenBinary(the_module, 58, expressions[163], expressions[162]); - expressions[165] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[166] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[167] = BinaryenBinary(the_module, 17, expressions[166], expressions[165]); - expressions[168] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[169] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[170] = BinaryenBinary(the_module, 43, expressions[169], expressions[168]); - expressions[171] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[172] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[173] = BinaryenBinary(the_module, 44, expressions[172], expressions[171]); - expressions[174] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[175] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[176] = BinaryenBinary(the_module, 20, expressions[175], expressions[174]); - expressions[177] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[178] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[179] = BinaryenBinary(the_module, 46, expressions[178], expressions[177]); - expressions[180] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[181] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[182] = BinaryenBinary(the_module, 22, expressions[181], expressions[180]); - expressions[183] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); - expressions[184] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); - expressions[185] = BinaryenBinary(the_module, 23, expressions[184], expressions[183]); - expressions[186] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); - expressions[187] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); - expressions[188] = BinaryenBinary(the_module, 49, expressions[187], expressions[186]); - expressions[189] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[190] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[191] = BinaryenBinary(the_module, 59, expressions[190], expressions[189]); - expressions[192] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[193] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[194] = BinaryenBinary(the_module, 73, expressions[193], expressions[192]); - expressions[195] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); - expressions[196] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); - expressions[197] = BinaryenBinary(the_module, 74, expressions[196], expressions[195]); - expressions[198] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); - expressions[199] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); - expressions[200] = BinaryenBinary(the_module, 62, expressions[199], expressions[198]); + expressions[102] = BinaryenUnary(the_module, 37, expressions[101]); + expressions[103] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[104] = BinaryenUnary(the_module, 38, expressions[103]); + expressions[105] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[106] = BinaryenUnary(the_module, 39, expressions[105]); + expressions[107] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[108] = BinaryenUnary(the_module, 40, expressions[107]); + expressions[109] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[110] = BinaryenUnary(the_module, 41, expressions[109]); + expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[112] = BinaryenUnary(the_module, 42, expressions[111]); + expressions[113] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[114] = BinaryenUnary(the_module, 43, expressions[113]); + expressions[115] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[116] = BinaryenUnary(the_module, 44, expressions[115]); + expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[118] = BinaryenUnary(the_module, 45, expressions[117]); + expressions[119] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[120] = BinaryenUnary(the_module, 46, expressions[119]); + expressions[121] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[122] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[123] = BinaryenBinary(the_module, 0, expressions[122], expressions[121]); + expressions[124] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[125] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[126] = BinaryenBinary(the_module, 64, expressions[125], expressions[124]); + expressions[127] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[128] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[129] = BinaryenBinary(the_module, 3, expressions[128], expressions[127]); + expressions[130] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[131] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[132] = BinaryenBinary(the_module, 29, expressions[131], expressions[130]); + expressions[133] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[134] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[135] = BinaryenBinary(the_module, 30, expressions[134], expressions[133]); + expressions[136] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[137] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[138] = BinaryenBinary(the_module, 6, expressions[137], expressions[136]); + expressions[139] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[140] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[141] = BinaryenBinary(the_module, 7, expressions[140], expressions[139]); + expressions[142] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[143] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[144] = BinaryenBinary(the_module, 33, expressions[143], expressions[142]); + expressions[145] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[146] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[147] = BinaryenBinary(the_module, 9, expressions[146], expressions[145]); + expressions[148] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[149] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[150] = BinaryenBinary(the_module, 35, expressions[149], expressions[148]); + expressions[151] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[152] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[153] = BinaryenBinary(the_module, 36, expressions[152], expressions[151]); + expressions[154] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[155] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[156] = BinaryenBinary(the_module, 12, expressions[155], expressions[154]); + expressions[157] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[158] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[159] = BinaryenBinary(the_module, 13, expressions[158], expressions[157]); + expressions[160] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[161] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[162] = BinaryenBinary(the_module, 39, expressions[161], expressions[160]); + expressions[163] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[164] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[165] = BinaryenBinary(the_module, 53, expressions[164], expressions[163]); + expressions[166] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[167] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[168] = BinaryenBinary(the_module, 67, expressions[167], expressions[166]); + expressions[169] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[170] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[171] = BinaryenBinary(the_module, 55, expressions[170], expressions[169]); + expressions[172] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[173] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[174] = BinaryenBinary(the_module, 69, expressions[173], expressions[172]); + expressions[175] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[176] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[177] = BinaryenBinary(the_module, 15, expressions[176], expressions[175]); + expressions[178] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[179] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[180] = BinaryenBinary(the_module, 58, expressions[179], expressions[178]); + expressions[181] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[182] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[183] = BinaryenBinary(the_module, 17, expressions[182], expressions[181]); + expressions[184] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[185] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[186] = BinaryenBinary(the_module, 43, expressions[185], expressions[184]); + expressions[187] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[188] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[189] = BinaryenBinary(the_module, 44, expressions[188], expressions[187]); + expressions[190] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[191] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[192] = BinaryenBinary(the_module, 20, expressions[191], expressions[190]); + expressions[193] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[194] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[195] = BinaryenBinary(the_module, 46, expressions[194], expressions[193]); + expressions[196] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[197] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[198] = BinaryenBinary(the_module, 22, expressions[197], expressions[196]); + expressions[199] = BinaryenConst(the_module, BinaryenLiteralInt32(-11)); + expressions[200] = BinaryenConst(the_module, BinaryenLiteralInt32(-10)); + expressions[201] = BinaryenBinary(the_module, 23, expressions[200], expressions[199]); + expressions[202] = BinaryenConst(the_module, BinaryenLiteralInt64(-23)); + expressions[203] = BinaryenConst(the_module, BinaryenLiteralInt64(-22)); + expressions[204] = BinaryenBinary(the_module, 49, expressions[203], expressions[202]); + expressions[205] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[206] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[207] = BinaryenBinary(the_module, 59, expressions[206], expressions[205]); + expressions[208] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[209] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[210] = BinaryenBinary(the_module, 73, expressions[209], expressions[208]); + expressions[211] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33)); + expressions[212] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84)); + expressions[213] = BinaryenBinary(the_module, 74, expressions[212], expressions[211]); + expressions[214] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5)); + expressions[215] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612)); + expressions[216] = BinaryenBinary(the_module, 62, expressions[215], expressions[214]); { BinaryenExpressionRef children[] = { 0 }; - expressions[201] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto()); - } - expressions[202] = BinaryenIf(the_module, expressions[17], expressions[18], expressions[19]); - expressions[203] = BinaryenIf(the_module, expressions[20], expressions[21], expressions[0]); - expressions[204] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[205] = BinaryenLoop(the_module, "in", expressions[204]); - expressions[206] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); - expressions[207] = BinaryenLoop(the_module, NULL, expressions[206]); - expressions[208] = BinaryenBreak(the_module, "the-value", expressions[22], expressions[23]); - expressions[209] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[210] = BinaryenBreak(the_module, "the-nothing", expressions[209], expressions[0]); - expressions[211] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); - expressions[212] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[211]); - expressions[213] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); + expressions[217] = BinaryenBlock(the_module, NULL, children, 0, BinaryenTypeAuto()); + } + expressions[218] = BinaryenIf(the_module, expressions[17], expressions[18], expressions[19]); + expressions[219] = BinaryenIf(the_module, expressions[20], expressions[21], expressions[0]); + expressions[220] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[221] = BinaryenLoop(the_module, "in", expressions[220]); + expressions[222] = BinaryenConst(the_module, BinaryenLiteralInt32(0)); + expressions[223] = BinaryenLoop(the_module, NULL, expressions[222]); + expressions[224] = BinaryenBreak(the_module, "the-value", expressions[22], expressions[23]); + expressions[225] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[226] = BinaryenBreak(the_module, "the-nothing", expressions[225], expressions[0]); + expressions[227] = BinaryenConst(the_module, BinaryenLiteralInt32(3)); + expressions[228] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[227]); + expressions[229] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]); { const char* names[] = { "the-value" }; - expressions[214] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[24], expressions[25]); + expressions[230] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[24], expressions[25]); } - expressions[215] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[231] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); { const char* names[] = { "the-nothing" }; - expressions[216] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[215], expressions[0]); + expressions[232] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[231], expressions[0]); } { BinaryenExpressionRef operands[] = { expressions[9], expressions[10], expressions[11], expressions[12] }; - expressions[217] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1); + expressions[233] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1); } - expressions[218] = BinaryenUnary(the_module, 20, expressions[217]); + expressions[234] = BinaryenUnary(the_module, 20, expressions[233]); { BinaryenExpressionRef operands[] = { expressions[7], expressions[8] }; - expressions[219] = BinaryenCall(the_module, "an-imported", operands, 2, 3); + expressions[235] = BinaryenCall(the_module, "an-imported", operands, 2, 3); } - expressions[220] = BinaryenUnary(the_module, 25, expressions[219]); - expressions[221] = BinaryenUnary(the_module, 20, expressions[220]); - expressions[222] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); + expressions[236] = BinaryenUnary(the_module, 25, expressions[235]); + expressions[237] = BinaryenUnary(the_module, 20, expressions[236]); + expressions[238] = BinaryenConst(the_module, BinaryenLiteralInt32(2449)); { BinaryenExpressionRef operands[] = { expressions[13], expressions[14], expressions[15], expressions[16] }; - expressions[223] = BinaryenCallIndirect(the_module, expressions[222], operands, 4, "iiIfF"); - } - expressions[224] = BinaryenUnary(the_module, 20, expressions[223]); - expressions[225] = BinaryenGetLocal(the_module, 0, 1); - expressions[226] = BinaryenDrop(the_module, expressions[225]); - expressions[227] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); - expressions[228] = BinaryenSetLocal(the_module, 0, expressions[227]); - expressions[229] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); - expressions[230] = BinaryenTeeLocal(the_module, 0, expressions[229]); - expressions[231] = BinaryenDrop(the_module, expressions[230]); - expressions[232] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); - expressions[233] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[232]); - expressions[234] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); - expressions[235] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[234]); - expressions[236] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); - expressions[237] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[236]); - expressions[238] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); - expressions[239] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[238]); - expressions[240] = BinaryenStore(the_module, 4, 0, 0, expressions[29], expressions[30], 1); - expressions[241] = BinaryenStore(the_module, 8, 2, 4, expressions[31], expressions[32], 2); - expressions[242] = BinaryenSelect(the_module, expressions[26], expressions[27], expressions[28]); - expressions[243] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); - expressions[244] = BinaryenReturn(the_module, expressions[243]); - expressions[245] = BinaryenNop(the_module); - expressions[246] = BinaryenUnreachable(the_module); + expressions[239] = BinaryenCallIndirect(the_module, expressions[238], operands, 4, "iiIfF"); + } + expressions[240] = BinaryenUnary(the_module, 20, expressions[239]); + expressions[241] = BinaryenGetLocal(the_module, 0, 1); + expressions[242] = BinaryenDrop(the_module, expressions[241]); + expressions[243] = BinaryenConst(the_module, BinaryenLiteralInt32(101)); + expressions[244] = BinaryenSetLocal(the_module, 0, expressions[243]); + expressions[245] = BinaryenConst(the_module, BinaryenLiteralInt32(102)); + expressions[246] = BinaryenTeeLocal(the_module, 0, expressions[245]); + expressions[247] = BinaryenDrop(the_module, expressions[246]); + expressions[248] = BinaryenConst(the_module, BinaryenLiteralInt32(1)); + expressions[249] = BinaryenLoad(the_module, 4, 0, 0, 0, 1, expressions[248]); + expressions[250] = BinaryenConst(the_module, BinaryenLiteralInt32(8)); + expressions[251] = BinaryenLoad(the_module, 2, 1, 2, 1, 2, expressions[250]); + expressions[252] = BinaryenConst(the_module, BinaryenLiteralInt32(2)); + expressions[253] = BinaryenLoad(the_module, 4, 0, 0, 0, 3, expressions[252]); + expressions[254] = BinaryenConst(the_module, BinaryenLiteralInt32(9)); + expressions[255] = BinaryenLoad(the_module, 8, 0, 2, 8, 4, expressions[254]); + expressions[256] = BinaryenStore(the_module, 4, 0, 0, expressions[29], expressions[30], 1); + expressions[257] = BinaryenStore(the_module, 8, 2, 4, expressions[31], expressions[32], 2); + expressions[258] = BinaryenSelect(the_module, expressions[26], expressions[27], expressions[28]); + expressions[259] = BinaryenConst(the_module, BinaryenLiteralInt32(1337)); + expressions[260] = BinaryenReturn(the_module, expressions[259]); + expressions[261] = BinaryenNop(the_module); + expressions[262] = BinaryenUnreachable(the_module); BinaryenExpressionPrint(expressions[40]); (f32.neg (f32.const -33.61199951171875) @@ -1344,36 +1400,38 @@ int main() { expressions[68], expressions[70], expressions[72], expressions[74], expressions[76], expressions[78], expressions[80], expressions[82], expressions[84], expressions[86], expressions[88], expressions[90], expressions[92], expressions[94], expressions[96], expressions[98], expressions[100], expressions[102], - expressions[104], expressions[107], expressions[110], expressions[113], expressions[116], expressions[119], - expressions[122], expressions[125], expressions[128], expressions[131], expressions[134], expressions[137], - expressions[140], expressions[143], expressions[146], expressions[149], expressions[152], expressions[155], - expressions[158], expressions[161], expressions[164], expressions[167], expressions[170], expressions[173], - expressions[176], expressions[179], expressions[182], expressions[185], expressions[188], expressions[191], - expressions[194], expressions[197], expressions[200], expressions[201], expressions[202], expressions[203], - expressions[205], expressions[207], expressions[208], expressions[210], expressions[212], expressions[213], - expressions[214], expressions[216], expressions[218], expressions[221], expressions[224], expressions[226], - expressions[228], expressions[231], expressions[233], expressions[235], expressions[237], expressions[239], - expressions[240], expressions[241], expressions[242], expressions[244], expressions[245], expressions[246] }; - expressions[247] = BinaryenBlock(the_module, "the-value", children, 95, BinaryenTypeAuto()); + expressions[104], expressions[106], expressions[108], expressions[110], expressions[112], expressions[114], + expressions[116], expressions[118], expressions[120], expressions[123], expressions[126], expressions[129], + expressions[132], expressions[135], expressions[138], expressions[141], expressions[144], expressions[147], + expressions[150], expressions[153], expressions[156], expressions[159], expressions[162], expressions[165], + expressions[168], expressions[171], expressions[174], expressions[177], expressions[180], expressions[183], + expressions[186], expressions[189], expressions[192], expressions[195], expressions[198], expressions[201], + expressions[204], expressions[207], expressions[210], expressions[213], expressions[216], expressions[217], + expressions[218], expressions[219], expressions[221], expressions[223], expressions[224], expressions[226], + expressions[228], expressions[229], expressions[230], expressions[232], expressions[234], expressions[237], + expressions[240], expressions[242], expressions[244], expressions[247], expressions[249], expressions[251], + expressions[253], expressions[255], expressions[256], expressions[257], expressions[258], expressions[260], + expressions[261], expressions[262] }; + expressions[263] = BinaryenBlock(the_module, "the-value", children, 103, BinaryenTypeAuto()); } - expressions[248] = BinaryenDrop(the_module, expressions[247]); + expressions[264] = BinaryenDrop(the_module, expressions[263]); { - BinaryenExpressionRef children[] = { expressions[248] }; - expressions[249] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto()); + BinaryenExpressionRef children[] = { expressions[264] }; + expressions[265] = BinaryenBlock(the_module, "the-nothing", children, 1, BinaryenTypeAuto()); } - expressions[250] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); + expressions[266] = BinaryenConst(the_module, BinaryenLiteralInt32(42)); { - BinaryenExpressionRef children[] = { expressions[249], expressions[250] }; - expressions[251] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto()); + BinaryenExpressionRef children[] = { expressions[265], expressions[266] }; + expressions[267] = BinaryenBlock(the_module, "the-body", children, 2, BinaryenTypeAuto()); } { BinaryenType varTypes[] = { 1 }; - functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[251]); + functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[267]); } - expressions[252] = BinaryenConst(the_module, BinaryenLiteralInt32(7)); - BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[252]); - expressions[253] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5)); - BinaryenAddGlobal(the_module, "a-mutable-global", 3, 1, expressions[253]); + expressions[268] = BinaryenConst(the_module, BinaryenLiteralInt32(7)); + BinaryenAddGlobal(the_module, "a-global", 1, 0, expressions[268]); + expressions[269] = BinaryenConst(the_module, BinaryenLiteralFloat32(7.5)); + BinaryenAddGlobal(the_module, "a-mutable-global", 3, 1, expressions[269]); { BinaryenType paramTypes[] = { 1, 4 }; functionTypes[1] = BinaryenAddFunctionType(the_module, "fiF", 3, paramTypes, 2); @@ -1385,11 +1443,11 @@ int main() { const char* funcNames[] = { "kitchen()sinker" }; BinaryenSetFunctionTable(the_module, 1, 1, funcNames, 1); } - expressions[254] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); + expressions[270] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); { const char segment0[] = { 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 }; const char* segments[] = { segment0 }; - BinaryenExpressionRef segmentOffsets[] = { expressions[254] }; + BinaryenExpressionRef segmentOffsets[] = { expressions[270] }; BinaryenIndex segmentSizes[] = { 12 }; BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentOffsets, segmentSizes, 1, 0); } @@ -1397,10 +1455,10 @@ int main() { BinaryenType paramTypes[] = { 0 }; functionTypes[2] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0); } - expressions[255] = BinaryenNop(the_module); + expressions[271] = BinaryenNop(the_module); { BinaryenType varTypes[] = { 0 }; - functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[255]); + functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[271]); } BinaryenSetStart(the_module, functions[1]); { @@ -1542,6 +1600,46 @@ int main() { ) ) (drop + (i32.trunc_s:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i64.trunc_s:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i32.trunc_u:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i64.trunc_u:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i32.trunc_s:sat/f64 + (f64.const -9005.841) + ) + ) + (drop + (i64.trunc_s:sat/f64 + (f64.const -9005.841) + ) + ) + (drop + (i32.trunc_u:sat/f64 + (f64.const -9005.841) + ) + ) + (drop + (i64.trunc_u:sat/f64 + (f64.const -9005.841) + ) + ) + (drop (i32.reinterpret/f32 (f32.const -33.61199951171875) ) diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt index d23e109b5..4cf98c329 100644 --- a/test/example/c-api-kitchen-sink.txt.txt +++ b/test/example/c-api-kitchen-sink.txt.txt @@ -133,6 +133,46 @@ ) ) (drop + (i32.trunc_s:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i64.trunc_s:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i32.trunc_u:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i64.trunc_u:sat/f32 + (f32.const -33.61199951171875) + ) + ) + (drop + (i32.trunc_s:sat/f64 + (f64.const -9005.84) + ) + ) + (drop + (i64.trunc_s:sat/f64 + (f64.const -9005.84) + ) + ) + (drop + (i32.trunc_u:sat/f64 + (f64.const -9005.84) + ) + ) + (drop + (i64.trunc_u:sat/f64 + (f64.const -9005.84) + ) + ) + (drop (i32.reinterpret/f32 (f32.const -33.61199951171875) ) |