summaryrefslogtreecommitdiff
path: root/test/binaryen.js
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2018-12-04 10:30:35 -0800
committerGitHub <noreply@github.com>2018-12-04 10:30:35 -0800
commitbebbeb54f177bdc2cfdff71d6a256a35f2f2057b (patch)
tree80609eb177ddab4edae30323d42152e9ab59ba9b /test/binaryen.js
parentb4badb815ec844e438a05d501eafb6bb99383bc6 (diff)
downloadbinaryen-bebbeb54f177bdc2cfdff71d6a256a35f2f2057b.tar.gz
binaryen-bebbeb54f177bdc2cfdff71d6a256a35f2f2057b.tar.bz2
binaryen-bebbeb54f177bdc2cfdff71d6a256a35f2f2057b.zip
Implement nontrapping float-to-int instructions (#1780)
Diffstat (limited to 'test/binaryen.js')
-rw-r--r--test/binaryen.js/kitchen-sink.js8
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt554
2 files changed, 334 insertions, 228 deletions
diff --git a/test/binaryen.js/kitchen-sink.js b/test/binaryen.js/kitchen-sink.js
index 4b78894d8..9fdaa0ad2 100644
--- a/test/binaryen.js/kitchen-sink.js
+++ b/test/binaryen.js/kitchen-sink.js
@@ -134,6 +134,14 @@ function test_core() {
module.i64.trunc_s.f64(module.f64.const(-9005.841)),
module.i32.trunc_u.f64(module.f64.const(-9005.841)),
module.i64.trunc_u.f64(module.f64.const(-9005.841)),
+ module.i32.trunc_s_sat.f32(module.f32.const(-33.612)),
+ module.i64.trunc_s_sat.f32(module.f32.const(-33.612)),
+ module.i32.trunc_u_sat.f32(module.f32.const(-33.612)),
+ module.i64.trunc_u_sat.f32(module.f32.const(-33.612)),
+ module.i32.trunc_s_sat.f64(module.f64.const(-9005.841)),
+ module.i64.trunc_s_sat.f64(module.f64.const(-9005.841)),
+ module.i32.trunc_u_sat.f64(module.f64.const(-9005.841)),
+ module.i64.trunc_u_sat.f64(module.f64.const(-9005.841)),
module.i32.reinterpret(module.f32.const(-33.612)),
module.i64.reinterpret(module.f64.const(-9005.841)),
module.f32.convert_s.i32(module.i32.const(-10)),
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index dc0961a8f..4a320bccc 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -172,6 +172,46 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
)
(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)
)
@@ -1168,203 +1208,219 @@ int main() {
expressions[65] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
expressions[66] = BinaryenUnary(the_module, 32, expressions[65]);
expressions[67] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
- expressions[68] = BinaryenUnary(the_module, 33, expressions[67]);
- expressions[69] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
- expressions[70] = BinaryenUnary(the_module, 34, expressions[69]);
- expressions[71] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[72] = BinaryenUnary(the_module, 35, expressions[71]);
- expressions[73] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[74] = BinaryenUnary(the_module, 36, expressions[73]);
- expressions[75] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[76] = BinaryenUnary(the_module, 37, expressions[75]);
- expressions[77] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[78] = BinaryenUnary(the_module, 38, expressions[77]);
- expressions[79] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
- expressions[80] = BinaryenUnary(the_module, 39, expressions[79]);
- expressions[81] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
- expressions[82] = BinaryenUnary(the_module, 40, expressions[81]);
- expressions[83] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
- expressions[84] = BinaryenUnary(the_module, 41, expressions[83]);
- expressions[85] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
- expressions[86] = BinaryenUnary(the_module, 42, expressions[85]);
- expressions[87] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
- expressions[88] = BinaryenUnary(the_module, 43, expressions[87]);
- expressions[89] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
- expressions[90] = BinaryenUnary(the_module, 44, expressions[89]);
+ expressions[68] = BinaryenUnary(the_module, 52, expressions[67]);
+ expressions[69] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[70] = BinaryenUnary(the_module, 56, expressions[69]);
+ expressions[71] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[72] = BinaryenUnary(the_module, 53, expressions[71]);
+ expressions[73] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[74] = BinaryenUnary(the_module, 57, expressions[73]);
+ expressions[75] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[76] = BinaryenUnary(the_module, 54, expressions[75]);
+ expressions[77] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[78] = BinaryenUnary(the_module, 58, expressions[77]);
+ expressions[79] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[80] = BinaryenUnary(the_module, 55, expressions[79]);
+ expressions[81] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[82] = BinaryenUnary(the_module, 59, expressions[81]);
+ expressions[83] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[84] = BinaryenUnary(the_module, 33, expressions[83]);
+ expressions[85] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[86] = BinaryenUnary(the_module, 34, expressions[85]);
+ expressions[87] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[88] = BinaryenUnary(the_module, 35, expressions[87]);
+ expressions[89] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[90] = BinaryenUnary(the_module, 36, expressions[89]);
expressions[91] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[92] = BinaryenUnary(the_module, 45, expressions[91]);
- expressions[93] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
- expressions[94] = BinaryenUnary(the_module, 46, expressions[93]);
- expressions[95] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[96] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[97] = BinaryenBinary(the_module, 0, expressions[95], expressions[96]);
- expressions[98] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
- expressions[99] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
- expressions[100] = BinaryenBinary(the_module, 64, expressions[98], expressions[99]);
- expressions[101] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[102] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[103] = BinaryenBinary(the_module, 3, expressions[101], expressions[102]);
- expressions[104] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[105] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[106] = BinaryenBinary(the_module, 29, expressions[104], expressions[105]);
- expressions[107] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[108] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[109] = BinaryenBinary(the_module, 30, expressions[107], expressions[108]);
- expressions[110] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[112] = BinaryenBinary(the_module, 6, expressions[110], expressions[111]);
- expressions[113] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[114] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[115] = BinaryenBinary(the_module, 7, expressions[113], expressions[114]);
- expressions[116] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[118] = BinaryenBinary(the_module, 33, expressions[116], expressions[117]);
- expressions[119] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[120] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[121] = BinaryenBinary(the_module, 9, expressions[119], expressions[120]);
- expressions[122] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[123] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[124] = BinaryenBinary(the_module, 35, expressions[122], expressions[123]);
- expressions[125] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[126] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[127] = BinaryenBinary(the_module, 36, expressions[125], expressions[126]);
- expressions[128] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[129] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[130] = BinaryenBinary(the_module, 12, expressions[128], expressions[129]);
- expressions[131] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[132] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[133] = BinaryenBinary(the_module, 13, expressions[131], expressions[132]);
- expressions[134] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[135] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[136] = BinaryenBinary(the_module, 39, expressions[134], expressions[135]);
- expressions[137] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
- expressions[138] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
- expressions[139] = BinaryenBinary(the_module, 53, expressions[137], expressions[138]);
- expressions[140] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
- expressions[141] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
- expressions[142] = BinaryenBinary(the_module, 67, expressions[140], expressions[141]);
- expressions[143] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
- expressions[144] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
- expressions[145] = BinaryenBinary(the_module, 55, expressions[143], expressions[144]);
- expressions[146] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
- expressions[147] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
- expressions[148] = BinaryenBinary(the_module, 69, expressions[146], expressions[147]);
- expressions[149] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[150] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[151] = BinaryenBinary(the_module, 15, expressions[149], expressions[150]);
- expressions[152] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
- expressions[153] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
- expressions[154] = BinaryenBinary(the_module, 58, expressions[152], expressions[153]);
- expressions[155] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[156] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[157] = BinaryenBinary(the_module, 17, expressions[155], expressions[156]);
- expressions[158] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[159] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[160] = BinaryenBinary(the_module, 43, expressions[158], expressions[159]);
- expressions[161] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[162] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[163] = BinaryenBinary(the_module, 44, expressions[161], expressions[162]);
- expressions[164] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[165] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[166] = BinaryenBinary(the_module, 20, expressions[164], expressions[165]);
- expressions[167] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[168] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[169] = BinaryenBinary(the_module, 46, expressions[167], expressions[168]);
- expressions[170] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[171] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[172] = BinaryenBinary(the_module, 22, expressions[170], expressions[171]);
- expressions[173] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
- expressions[174] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
- expressions[175] = BinaryenBinary(the_module, 23, expressions[173], expressions[174]);
- expressions[176] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
- expressions[177] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
- expressions[178] = BinaryenBinary(the_module, 49, expressions[176], expressions[177]);
- expressions[179] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
- expressions[180] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
- expressions[181] = BinaryenBinary(the_module, 59, expressions[179], expressions[180]);
- expressions[182] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
- expressions[183] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
- expressions[184] = BinaryenBinary(the_module, 73, expressions[182], expressions[183]);
- expressions[185] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
- expressions[186] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
- expressions[187] = BinaryenBinary(the_module, 74, expressions[185], expressions[186]);
- expressions[188] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
- expressions[189] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
- expressions[190] = BinaryenBinary(the_module, 62, expressions[188], expressions[189]);
+ expressions[92] = BinaryenUnary(the_module, 37, expressions[91]);
+ expressions[93] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[94] = BinaryenUnary(the_module, 38, expressions[93]);
+ expressions[95] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
+ expressions[96] = BinaryenUnary(the_module, 39, expressions[95]);
+ expressions[97] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
+ expressions[98] = BinaryenUnary(the_module, 40, expressions[97]);
+ expressions[99] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
+ expressions[100] = BinaryenUnary(the_module, 41, expressions[99]);
+ expressions[101] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
+ expressions[102] = BinaryenUnary(the_module, 42, expressions[101]);
+ expressions[103] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[104] = BinaryenUnary(the_module, 43, expressions[103]);
+ expressions[105] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[106] = BinaryenUnary(the_module, 44, expressions[105]);
+ expressions[107] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[108] = BinaryenUnary(the_module, 45, expressions[107]);
+ expressions[109] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
+ expressions[110] = BinaryenUnary(the_module, 46, expressions[109]);
+ expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[112] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[113] = BinaryenBinary(the_module, 0, expressions[111], expressions[112]);
+ expressions[114] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[115] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
+ expressions[116] = BinaryenBinary(the_module, 64, expressions[114], expressions[115]);
+ expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[118] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[119] = BinaryenBinary(the_module, 3, expressions[117], expressions[118]);
+ expressions[120] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[121] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[122] = BinaryenBinary(the_module, 29, expressions[120], expressions[121]);
+ expressions[123] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[124] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[125] = BinaryenBinary(the_module, 30, expressions[123], expressions[124]);
+ expressions[126] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[127] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[128] = BinaryenBinary(the_module, 6, expressions[126], expressions[127]);
+ expressions[129] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[130] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[131] = BinaryenBinary(the_module, 7, expressions[129], expressions[130]);
+ expressions[132] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[133] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[134] = BinaryenBinary(the_module, 33, expressions[132], expressions[133]);
+ expressions[135] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[136] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[137] = BinaryenBinary(the_module, 9, expressions[135], expressions[136]);
+ expressions[138] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[139] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[140] = BinaryenBinary(the_module, 35, expressions[138], expressions[139]);
+ expressions[141] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[142] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[143] = BinaryenBinary(the_module, 36, expressions[141], expressions[142]);
+ expressions[144] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[145] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[146] = BinaryenBinary(the_module, 12, expressions[144], expressions[145]);
+ expressions[147] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[148] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[149] = BinaryenBinary(the_module, 13, expressions[147], expressions[148]);
+ expressions[150] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[151] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[152] = BinaryenBinary(the_module, 39, expressions[150], expressions[151]);
+ expressions[153] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[154] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
+ expressions[155] = BinaryenBinary(the_module, 53, expressions[153], expressions[154]);
+ expressions[156] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[157] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
+ expressions[158] = BinaryenBinary(the_module, 67, expressions[156], expressions[157]);
+ expressions[159] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[160] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
+ expressions[161] = BinaryenBinary(the_module, 55, expressions[159], expressions[160]);
+ expressions[162] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[163] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
+ expressions[164] = BinaryenBinary(the_module, 69, expressions[162], expressions[163]);
+ expressions[165] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[166] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[167] = BinaryenBinary(the_module, 15, expressions[165], expressions[166]);
+ expressions[168] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[169] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
+ expressions[170] = BinaryenBinary(the_module, 58, expressions[168], expressions[169]);
+ expressions[171] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[172] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[173] = BinaryenBinary(the_module, 17, expressions[171], expressions[172]);
+ expressions[174] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[175] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[176] = BinaryenBinary(the_module, 43, expressions[174], expressions[175]);
+ expressions[177] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[178] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[179] = BinaryenBinary(the_module, 44, expressions[177], expressions[178]);
+ expressions[180] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[181] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[182] = BinaryenBinary(the_module, 20, expressions[180], expressions[181]);
+ expressions[183] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[184] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[185] = BinaryenBinary(the_module, 46, expressions[183], expressions[184]);
+ expressions[186] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[187] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[188] = BinaryenBinary(the_module, 22, expressions[186], expressions[187]);
+ expressions[189] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
+ expressions[190] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
+ expressions[191] = BinaryenBinary(the_module, 23, expressions[189], expressions[190]);
+ expressions[192] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
+ expressions[193] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
+ expressions[194] = BinaryenBinary(the_module, 49, expressions[192], expressions[193]);
+ expressions[195] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[196] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
+ expressions[197] = BinaryenBinary(the_module, 59, expressions[195], expressions[196]);
+ expressions[198] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[199] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
+ expressions[200] = BinaryenBinary(the_module, 73, expressions[198], expressions[199]);
+ expressions[201] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
+ expressions[202] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
+ expressions[203] = BinaryenBinary(the_module, 74, expressions[201], expressions[202]);
+ expressions[204] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
+ expressions[205] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
+ expressions[206] = BinaryenBinary(the_module, 62, expressions[204], expressions[205]);
{
BinaryenExpressionRef children[] = { 0 };
- expressions[191] = BinaryenBlock(the_module, NULL, children, 0, 0);
- }
- expressions[192] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]);
- expressions[193] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]);
- expressions[194] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[195] = BinaryenLoop(the_module, "in", expressions[194]);
- expressions[196] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
- expressions[197] = BinaryenLoop(the_module, NULL, expressions[196]);
- expressions[198] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]);
- expressions[199] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
- expressions[200] = BinaryenBreak(the_module, "the-nothing", expressions[199], expressions[0]);
- expressions[201] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
- expressions[202] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[201]);
- expressions[203] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
+ expressions[207] = BinaryenBlock(the_module, NULL, children, 0, 0);
+ }
+ expressions[208] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]);
+ expressions[209] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]);
+ expressions[210] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[211] = BinaryenLoop(the_module, "in", expressions[210]);
+ expressions[212] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
+ expressions[213] = BinaryenLoop(the_module, NULL, expressions[212]);
+ expressions[214] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]);
+ expressions[215] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[216] = BinaryenBreak(the_module, "the-nothing", expressions[215], expressions[0]);
+ expressions[217] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
+ expressions[218] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[217]);
+ expressions[219] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
{
const char* names[] = { "the-value" };
- expressions[204] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]);
+ expressions[220] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]);
}
- expressions[205] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
+ expressions[221] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
{
const char* names[] = { "the-nothing" };
- expressions[206] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[205], expressions[0]);
- }
- expressions[207] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[208] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[209] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[210] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[207], expressions[208], expressions[209], expressions[210] };
- expressions[211] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
- }
- expressions[212] = BinaryenUnary(the_module, 20, expressions[211]);
- expressions[213] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[214] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[213], expressions[214] };
- expressions[215] = BinaryenCall(the_module, "an-imported", operands, 2, 3);
- }
- expressions[216] = BinaryenUnary(the_module, 25, expressions[215]);
- expressions[217] = BinaryenUnary(the_module, 20, expressions[216]);
- expressions[218] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
- expressions[219] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
- expressions[220] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
- expressions[221] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
- expressions[222] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
- {
- BinaryenExpressionRef operands[] = { expressions[219], expressions[220], expressions[221], expressions[222] };
- expressions[223] = BinaryenCallIndirect(the_module, expressions[218], 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, 1, 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, 1, 0, 0, 3, expressions[236]);
- expressions[238] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
- expressions[239] = BinaryenLoad(the_module, 8, 1, 2, 8, 4, expressions[238]);
- expressions[240] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 1);
- expressions[241] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 2);
- expressions[242] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]);
- 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[222] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[221], expressions[0]);
+ }
+ expressions[223] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[224] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[225] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[226] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[223], expressions[224], expressions[225], expressions[226] };
+ expressions[227] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 1);
+ }
+ expressions[228] = BinaryenUnary(the_module, 20, expressions[227]);
+ expressions[229] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[230] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[229], expressions[230] };
+ expressions[231] = BinaryenCall(the_module, "an-imported", operands, 2, 3);
+ }
+ expressions[232] = BinaryenUnary(the_module, 25, expressions[231]);
+ expressions[233] = BinaryenUnary(the_module, 20, expressions[232]);
+ expressions[234] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
+ expressions[235] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
+ expressions[236] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
+ expressions[237] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
+ expressions[238] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
+ {
+ BinaryenExpressionRef operands[] = { expressions[235], expressions[236], expressions[237], expressions[238] };
+ expressions[239] = BinaryenCallIndirect(the_module, expressions[234], 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, 1, 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, 1, 0, 0, 3, expressions[252]);
+ expressions[254] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
+ expressions[255] = BinaryenLoad(the_module, 8, 1, 2, 8, 4, expressions[254]);
+ expressions[256] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 1);
+ expressions[257] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 2);
+ expressions[258] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]);
+ expressions[259] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
+ expressions[260] = BinaryenReturn(the_module, expressions[259]);
+ expressions[261] = BinaryenNop(the_module);
+ expressions[262] = BinaryenUnreachable(the_module);
BinaryenExpressionGetId(expressions[30]);
BinaryenExpressionGetType(expressions[30]);
BinaryenUnaryGetOp(expressions[30]);
@@ -1375,26 +1431,26 @@ getExpressionInfo={"id":15,"type":3,"op":6}
(f32.const -33.61199951171875)
)
- expressions[247] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
- BinaryenExpressionGetId(expressions[247]);
- BinaryenExpressionGetType(expressions[247]);
- BinaryenConstGetValueI32(expressions[247]);
+ expressions[263] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
+ BinaryenExpressionGetId(expressions[263]);
+ BinaryenExpressionGetType(expressions[263]);
+ BinaryenConstGetValueI32(expressions[263]);
getExpressionInfo(i32.const)={"id":14,"type":1,"value":5}
- expressions[248] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078));
- BinaryenExpressionGetId(expressions[248]);
- BinaryenExpressionGetType(expressions[248]);
- BinaryenConstGetValueI64Low(expressions[248]);
- BinaryenConstGetValueI64High(expressions[248]);
+ expressions[264] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078));
+ BinaryenExpressionGetId(expressions[264]);
+ BinaryenExpressionGetType(expressions[264]);
+ BinaryenConstGetValueI64Low(expressions[264]);
+ BinaryenConstGetValueI64High(expressions[264]);
getExpressionInfo(i64.const)={"id":14,"type":2,"value":{"low":6,"high":7}}
- expressions[249] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5));
- BinaryenExpressionGetId(expressions[249]);
- BinaryenExpressionGetType(expressions[249]);
- BinaryenConstGetValueF32(expressions[249]);
+ expressions[265] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5));
+ BinaryenExpressionGetId(expressions[265]);
+ BinaryenExpressionGetType(expressions[265]);
+ BinaryenConstGetValueF32(expressions[265]);
getExpressionInfo(f32.const)={"id":14,"type":3,"value":8.5}
- expressions[250] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5));
- BinaryenExpressionGetId(expressions[250]);
- BinaryenExpressionGetType(expressions[250]);
- BinaryenConstGetValueF64(expressions[250]);
+ expressions[266] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5));
+ BinaryenExpressionGetId(expressions[266]);
+ BinaryenExpressionGetType(expressions[266]);
+ BinaryenConstGetValueF64(expressions[266]);
getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
{
BinaryenExpressionRef children[] = { expressions[24], expressions[26], expressions[28], expressions[30], expressions[32],
@@ -1403,31 +1459,33 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
expressions[58], expressions[60], expressions[62], expressions[64], expressions[66], 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[97], expressions[100], expressions[103], expressions[106], expressions[109],
- expressions[112], expressions[115], expressions[118], expressions[121], expressions[124], expressions[127],
- expressions[130], expressions[133], expressions[136], expressions[139], expressions[142], expressions[145],
- expressions[148], expressions[151], expressions[154], expressions[157], expressions[160], expressions[163],
- expressions[166], expressions[169], expressions[172], expressions[175], expressions[178], expressions[181],
- expressions[184], expressions[187], expressions[190], expressions[191], expressions[192], expressions[193],
- expressions[195], expressions[197], expressions[198], expressions[200], expressions[202], expressions[203],
- expressions[204], expressions[206], expressions[212], expressions[217], 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[251] = BinaryenBlock(the_module, "the-value", children, 95, 0);
+ expressions[94], expressions[96], expressions[98], expressions[100], expressions[102], expressions[104],
+ expressions[106], expressions[108], 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[203], expressions[206], expressions[207],
+ expressions[208], expressions[209], expressions[211], expressions[213], expressions[214], expressions[216],
+ expressions[218], expressions[219], expressions[220], expressions[222], expressions[228], expressions[233],
+ 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[267] = BinaryenBlock(the_module, "the-value", children, 103, 0);
}
- expressions[252] = BinaryenDrop(the_module, expressions[251]);
+ expressions[268] = BinaryenDrop(the_module, expressions[267]);
{
- BinaryenExpressionRef children[] = { expressions[252] };
- expressions[253] = BinaryenBlock(the_module, "the-nothing", children, 1, 0);
+ BinaryenExpressionRef children[] = { expressions[268] };
+ expressions[269] = BinaryenBlock(the_module, "the-nothing", children, 1, 0);
}
- expressions[254] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
+ expressions[270] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
{
- BinaryenExpressionRef children[] = { expressions[253], expressions[254] };
- expressions[255] = BinaryenBlock(the_module, "the-body", children, 2, 0);
+ BinaryenExpressionRef children[] = { expressions[269], expressions[270] };
+ expressions[271] = BinaryenBlock(the_module, "the-body", children, 2, 0);
}
{
BinaryenType varTypes[] = { 1 };
- functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[255]);
+ functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 1, expressions[271]);
}
{
BinaryenType paramTypes[] = { 1, 4 };
@@ -1452,11 +1510,11 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
const char* funcNames[] = { "kitchen()sinker" };
BinaryenSetFunctionTable(the_module, 1, 4294967295, funcNames, 1);
}
- expressions[256] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
+ expressions[272] = 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[256] };
+ BinaryenExpressionRef segmentOffsets[] = { expressions[272] };
BinaryenIndex segmentSizes[] = { 12 };
BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentOffsets, segmentSizes, 1, 0);
}
@@ -1464,10 +1522,10 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
BinaryenType paramTypes[] = { 0 };
functionTypes[2] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0);
}
- expressions[257] = BinaryenNop(the_module);
+ expressions[273] = BinaryenNop(the_module);
{
BinaryenType varTypes[] = { 0 };
- functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[257]);
+ functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[273]);
}
BinaryenSetStart(the_module, functions[1]);
{
@@ -1607,6 +1665,46 @@ getExpressionInfo(f64.const)={"id":14,"type":4,"value":9.5}
)
)
(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)
)