diff options
Diffstat (limited to 'test/wasm2js/call_indirect.2asm.js')
-rw-r--r-- | test/wasm2js/call_indirect.2asm.js | 787 |
1 files changed, 457 insertions, 330 deletions
diff --git a/test/wasm2js/call_indirect.2asm.js b/test/wasm2js/call_indirect.2asm.js index 7b7f364db..93c3e9999 100644 --- a/test/wasm2js/call_indirect.2asm.js +++ b/test/wasm2js/call_indirect.2asm.js @@ -46,10 +46,12 @@ function asmFunc(global, env, buffer) { return $0 | 0; } - function id_i64($0, $1) { + function id_i64($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - i64toi32_i32$HIGH_BITS = $1; + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return $0 | 0; } @@ -63,19 +65,21 @@ function asmFunc(global, env, buffer) { return +$0; } - function i32_i64($0, $1, $2) { + function i32_i64($0, $1, $1$hi) { $0 = $0 | 0; $1 = $1 | 0; - $2 = $2 | 0; - i64toi32_i32$HIGH_BITS = $2; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return $1 | 0; } - function i64_f64($0, $1, $2) { + function i64_f64($0, $0$hi, $1) { $0 = $0 | 0; - $1 = $1 | 0; - $2 = +$2; - return +$2; + $0$hi = $0$hi | 0; + $1 = +$1; + return +$1; } function f32_i32($0, $1) { @@ -95,10 +99,12 @@ function asmFunc(global, env, buffer) { return $0 | 0; } - function over_i64_duplicate($0, $1) { + function over_i64_duplicate($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - i64toi32_i32$HIGH_BITS = $1; + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return $0 | 0; } @@ -117,11 +123,11 @@ function asmFunc(global, env, buffer) { } function $17() { - var $0 = 0, $1 = 0; - $0 = FUNCTION_TABLE[1]() | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = FUNCTION_TABLE[1]() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } function $18() { @@ -133,12 +139,12 @@ function asmFunc(global, env, buffer) { } function $20() { - var $0 = 0, $1 = 0; - $0 = 0; - $0 = FUNCTION_TABLE[5](100, $0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$0 = FUNCTION_TABLE[5](100, i64toi32_i32$0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } function $21() { @@ -146,12 +152,12 @@ function asmFunc(global, env, buffer) { } function $22() { - var $0 = 0, $1 = 0; - $0 = 0; - $0 = FUNCTION_TABLE[5](64, $0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$0 = FUNCTION_TABLE[5](64, i64toi32_i32$0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } function $23() { @@ -167,12 +173,12 @@ function asmFunc(global, env, buffer) { } function $26() { - var $0 = 0, $1 = 0; - $0 = 0; - $0 = FUNCTION_TABLE[9](32, 64, $0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$0 = FUNCTION_TABLE[9](32, 64, i64toi32_i32$0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } function $27() { @@ -183,129 +189,144 @@ function asmFunc(global, env, buffer) { return +(+FUNCTION_TABLE[11](64, 0, 64.1)); } - function $29($0, $1, $2) { + function $29($0, $1, $1$hi) { $0 = $0 | 0; $1 = $1 | 0; - $2 = $2 | 0; - $2 = FUNCTION_TABLE[$0]($1, $2) | 0; - $0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $0; - return $2 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = FUNCTION_TABLE[$0]($1, i64toi32_i32$0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } function $30($0) { $0 = $0 | 0; - var $1 = 0; - $1 = 0; - $1 = FUNCTION_TABLE[$0](9, $1) | 0; - $0 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $0; - return $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$0 = FUNCTION_TABLE[$0](9, i64toi32_i32$0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } - function fac($0, $1) { + function fac($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0; - $3 = $1; - if (!($0 | $3 | 0)) { + $0$hi = $0$hi | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $8 = 0, $8$hi = 0, i64toi32_i32$3 = 0, $6 = 0, $6$hi = 0; + i64toi32_i32$0 = $0$hi; + if (!($0 | i64toi32_i32$0 | 0)) { { - $3 = 0; - $2 = 1; - $1 = $3; + i64toi32_i32$0 = 0; + $8 = 1; + $8$hi = i64toi32_i32$0; } } else { { - $3 = $1; - $1 = $0; - $4 = 1; - $2 = ($1 >>> 0 < $4 >>> 0) + 0 | 0; - $2 = $3 - $2 | 0; - $2 = FUNCTION_TABLE[12]($1 - $4 | 0, $2) | 0; - $1 = i64toi32_i32$HIGH_BITS; - $4 = $2; - $2 = $1; - $2 = __wasm_i64_mul($0 | 0, $3 | 0, $4 | 0, $2 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + 0 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$5 = FUNCTION_TABLE[12](i64toi32_i32$2 - i64toi32_i32$3 | 0, i64toi32_i32$5) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $6 = i64toi32_i32$5; + $6$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $6$hi; + i64toi32_i32$5 = __wasm_i64_mul($0 | 0, i64toi32_i32$0 | 0, $6 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $8 = i64toi32_i32$5; + $8$hi = i64toi32_i32$2; } } - i64toi32_i32$HIGH_BITS = $1; - return $2 | 0; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$5 = $8; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$5 | 0; } - function fib($0, $1) { + function fib($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - $5 = $1; - $3 = $0; - $2 = 0; - $4 = 1; - if ($5 >>> 0 < $2 >>> 0 | (($5 | 0) == ($2 | 0) & $3 >>> 0 <= $4 >>> 0 | 0) | 0) { + $0$hi = $0$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $10 = 0, $10$hi = 0, $5 = 0, $5$hi = 0, $8 = 0, $8$hi = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 1; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) { { - $3 = 0; - $1 = 1; - $5 = $3; + i64toi32_i32$2 = 0; + $10 = 1; + $10$hi = i64toi32_i32$2; } } else { { - $3 = $1; - $4 = $0; - $5 = 0; - $2 = 2; - $6 = $4 - $2 | 0; - $2 = $4 >>> 0 < $2 >>> 0; - $1 = $2 + $5 | 0; - $1 = $3 - $1 | 0; - $1 = FUNCTION_TABLE[13]($6, $1) | 0; - $4 = i64toi32_i32$HIGH_BITS; - $7 = $1; - $8 = $4; - $4 = $3; - $3 = $0; - $1 = 0; - $2 = 1; - $5 = $3 - $2 | 0; - $2 = $3 >>> 0 < $2 >>> 0; - $6 = $2 + $1 | 0; - $6 = $4 - $6 | 0; - $6 = FUNCTION_TABLE[13]($5, $6) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $0 = $6; - $6 = $3; - $3 = $8; - $4 = $7; - $2 = $0; - $1 = $4 + $2 | 0; - $5 = $3 + $6 | 0; - if ($1 >>> 0 < $2 >>> 0) { - $5 = $5 + 1 | 0 + i64toi32_i32$2 = $0$hi; + i64toi32_i32$3 = $0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 2; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$5 = FUNCTION_TABLE[13](i64toi32_i32$4, i64toi32_i32$5) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $5 = i64toi32_i32$5; + $5$hi = i64toi32_i32$3; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $0; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$4 = FUNCTION_TABLE[13](i64toi32_i32$0, i64toi32_i32$4) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $8 = i64toi32_i32$4; + $8$hi = i64toi32_i32$2; + i64toi32_i32$2 = $5$hi; + i64toi32_i32$3 = $5; + i64toi32_i32$4 = $8$hi; + i64toi32_i32$1 = $8; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 } + $10 = i64toi32_i32$5; + $10$hi = i64toi32_i32$0; } } - $4 = $1; - i64toi32_i32$HIGH_BITS = $5; - return $4 | 0; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$3 = $10; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$3 | 0; } function even($0) { $0 = $0 | 0; + var $6 = 0; if (!$0) { - $0 = 44 + $6 = 44 } else { - $0 = FUNCTION_TABLE[15]($0 - 1 | 0) | 0 + $6 = FUNCTION_TABLE[15]($0 - 1 | 0) | 0 } - return $0 | 0; + return $6 | 0; } function odd($0) { $0 = $0 | 0; + var $6 = 0; if (!$0) { - $0 = 99 + $6 = 99 } else { - $0 = FUNCTION_TABLE[14]($0 - 1 | 0) | 0 + $6 = FUNCTION_TABLE[14]($0 - 1 | 0) | 0 } - return $0 | 0; + return $6 | 0; } function runaway() { @@ -321,287 +342,393 @@ function asmFunc(global, env, buffer) { } function legalstub$17() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $0 = $17() | 0; - $2 = i64toi32_i32$HIGH_BITS; - $4 = $0; - $5 = $2; - $3 = 32; - $1 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { - $0 = $2 >>> $1 | 0 + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $17() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $0 = i64toi32_i32$0; + $0$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = 0; + $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $1 | 0) - 1 | 0) & $2 | 0) << (32 - $1 | 0) | 0 | ($0 >>> $1 | 0) | 0 + { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $4 | 0; + setTempRet0($7 | 0); + i64toi32_i32$0 = $0$hi; + return $0 | 0; } function legalstub$20() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $0 = $20() | 0; - $2 = i64toi32_i32$HIGH_BITS; - $4 = $0; - $5 = $2; - $3 = 32; - $1 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { - $0 = $2 >>> $1 | 0 + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $20() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $0 = i64toi32_i32$0; + $0$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = 0; + $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $1 | 0) - 1 | 0) & $2 | 0) << (32 - $1 | 0) | 0 | ($0 >>> $1 | 0) | 0 + { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $4 | 0; + setTempRet0($7 | 0); + i64toi32_i32$0 = $0$hi; + return $0 | 0; } function legalstub$22() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $0 = $22() | 0; - $2 = i64toi32_i32$HIGH_BITS; - $4 = $0; - $5 = $2; - $3 = 32; - $1 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { - $0 = $2 >>> $1 | 0 + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $22() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $0 = i64toi32_i32$0; + $0$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = 0; + $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $1 | 0) - 1 | 0) & $2 | 0) << (32 - $1 | 0) | 0 | ($0 >>> $1 | 0) | 0 + { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $4 | 0; + setTempRet0($7 | 0); + i64toi32_i32$0 = $0$hi; + return $0 | 0; } function legalstub$26() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $0 = $26() | 0; - $2 = i64toi32_i32$HIGH_BITS; - $4 = $0; - $5 = $2; - $3 = 32; - $1 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { - $0 = $2 >>> $1 | 0 + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $26() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $0 = i64toi32_i32$0; + $0$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = 0; + $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $1 | 0) - 1 | 0) & $2 | 0) << (32 - $1 | 0) | 0 | ($0 >>> $1 | 0) | 0 + { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $4 | 0; + setTempRet0($7 | 0); + i64toi32_i32$0 = $0$hi; + return $0 | 0; } function legalstub$29($0, $1, $2) { $0 = $0 | 0; $1 = $1 | 0; $2 = $2 | 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $7 = $0; - $0 = 0; - $5 = $1; - $6 = $0; - $0 = 0; - $4 = 32; - $3 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - { - $1 = $2 << $3 | 0; - $4 = 0; + var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $14 = 0, $15 = 0, $4 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $3 = 0, $3$hi = 0; + $4 = $0; + i64toi32_i32$0 = 0; + $6 = $1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $2; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $14 = 0; } } else { { - $1 = ((1 << $3 | 0) - 1 | 0) & ($2 >>> (32 - $3 | 0) | 0) | 0 | ($0 << $3 | 0) | 0; - $4 = $2 << $3 | 0; + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $2 = $1; - $1 = $6; - $0 = $5; - $2 = $1 | $2 | 0; - $2 = $29($7 | 0, $0 | $4 | 0 | 0, $2 | 0) | 0; - $0 = i64toi32_i32$HIGH_BITS; - $6 = $2; - $5 = $0; - $1 = $2; - $4 = 32; - $3 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - $0 = $0 >>> $3 | 0 + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $14; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = $29($4 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $3 = i64toi32_i32$2; + $3$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$2 = 0; + $15 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $3 | 0) - 1 | 0) & $0 | 0) << (32 - $3 | 0) | 0 | ($1 >>> $3 | 0) | 0 + { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $15 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $6 | 0; + setTempRet0($15 | 0); + i64toi32_i32$2 = $3$hi; + return $3 | 0; } function legalstub$30($0) { $0 = $0 | 0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $0 = $30($0 | 0) | 0; - $2 = i64toi32_i32$HIGH_BITS; - $4 = $0; - $5 = $2; - $3 = 32; - $1 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { - $0 = $2 >>> $1 | 0 + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $1 = 0, $1$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $30($0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = 0; + $8 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $1 | 0) - 1 | 0) & $2 | 0) << (32 - $1 | 0) | 0 | ($0 >>> $1 | 0) | 0 + { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $4 | 0; + setTempRet0($8 | 0); + i64toi32_i32$0 = $1$hi; + return $1 | 0; } function legalstub$fac($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $3 = 0; - $5 = $0; - $6 = $3; - $3 = 0; - $4 = 32; - $2 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - { - $0 = $1 << $2 | 0; - $4 = 0; + var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0; + i64toi32_i32$0 = 0; + $4 = $0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $12 = 0; } } else { { - $0 = ((1 << $2 | 0) - 1 | 0) & ($1 >>> (32 - $2 | 0) | 0) | 0 | ($3 << $2 | 0) | 0; - $4 = $1 << $2 | 0; + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $1 = $0; - $0 = $6; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = fac($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6 = $1; - $5 = $3; - $0 = $1; - $4 = 32; - $2 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - $0 = $3 >>> $2 | 0 + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$3 = $12; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = fac(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2 = i64toi32_i32$2; + $2$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$2 = 0; + $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $2 | 0) - 1 | 0) & $3 | 0) << (32 - $2 | 0) | 0 | ($0 >>> $2 | 0) | 0 + { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $6 | 0; + setTempRet0($13 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$fib($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $3 = 0; - $5 = $0; - $6 = $3; - $3 = 0; - $4 = 32; - $2 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - { - $0 = $1 << $2 | 0; - $4 = 0; + var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0; + i64toi32_i32$0 = 0; + $4 = $0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $12 = 0; } } else { { - $0 = ((1 << $2 | 0) - 1 | 0) & ($1 >>> (32 - $2 | 0) | 0) | 0 | ($3 << $2 | 0) | 0; - $4 = $1 << $2 | 0; + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $1 = $0; - $0 = $6; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = fib($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6 = $1; - $5 = $3; - $0 = $1; - $4 = 32; - $2 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - $0 = $3 >>> $2 | 0 + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$3 = $12; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = fib(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2 = i64toi32_i32$2; + $2$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$2 = 0; + $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $2 | 0) - 1 | 0) & $3 | 0) << (32 - $2 | 0) | 0 | ($0 >>> $2 | 0) | 0 + { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $6 | 0; + setTempRet0($13 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } - function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $5 = $2; - $9 = $5 >>> 16 | 0; - $10 = $0 >>> 16 | 0; - $11 = Math_imul($9, $10); - $8 = $5; - $6 = $0; - $7 = 32; - $4 = $7 & 31 | 0; - if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) { - $1 = $1 >>> $4 | 0 + function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21_1 = 0, $22_1 = 0, var$6 = 0, $24_1 = 0, $17_1 = 0, $18_1 = 0, $23_1 = 0, $29_1 = 0, $45 = 0, $56$hi = 0, $62$hi = 0; + i64toi32_i32$0 = var$1$hi; + var$2 = var$1; + var$4 = var$2 >>> 16 | 0; + i64toi32_i32$0 = var$0$hi; + var$3 = var$0; + var$5 = var$3 >>> 16 | 0; + $17_1 = Math_imul(var$4, var$5); + $18_1 = var$2; + i64toi32_i32$2 = var$3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$1 = 0; + $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } } else { - $1 = (((1 << $4 | 0) - 1 | 0) & $1 | 0) << (32 - $4 | 0) | 0 | ($6 >>> $4 | 0) | 0 + { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - $6 = $11 + Math_imul($8, $1) | 0; - $1 = $2; - $7 = 32; - $4 = $7 & 31 | 0; - if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) { - $1 = $3 >>> $4 | 0 + $23_1 = $17_1 + Math_imul($18_1, $21_1) | 0; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$2 = 0; + $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $1 = (((1 << $4 | 0) - 1 | 0) & $3 | 0) << (32 - $4 | 0) | 0 | ($1 >>> $4 | 0) | 0 + { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } } - $1 = $6 + Math_imul($1, $0) | 0; - $5 = $5 & 65535 | 0; - $0 = $0 & 65535 | 0; - $8 = Math_imul($5, $0); - $5 = ($8 >>> 16 | 0) + Math_imul($5, $10) | 0; - $1 = $1 + ($5 >>> 16 | 0) | 0; - $5 = ($5 & 65535 | 0) + Math_imul($9, $0) | 0; - $6 = 0; - $3 = $1 + ($5 >>> 16 | 0) | 0; - $7 = 32; - $4 = $7 & 31 | 0; - if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) { - { - $1 = $3 << $4 | 0; - $6 = 0; + $29_1 = $23_1 + Math_imul($22_1, var$3) | 0; + var$2 = var$2 & 65535 | 0; + var$3 = var$3 & 65535 | 0; + var$6 = Math_imul(var$2, var$3); + var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0; + $45 = $29_1 + (var$2 >>> 16 | 0) | 0; + var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24_1 = 0; } } else { { - $1 = ((1 << $4 | 0) - 1 | 0) & ($3 >>> (32 - $4 | 0) | 0) | 0 | ($6 << $4 | 0) | 0; - $6 = $3 << $4 | 0; + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; } } - $0 = $1; - $1 = 0; - $2 = $1; - $1 = $0; - $3 = $2; - $7 = $5 << 16 | 0 | ($8 & 65535 | 0) | 0; - $3 = $1 | $3 | 0; - $6 = $6 | $7 | 0; - i64toi32_i32$HIGH_BITS = $3; - return $6 | 0; - } - - function __wasm_i64_mul($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $3 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0 | 0, $1 | 0, $2 | 0, $3 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $3 | 0; + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$2 = $24_1; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } var FUNCTION_TABLE = [const_i32, const_i64, const_f32, const_f64, id_i32, id_i64, id_f32, id_f64, f32_i32, i32_i64, f64_f32, i64_f64, fac, fib, even, odd, runaway, mutual_runaway1, mutual_runaway2, over_i32_duplicate, over_i64_duplicate, over_f32_duplicate, over_f64_duplicate]; |