diff options
author | Alon Zakai <azakai@google.com> | 2019-05-01 10:43:01 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-01 10:43:01 -0700 |
commit | 73709b4da08d285c2237c8c23a54ba53274c0c7f (patch) | |
tree | 2f428e5367c511b22391a8c471edbc0e7ed0688a /test/wasm2js/loop.2asm.js | |
parent | ac93469d7fde75397403db94d9bf0c1bac0cf60f (diff) | |
download | binaryen-73709b4da08d285c2237c8c23a54ba53274c0c7f.tar.gz binaryen-73709b4da08d285c2237c8c23a54ba53274c0c7f.tar.bz2 binaryen-73709b4da08d285c2237c8c23a54ba53274c0c7f.zip |
wasm2js: run more optimizations (#2073)
In particular, coalesce-locals is useful even if closure is run later (apparently it finds stuff closure can't).
Diffstat (limited to 'test/wasm2js/loop.2asm.js')
-rw-r--r-- | test/wasm2js/loop.2asm.js | 479 |
1 files changed, 187 insertions, 292 deletions
diff --git a/test/wasm2js/loop.2asm.js b/test/wasm2js/loop.2asm.js index 6ba7086ea..44f59c91e 100644 --- a/test/wasm2js/loop.2asm.js +++ b/test/wasm2js/loop.2asm.js @@ -33,13 +33,10 @@ function asmFunc(global, env, buffer) { } function $2() { - var $0 = 0; - $0 = 7; - return $0 | 0; + return 7 | 0; } function $3() { - var $2_1 = 0; dummy(); dummy(); dummy(); @@ -47,77 +44,40 @@ function asmFunc(global, env, buffer) { dummy(); dummy(); dummy(); - $2_1 = 8; - return $2_1 | 0; + return 8 | 0; } function $4() { - var $2_1 = 0; dummy(); dummy(); - $2_1 = 9; - return $2_1 | 0; + return 9 | 0; } function $5() { - var $2_1 = 0, $6_1 = 0, $10_1 = 0, $14_1 = 0, $18_1 = 0, $22 = 0, $26 = 0, $30 = 0, $34 = 0, $38 = 0, $42 = 0, $46 = 0, $50 = 0, $54 = 0, $58 = 0, $62 = 0, $66 = 0, $70 = 0, $74 = 0, $78 = 0, $82 = 0; dummy(); - $2_1 = 150; - $6_1 = $2_1; - $10_1 = $6_1; - $14_1 = $10_1; - $18_1 = $14_1; - $22 = $18_1; - $26 = $22; - $30 = $26; - $34 = $30; - $38 = $34; - $42 = $38; - $46 = $42; - $50 = $46; - $54 = $50; - $58 = $54; - $62 = $58; - $66 = $62; - $70 = $66; - $74 = $70; - $78 = $74; - $82 = $78; - return $82 | 0; + return 150 | 0; } function $6() { - var $2_1 = 0; dummy(); - $2_1 = 13; - return __wasm_ctz_i32($2_1 | 0) | 0 | 0; + return __wasm_ctz_i32(13 | 0) | 0 | 0; } function $7() { - var $2_1 = 0, $3_1 = 0, $6_1 = 0; dummy(); - $2_1 = 3; - $3_1 = $2_1; dummy(); - $6_1 = 4; - return Math_imul($3_1, $6_1) | 0; + return Math_imul(3, 4) | 0; } function $8() { - var $2_1 = 0; dummy(); - $2_1 = 13; - return !$2_1 | 0; + return !13 | 0; } function $9() { - var $2_1 = Math_fround(0), $3_1 = Math_fround(0), $6_1 = Math_fround(0); dummy(); - $2_1 = Math_fround(3.0); - $3_1 = $2_1; dummy(); - $6_1 = Math_fround(3.0); - return $3_1 > $6_1 | 0; + return Math_fround(3.0) > Math_fround(3.0) | 0; } function $10() { @@ -146,7 +106,7 @@ function asmFunc(global, env, buffer) { } function $11() { - var $0 = 0, $1_1 = 0, $3_1 = 0; + var $0 = 0; block : { loop_in : while (1) { $0 = 18; @@ -157,7 +117,7 @@ function asmFunc(global, env, buffer) { } function $12() { - var $0 = 0, $5_1 = 0, $7_1 = 0; + var $0 = 0; block : { $0 = 18; break block; @@ -166,46 +126,39 @@ function asmFunc(global, env, buffer) { } function $13() { - var $0 = 0, $1_1 = 0, $2_1 = 0, $5_1 = 0, $6_1 = 0, $9_1 = 0, $10_1 = 0, $12_1 = 0, $17_1 = 0, $18_1 = 0, $21 = 0, $22 = 0; + var $0 = 0, $1_1 = 0; $0 = 0; - $1_1 = $0; block : { - $2_1 = 1; + $1_1 = 1; break block; } - $0 = $1_1 + $2_1 | 0; - $5_1 = $0; + $0 = $0 + $1_1 | 0; block55 : { - $6_1 = 2; + $1_1 = 2; break block55; } - $0 = $5_1 + $6_1 | 0; - $9_1 = $0; + $0 = $0 + $1_1 | 0; block60 : { - $10_1 = 4; + $1_1 = 4; break block60; } - $12_1 = $10_1; - $0 = $9_1 + $12_1 | 0; - $17_1 = $0; + $0 = $0 + $1_1 | 0; block62 : { - $18_1 = 8; + $1_1 = 8; break block62; } - $0 = $17_1 + $18_1 | 0; - $21 = $0; + $0 = $0 + $1_1 | 0; block64 : { - $22 = 16; + $1_1 = 16; break block64; } - $0 = $21 + $22 | 0; + $0 = $0 + $1_1 | 0; return $0 | 0; } function $14() { - var $0 = 0, $1_1 = 0, $2_1 = 0, $3_1 = 0, $5_1 = 0; + var $0 = 0; $0 = 0; - $1_1 = $0; loop_in : while (1) continue loop_in; } @@ -221,80 +174,71 @@ function asmFunc(global, env, buffer) { return ($0 | 0) == (-14 | 0) | 0; } - function $16($0, $0$hi) { + function $16($0, $1_1) { $0 = $0 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$0 = 0, $1$hi = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $1_1 = 0, i64toi32_i32$3 = 0; - i64toi32_i32$0 = 0; - $1_1 = 1; - $1$hi = i64toi32_i32$0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0; + $2_1 = 0; + $4_1 = 1; + $3_1 = $2_1; block : { loop_in : while (1) { - i64toi32_i32$0 = $0$hi; - if (!($0 | i64toi32_i32$0 | 0)) { + $2_1 = $1_1; + if (!($0 | $2_1 | 0)) { break block } - i64toi32_i32$0 = $0$hi; - i64toi32_i32$0 = $1$hi; - i64toi32_i32$0 = $0$hi; - i64toi32_i32$1 = $1$hi; - i64toi32_i32$1 = __wasm_i64_mul($0 | 0, i64toi32_i32$0 | 0, $1_1 | 0, $1$hi | 0) | 0; - i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - $1_1 = i64toi32_i32$1; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = $0$hi; - i64toi32_i32$1 = 0; - i64toi32_i32$3 = 1; - i64toi32_i32$5 = ($0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; - i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; - $0 = $0 - i64toi32_i32$3 | 0; - $0$hi = i64toi32_i32$5; + $2_1 = $1_1; + $5_1 = __wasm_i64_mul($0 | 0, $2_1 | 0, $4_1 | 0, $3_1 | 0) | 0; + $2_1 = i64toi32_i32$HIGH_BITS; + $4_1 = $5_1; + $3_1 = $2_1; + $2_1 = $1_1; + $5_1 = 0; + $6_1 = 1; + $1_1 = ($0 >>> 0 < $6_1 >>> 0) + $5_1 | 0; + $1_1 = $2_1 - $1_1 | 0; + $0 = $0 - $6_1 | 0; continue loop_in; }; } - i64toi32_i32$5 = $1$hi; - i64toi32_i32$HIGH_BITS = i64toi32_i32$5; - return $1_1 | 0; + $1_1 = $3_1; + i64toi32_i32$HIGH_BITS = $1_1; + return $4_1 | 0; } - function $17($0, $0$hi) { + function $17($0, $1_1) { $0 = $0 | 0; - $0$hi = $0$hi | 0; - var i64toi32_i32$0 = 0, $1$hi = 0, $2$hi = 0, i64toi32_i32$1 = 0, $2_1 = 0, i64toi32_i32$5 = 0, $1_1 = 0, i64toi32_i32$4 = 0; - i64toi32_i32$0 = 0; - $1_1 = 1; - $1$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - $2_1 = 2; - $2$hi = i64toi32_i32$0; + $1_1 = $1_1 | 0; + var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0; + $2_1 = 0; + $7_1 = 1; + $4_1 = $2_1; + $2_1 = 0; + $5_1 = 2; + $3_1 = $2_1; block : { loop_in : while (1) { - i64toi32_i32$0 = $2$hi; - i64toi32_i32$0 = $0$hi; - i64toi32_i32$0 = $2$hi; - i64toi32_i32$1 = $0$hi; - if (i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & $2_1 >>> 0 > $0 >>> 0 | 0) | 0) { + $2_1 = $3_1; + $6_1 = $1_1; + if ($2_1 >>> 0 > $6_1 >>> 0 | (($2_1 | 0) == ($6_1 | 0) & $5_1 >>> 0 > $0 >>> 0 | 0) | 0) { break block } - i64toi32_i32$0 = $2$hi; - i64toi32_i32$0 = __wasm_i64_mul($1_1 | 0, $1$hi | 0, $2_1 | 0, i64toi32_i32$0 | 0) | 0; - $1_1 = i64toi32_i32$0; - $1$hi = i64toi32_i32$HIGH_BITS; - i64toi32_i32$0 = 0; - i64toi32_i32$1 = 1; - i64toi32_i32$4 = $2_1 + i64toi32_i32$1 | 0; - i64toi32_i32$5 = $2$hi + i64toi32_i32$0 | 0; - if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { - i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + $2_1 = $3_1; + $2_1 = __wasm_i64_mul($7_1 | 0, $4_1 | 0, $5_1 | 0, $2_1 | 0) | 0; + $7_1 = $2_1; + $4_1 = i64toi32_i32$HIGH_BITS; + $2_1 = 0; + $6_1 = 1; + $5_1 = $5_1 + $6_1 | 0; + $3_1 = $3_1 + $2_1 | 0; + if ($5_1 >>> 0 < $6_1 >>> 0) { + $3_1 = $3_1 + 1 | 0 } - $2_1 = i64toi32_i32$4; - $2$hi = i64toi32_i32$5; continue loop_in; }; } - i64toi32_i32$5 = $1$hi; - i64toi32_i32$HIGH_BITS = $1$hi; - return $1_1 | 0; + i64toi32_i32$HIGH_BITS = $4_1; + return $7_1 | 0; } function $18($0, $1_1) { @@ -331,213 +275,164 @@ function asmFunc(global, env, buffer) { function legalstub$16($0, $1_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; - var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0; - i64toi32_i32$0 = 0; - $4_1 = $0; - $4$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = $1_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) { + var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0; + $3_1 = 0; + $5_1 = $0; + $6_1 = $3_1; + $3_1 = 0; + $4_1 = 32; + $2_1 = $4_1 & 31 | 0; + if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $12_1 = 0; + $0 = $1_1 << $2_1 | 0; + $4_1 = 0; } } else { { - 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_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $0 = ((1 << $2_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $2_1 | 0) | 0) | 0 | ($3_1 << $2_1 | 0) | 0; + $4_1 = $1_1 << $2_1 | 0; } } - $7$hi = i64toi32_i32$1; - i64toi32_i32$1 = $4$hi; - i64toi32_i32$0 = $4_1; - i64toi32_i32$2 = $7$hi; - i64toi32_i32$3 = $12_1; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$2 = $16(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; - i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - $2_1 = 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_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } + $1_1 = $0; + $0 = $6_1; + $3_1 = $5_1; + $1_1 = $0 | $1_1 | 0; + $1_1 = $16($3_1 | $4_1 | 0 | 0, $1_1 | 0) | 0; + $3_1 = i64toi32_i32$HIGH_BITS; + $6_1 = $1_1; + $5_1 = $3_1; + $0 = $1_1; + $4_1 = 32; + $2_1 = $4_1 & 31 | 0; + if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { + $0 = $3_1 >>> $2_1 | 0 } else { - { - i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $13_1 = (((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; - } + $0 = (((1 << $2_1 | 0) - 1 | 0) & $3_1 | 0) << (32 - $2_1 | 0) | 0 | ($0 >>> $2_1 | 0) | 0 } - setTempRet0($13_1 | 0); - i64toi32_i32$2 = $2$hi; - return $2_1 | 0; + setTempRet0($0 | 0); + return $6_1 | 0; } function legalstub$17($0, $1_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; - var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0; - i64toi32_i32$0 = 0; - $4_1 = $0; - $4$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - i64toi32_i32$2 = $1_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) { + var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0; + $3_1 = 0; + $5_1 = $0; + $6_1 = $3_1; + $3_1 = 0; + $4_1 = 32; + $2_1 = $4_1 & 31 | 0; + if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { - i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; - $12_1 = 0; + $0 = $1_1 << $2_1 | 0; + $4_1 = 0; } } else { { - 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_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $0 = ((1 << $2_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $2_1 | 0) | 0) | 0 | ($3_1 << $2_1 | 0) | 0; + $4_1 = $1_1 << $2_1 | 0; } } - $7$hi = i64toi32_i32$1; - i64toi32_i32$1 = $4$hi; - i64toi32_i32$0 = $4_1; - i64toi32_i32$2 = $7$hi; - i64toi32_i32$3 = $12_1; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; - i64toi32_i32$2 = $17(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; - i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; - $2_1 = 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_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } + $1_1 = $0; + $0 = $6_1; + $3_1 = $5_1; + $1_1 = $0 | $1_1 | 0; + $1_1 = $17($3_1 | $4_1 | 0 | 0, $1_1 | 0) | 0; + $3_1 = i64toi32_i32$HIGH_BITS; + $6_1 = $1_1; + $5_1 = $3_1; + $0 = $1_1; + $4_1 = 32; + $2_1 = $4_1 & 31 | 0; + if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { + $0 = $3_1 >>> $2_1 | 0 } else { - { - i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $13_1 = (((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; - } + $0 = (((1 << $2_1 | 0) - 1 | 0) & $3_1 | 0) << (32 - $2_1 | 0) | 0 | ($0 >>> $2_1 | 0) | 0 } - setTempRet0($13_1 | 0); - i64toi32_i32$2 = $2$hi; - return $2_1 | 0; + setTempRet0($0 | 0); + return $6_1 | 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 = 0, $22 = 0, var$6 = 0, $24 = 0, $17_1 = 0, $18_1 = 0, $23 = 0, $29 = 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 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - } + function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1_1, $2_1, $3_1) { + $0 = $0 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $10_1 = 0, $11_1 = 0; + $5_1 = $2_1; + $9_1 = $5_1 >>> 16 | 0; + $10_1 = $0 >>> 16 | 0; + $11_1 = Math_imul($9_1, $10_1); + $8_1 = $5_1; + $6_1 = $0; + $7_1 = 32; + $4_1 = $7_1 & 31 | 0; + if (32 >>> 0 <= ($7_1 & 63 | 0) >>> 0) { + $1_1 = $1_1 >>> $4_1 | 0 } else { - { - i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; - $21 = (((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; - } + $1_1 = (((1 << $4_1 | 0) - 1 | 0) & $1_1 | 0) << (32 - $4_1 | 0) | 0 | ($6_1 >>> $4_1 | 0) | 0 } - $23 = $17_1 + Math_imul($18_1, $21) | 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 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - } + $6_1 = $11_1 + Math_imul($8_1, $1_1) | 0; + $1_1 = $2_1; + $7_1 = 32; + $4_1 = $7_1 & 31 | 0; + if (32 >>> 0 <= ($7_1 & 63 | 0) >>> 0) { + $1_1 = $3_1 >>> $4_1 | 0 } else { - { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; - $22 = (((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_1 = (((1 << $4_1 | 0) - 1 | 0) & $3_1 | 0) << (32 - $4_1 | 0) | 0 | ($1_1 >>> $4_1 | 0) | 0 } - $29 = $23 + Math_imul($22, 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 + (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) { + $1_1 = $6_1 + Math_imul($1_1, $0) | 0; + $5_1 = $5_1 & 65535 | 0; + $0 = $0 & 65535 | 0; + $8_1 = Math_imul($5_1, $0); + $5_1 = ($8_1 >>> 16 | 0) + Math_imul($5_1, $10_1) | 0; + $1_1 = $1_1 + ($5_1 >>> 16 | 0) | 0; + $5_1 = ($5_1 & 65535 | 0) + Math_imul($9_1, $0) | 0; + $6_1 = 0; + $3_1 = $1_1 + ($5_1 >>> 16 | 0) | 0; + $7_1 = 32; + $4_1 = $7_1 & 31 | 0; + if (32 >>> 0 <= ($7_1 & 63 | 0) >>> 0) { { - i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; - $24 = 0; + $1_1 = $3_1 << $4_1 | 0; + $6_1 = 0; } } else { { - 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 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $1_1 = ((1 << $4_1 | 0) - 1 | 0) & ($3_1 >>> (32 - $4_1 | 0) | 0) | 0 | ($6_1 << $4_1 | 0) | 0; + $6_1 = $3_1 << $4_1 | 0; } } - $56$hi = i64toi32_i32$0; - i64toi32_i32$0 = 0; - $62$hi = i64toi32_i32$0; - i64toi32_i32$0 = $56$hi; - i64toi32_i32$2 = $24; - 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; + $0 = $1_1; + $1_1 = 0; + $2_1 = $1_1; + $1_1 = $0; + $3_1 = $2_1; + $7_1 = $5_1 << 16 | 0 | ($8_1 & 65535 | 0) | 0; + $3_1 = $1_1 | $3_1 | 0; + $6_1 = $6_1 | $7_1 | 0; + i64toi32_i32$HIGH_BITS = $3_1; + return $6_1 | 0; } - function __wasm_ctz_i32(var$0) { - var$0 = var$0 | 0; - if (var$0) { - return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0 + function __wasm_ctz_i32($0) { + $0 = $0 | 0; + if ($0) { + return 31 - Math_clz32(($0 + -1 | 0) ^ $0 | 0) | 0 | 0 } return 32 | 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; + function __wasm_i64_mul($0, $1_1, $2_1, $3_1) { + $0 = $0 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + $3_1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0 | 0, $1_1 | 0, $2_1 | 0, $3_1 | 0) | 0; + $1_1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = $1_1; + return $3_1 | 0; } var FUNCTION_TABLE = []; |