summaryrefslogtreecommitdiff
path: root/test/wasm2js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2019-04-22 14:00:35 -0700
committerGitHub <noreply@github.com>2019-04-22 14:00:35 -0700
commitff710e63eaed7cf8fbf3042843f6243597da49be (patch)
tree204c03398c17c136690a2798d099554e6698f4f2 /test/wasm2js
parentf87de2ae0d430f8d4204df8fceb194c24e29b413 (diff)
downloadbinaryen-ff710e63eaed7cf8fbf3042843f6243597da49be.tar.gz
binaryen-ff710e63eaed7cf8fbf3042843f6243597da49be.tar.bz2
binaryen-ff710e63eaed7cf8fbf3042843f6243597da49be.zip
wasm2js: unreachability fixes (#2037)
Also test in pass-debug mode, for better coverage.
Diffstat (limited to 'test/wasm2js')
-rw-r--r--test/wasm2js/block.2asm.js12
-rw-r--r--test/wasm2js/br.2asm.js15
-rw-r--r--test/wasm2js/br_table.2asm.js6
-rw-r--r--test/wasm2js/br_table_temp.2asm.js1
-rw-r--r--test/wasm2js/i64.2asm.js242
-rw-r--r--test/wasm2js/int_exprs.2asm.js2662
-rw-r--r--test/wasm2js/left-to-right.2asm.js242
-rw-r--r--test/wasm2js/loop.2asm.js8
-rw-r--r--test/wasm2js/traps.2asm.js484
-rw-r--r--test/wasm2js/unreachable-insts.2asm.js31
-rw-r--r--test/wasm2js/unreachable-insts.wast13
-rw-r--r--test/wasm2js/unreachable.2asm.js522
12 files changed, 2382 insertions, 1856 deletions
diff --git a/test/wasm2js/block.2asm.js b/test/wasm2js/block.2asm.js
index cff354c48..3bb752e61 100644
--- a/test/wasm2js/block.2asm.js
+++ b/test/wasm2js/block.2asm.js
@@ -135,10 +135,8 @@ function asmFunc(global, env, buffer) {
$0 = 0;
$1_1 = $0;
block : {
- block47 : {
- $2_1 = 1;
- break block;
- }
+ $2_1 = 1;
+ break block;
}
$0 = $1_1 + $2_1 | 0;
$5_1 = $0;
@@ -151,10 +149,8 @@ function asmFunc(global, env, buffer) {
$0 = $9_1 + $10_1 | 0;
$13_1 = $0;
block51 : {
- block52 : {
- $14_1 = 8;
- break block51;
- }
+ $14_1 = 8;
+ break block51;
}
$0 = $13_1 + $14_1 | 0;
return $0 | 0;
diff --git a/test/wasm2js/br.2asm.js b/test/wasm2js/br.2asm.js
index 1aa2f3edc..83401094a 100644
--- a/test/wasm2js/br.2asm.js
+++ b/test/wasm2js/br.2asm.js
@@ -449,15 +449,14 @@ function asmFunc(global, env, buffer) {
}
function $47() {
- var i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0;
+ var $0 = 0, $0$hi = 0, i64toi32_i32$1 = 0;
block : {
- i64toi32_i32$0 = 0;
$0 = 45;
- $0$hi = i64toi32_i32$0;
+ $0$hi = 0;
break block;
}
- i64toi32_i32$0 = $0$hi;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
+ i64toi32_i32$1 = $0$hi;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return $0 | 0;
}
@@ -519,10 +518,8 @@ function asmFunc(global, env, buffer) {
function $54() {
var $0 = 0;
block : {
- block0 : {
- $0 = 8;
- break block;
- }
+ $0 = 8;
+ break block;
}
return 1 + $0 | 0 | 0;
}
diff --git a/test/wasm2js/br_table.2asm.js b/test/wasm2js/br_table.2asm.js
index bd66eb523..849d11945 100644
--- a/test/wasm2js/br_table.2asm.js
+++ b/test/wasm2js/br_table.2asm.js
@@ -49973,7 +49973,7 @@ function asmFunc(global, env, buffer) {
}
function $54() {
- var i64toi32_i32$0 = 0, $1_1 = 0, $1$hi = 0;
+ var i64toi32_i32$0 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$1 = 0;
block : {
i64toi32_i32$0 = 0;
$1_1 = 45;
@@ -49983,8 +49983,8 @@ function asmFunc(global, env, buffer) {
break block;
};
}
- i64toi32_i32$0 = $1$hi;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
+ i64toi32_i32$1 = $1$hi;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return $1_1 | 0;
}
diff --git a/test/wasm2js/br_table_temp.2asm.js b/test/wasm2js/br_table_temp.2asm.js
index e6e397f01..a5f423d22 100644
--- a/test/wasm2js/br_table_temp.2asm.js
+++ b/test/wasm2js/br_table_temp.2asm.js
@@ -49977,7 +49977,6 @@ function asmFunc(global, env, buffer) {
break block;
};
}
- i64toi32_i32$0 = $1$hi;
return $1_1 | 0;
}
diff --git a/test/wasm2js/i64.2asm.js b/test/wasm2js/i64.2asm.js
index 73a67a79a..a92057d30 100644
--- a/test/wasm2js/i64.2asm.js
+++ b/test/wasm2js/i64.2asm.js
@@ -3094,141 +3094,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
}
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -3347,7 +3345,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
diff --git a/test/wasm2js/int_exprs.2asm.js b/test/wasm2js/int_exprs.2asm.js
index ee8b7da4d..09dd71093 100644
--- a/test/wasm2js/int_exprs.2asm.js
+++ b/test/wasm2js/int_exprs.2asm.js
@@ -1368,141 +1368,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- {
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
+ i64toi32_i32$1 = 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
}
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -1621,7 +1619,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -2311,141 +2309,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
+ i64toi32_i32$1 = 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
}
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -2564,7 +2560,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -3110,141 +3106,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- {
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
}
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -3363,7 +3357,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -3888,141 +3882,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- {
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
}
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -4141,7 +4133,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -4707,141 +4699,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
}
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -4960,7 +4950,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -5544,141 +5534,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
+ i64toi32_i32$1 = 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
}
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -5797,7 +5785,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -6381,141 +6369,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
+ i64toi32_i32$1 = 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
}
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -6634,7 +6620,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -7218,141 +7204,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
}
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -7471,7 +7455,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -8070,141 +8054,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
- {
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
}
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -8323,7 +8305,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -8924,141 +8906,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
+ i64toi32_i32$1 = 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
}
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -9177,7 +9157,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -9778,141 +9758,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
}
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -10031,7 +10009,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
diff --git a/test/wasm2js/left-to-right.2asm.js b/test/wasm2js/left-to-right.2asm.js
index 490293751..2b669abf7 100644
--- a/test/wasm2js/left-to-right.2asm.js
+++ b/test/wasm2js/left-to-right.2asm.js
@@ -1772,141 +1772,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37_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;
- }
- }
- var$2 = $37_1;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38_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;
- }
- }
- var$4 = $38_1;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37_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;
}
}
- var$3 = $39_1;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37_1;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40_1 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38_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;
+ }
+ }
+ var$4 = $38_1;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65_1 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40_1;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65_1;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39_1;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40_1 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
}
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65_1 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40_1;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65_1;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -2025,7 +2023,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
diff --git a/test/wasm2js/loop.2asm.js b/test/wasm2js/loop.2asm.js
index 84646905b..eb891c8b4 100644
--- a/test/wasm2js/loop.2asm.js
+++ b/test/wasm2js/loop.2asm.js
@@ -293,10 +293,8 @@ function asmFunc(global, env, buffer) {
$1_1 = $0;
block : {
loop_in : do {
- block54 : {
- $2_1 = 1;
- break block;
- }
+ $2_1 = 1;
+ break block;
break loop_in;
} while (1);
}
@@ -351,7 +349,7 @@ function asmFunc(global, env, buffer) {
}
function $14() {
- var $0 = 0, $1_1 = 0, $6_1 = 0, $2_1 = 0, $7_1 = 0, $3_1 = 0, $8_1 = 0, $5_1 = 0, wasm2js_i32$0 = 0;
+ var $0 = 0, $1_1 = 0, $2_1 = 0, $3_1 = 0, $5_1 = 0, wasm2js_i32$0 = 0;
$0 = 0;
$1_1 = $0;
loop_in : do {
diff --git a/test/wasm2js/traps.2asm.js b/test/wasm2js/traps.2asm.js
index 85b1c6a3f..4dd6c2536 100644
--- a/test/wasm2js/traps.2asm.js
+++ b/test/wasm2js/traps.2asm.js
@@ -416,141 +416,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
}
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -669,7 +667,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
@@ -1344,141 +1342,139 @@ function asmFunc(global, env, buffer) {
label$7 : {
label$8 : {
label$9 : {
- label$10 : {
- label$11 : {
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- 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;
- $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
- $37 = (((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;
- }
- }
- var$2 = $37;
- if (var$2) {
- block : {
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- if ((var$3 | 0) == (0 | 0)) {
- break label$11
- }
- 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;
- $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- }
- } else {
- {
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
- $38 = (((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;
- }
- }
- var$4 = $38;
- if ((var$4 | 0) == (0 | 0)) {
- break label$9
- }
- var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
- if (var$2 >>> 0 <= 31 >>> 0) {
- break label$8
- }
- break label$2;
- }
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$1 = var$1;
- i64toi32_i32$0 = 1;
- i64toi32_i32$3 = 0;
- if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
- break label$2
- }
- i64toi32_i32$1 = var$0$hi;
- var$2 = var$0;
- i64toi32_i32$1 = var$1$hi;
- var$3 = var$1;
- var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
- i64toi32_i32$1 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$2;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2 | 0;
- }
- i64toi32_i32$2 = var$1$hi;
- i64toi32_i32$3 = var$1;
+ label$11 : {
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 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$1 = 0;
- $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
- $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $37 = (((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;
}
}
- var$3 = $39;
- i64toi32_i32$1 = var$0$hi;
- if ((var$0 | 0) == (0 | 0)) {
- break label$7
- }
- if ((var$3 | 0) == (0 | 0)) {
- break label$6
- }
- var$4 = var$3 + 4294967295 | 0;
- if (var$4 & var$3 | 0) {
- break label$6
- }
- i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2 | 0;
- i64toi32_i32$3 = 0;
- i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ var$2 = $37;
+ if (var$2) {
{
- i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
- $40 = 0;
- }
- } else {
- {
- i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
- $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$11
+ }
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $38 = (((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;
+ }
+ }
+ var$4 = $38;
+ if ((var$4 | 0) == (0 | 0)) {
+ break label$9
+ }
+ var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0;
+ if (var$2 >>> 0 <= 31 >>> 0) {
+ break label$8
+ }
+ break label$2;
}
}
- $63$hi = i64toi32_i32$3;
- i64toi32_i32$3 = var$0$hi;
- i64toi32_i32$1 = var$0;
- i64toi32_i32$2 = 0;
- i64toi32_i32$0 = 4294967295;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
- $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
- $65$hi = i64toi32_i32$2;
- i64toi32_i32$2 = $63$hi;
- i64toi32_i32$3 = $40;
- i64toi32_i32$1 = $65$hi;
- i64toi32_i32$0 = $65;
- i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$1 = var$1;
+ i64toi32_i32$0 = 1;
+ i64toi32_i32$3 = 0;
+ if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) {
+ break label$2
+ }
+ i64toi32_i32$1 = var$0$hi;
+ var$2 = var$0;
+ i64toi32_i32$1 = var$1$hi;
+ var$3 = var$1;
+ var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0;
i64toi32_i32$1 = 0;
- i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ legalfunc$wasm2js_scratch_store_i64(var$0 - Math_imul(var$2, var$3) | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$2;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3 | 0;
+ return i64toi32_i32$2 | 0;
+ }
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = 0;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ var$3 = $39;
+ i64toi32_i32$1 = var$0$hi;
+ if ((var$0 | 0) == (0 | 0)) {
+ break label$7
+ }
+ if ((var$3 | 0) == (0 | 0)) {
+ break label$6
+ }
+ var$4 = var$3 + 4294967295 | 0;
+ if (var$4 & var$3 | 0) {
+ break label$6
+ }
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
+ i64toi32_i32$3 = 0;
+ i64toi32_i32$0 = 32;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $40 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
}
+ $63$hi = i64toi32_i32$3;
+ i64toi32_i32$3 = var$0$hi;
+ i64toi32_i32$1 = var$0;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0;
+ $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0;
+ $65$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $63$hi;
+ i64toi32_i32$3 = $40;
+ i64toi32_i32$1 = $65$hi;
+ i64toi32_i32$0 = $65;
+ i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0;
+ legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0 | 0 | 0, i64toi32_i32$1 | 0);
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + 4294967295 | 0;
if ((var$4 & var$3 | 0 | 0) == (0 | 0)) {
@@ -1597,7 +1593,7 @@ function asmFunc(global, env, buffer) {
var$0$hi = i64toi32_i32$2;
label$13 : {
if (var$2) {
- block3 : {
+ {
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$1 = var$1;
i64toi32_i32$3 = 4294967295;
diff --git a/test/wasm2js/unreachable-insts.2asm.js b/test/wasm2js/unreachable-insts.2asm.js
new file mode 100644
index 000000000..a88a82e9e
--- /dev/null
+++ b/test/wasm2js/unreachable-insts.2asm.js
@@ -0,0 +1,31 @@
+
+function asmFunc(global, env, buffer) {
+ "almost asm";
+ var HEAP8 = new global.Int8Array(buffer);
+ var HEAP16 = new global.Int16Array(buffer);
+ var HEAP32 = new global.Int32Array(buffer);
+ var HEAPU8 = new global.Uint8Array(buffer);
+ var HEAPU16 = new global.Uint16Array(buffer);
+ var HEAPU32 = new global.Uint32Array(buffer);
+ var HEAPF32 = new global.Float32Array(buffer);
+ var HEAPF64 = new global.Float64Array(buffer);
+ var Math_imul = global.Math.imul;
+ var Math_fround = global.Math.fround;
+ var Math_abs = global.Math.abs;
+ var Math_clz32 = global.Math.clz32;
+ var Math_min = global.Math.min;
+ var Math_max = global.Math.max;
+ var Math_floor = global.Math.floor;
+ var Math_ceil = global.Math.ceil;
+ var Math_sqrt = global.Math.sqrt;
+ var abort = env.abort;
+ var nan = global.NaN;
+ var infinity = global.Infinity;
+ var FUNCTION_TABLE = [];
+ return {
+
+ };
+}
+
+const memasmFunc = new ArrayBuffer(65536);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
diff --git a/test/wasm2js/unreachable-insts.wast b/test/wasm2js/unreachable-insts.wast
new file mode 100644
index 000000000..1e3d31439
--- /dev/null
+++ b/test/wasm2js/unreachable-insts.wast
@@ -0,0 +1,13 @@
+(module
+ (type $0 (func (param f64 f64 f32)))
+ (memory $0 1 1)
+ (func $0 (; 0 ;) (type $0) (param $0 f64) (param $1 f64) (param $2 f32)
+ (f64.store offset=22 align=1
+ (block $label$1 (result i32)
+ (unreachable)
+ )
+ (f64.const 1)
+ )
+ )
+)
+
diff --git a/test/wasm2js/unreachable.2asm.js b/test/wasm2js/unreachable.2asm.js
new file mode 100644
index 000000000..0f4aef7a6
--- /dev/null
+++ b/test/wasm2js/unreachable.2asm.js
@@ -0,0 +1,522 @@
+import { setTempRet0 } from 'env';
+
+function asmFunc(global, env, buffer) {
+ "almost asm";
+ var HEAP8 = new global.Int8Array(buffer);
+ var HEAP16 = new global.Int16Array(buffer);
+ var HEAP32 = new global.Int32Array(buffer);
+ var HEAPU8 = new global.Uint8Array(buffer);
+ var HEAPU16 = new global.Uint16Array(buffer);
+ var HEAPU32 = new global.Uint32Array(buffer);
+ var HEAPF32 = new global.Float32Array(buffer);
+ var HEAPF64 = new global.Float64Array(buffer);
+ var Math_imul = global.Math.imul;
+ var Math_fround = global.Math.fround;
+ var Math_abs = global.Math.abs;
+ var Math_clz32 = global.Math.clz32;
+ var Math_min = global.Math.min;
+ var Math_max = global.Math.max;
+ var Math_floor = global.Math.floor;
+ var Math_ceil = global.Math.ceil;
+ var Math_sqrt = global.Math.sqrt;
+ var abort = env.abort;
+ var nan = global.NaN;
+ var infinity = global.Infinity;
+ var setTempRet0 = env.setTempRet0;
+ var i64toi32_i32$HIGH_BITS = 0;
+ function dummy() {
+
+ }
+
+ function dummy3($0, $1, $2_1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2_1 = $2_1 | 0;
+ }
+
+ function $2() {
+ return abort() | 0;
+ }
+
+ function $3() {
+ return abort() | 0;
+ }
+
+ function $4() {
+ return +abort();
+ }
+
+ function $5() {
+ return +abort();
+ }
+
+ function $6() {
+ var $0 = 0;
+ return abort() | 0;
+ }
+
+ function $7() {
+ var $0 = 0, wasm2js_i32$0 = 0;
+ dummy();
+ wasm2js_i32$0 = abort();
+ return wasm2js_i32$0 | 0;
+ }
+
+ function $8() {
+ dummy();
+ abort();
+ }
+
+ function $9() {
+ var wasm2js_i32$0 = 0;
+ dummy();
+ wasm2js_i32$0 = abort();
+ return wasm2js_i32$0 | 0;
+ }
+
+ function $10() {
+ var $0 = 0;
+ return abort() | 0;
+ }
+
+ function $11() {
+ var $0 = 0, wasm2js_i32$0 = 0;
+ dummy();
+ wasm2js_i32$0 = abort();
+ return wasm2js_i32$0 | 0;
+ }
+
+ function $12() {
+ dummy();
+ abort();
+ }
+
+ function $13() {
+ var wasm2js_i32$0 = 0;
+ dummy();
+ wasm2js_i32$0 = abort();
+ return wasm2js_i32$0 | 0;
+ }
+
+ function $14() {
+ var $0 = 0;
+ block : {
+ dummy();
+ $0 = 1;
+ break block;
+ }
+ return $0 | 0;
+ }
+
+ function $15() {
+ var $0 = 0, $2_1 = 0, wasm2js_i32$0 = 0;
+ loop_in : do {
+ abort();
+ break loop_in;
+ } while (1);
+ return wasm2js_i32$0 | 0;
+ }
+
+ function $16() {
+ var $0 = 0, $2_1 = 0, wasm2js_i32$0 = 0;
+ loop_in : do {
+ dummy();
+ wasm2js_i32$0 = abort();
+ break loop_in;
+ } while (1);
+ return wasm2js_i32$0 | 0;
+ }
+
+ function $17() {
+ loop_in : do {
+ dummy();
+ abort();
+ break loop_in;
+ } while (1);
+ }
+
+ function $18() {
+ var $0 = 0;
+ block : {
+ loop_in : do {
+ dummy();
+ $0 = 1;
+ break block;
+ break loop_in;
+ } while (1);
+ }
+ return $0 | 0;
+ }
+
+ function $19() {
+ return abort() | 0;
+ }
+
+ function $20() {
+ abort();
+ }
+
+ function $21() {
+ var $0 = 0;
+ return abort() | 0;
+ }
+
+ function $22() {
+ var $0 = 0;
+ return abort() | 0;
+ }
+
+ function $23() {
+ abort();
+ }
+
+ function $24() {
+ var $0 = 0;
+ return abort() | 0;
+ }
+
+ function $25() {
+ var $1 = 0;
+ return abort() | 0;
+ }
+
+ function $26() {
+ return abort() | 0;
+ }
+
+ function $27() {
+ var $0 = 0;
+ return abort() | 0;
+ }
+
+ function $28($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ var $4_1 = 0;
+ if ($0) {
+ abort()
+ } else {
+ $4_1 = $1
+ }
+ return $4_1 | 0;
+ }
+
+ function $29($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ var $4_1 = 0;
+ if ($0) {
+ $4_1 = $1
+ } else {
+ abort()
+ }
+ return $4_1 | 0;
+ }
+
+ function $30($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ var $2_1 = 0, $3_1 = 0;
+ return abort() | 0;
+ }
+
+ function $31($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ var $2_1 = 0, $3_1 = 0, wasm2js_i32$0 = 0;
+ $2_1 = $0;
+ wasm2js_i32$0 = abort();
+ return wasm2js_i32$0 | 0;
+ }
+
+ function $32() {
+ return abort() | 0;
+ }
+
+ function $33() {
+ abort();
+ }
+
+ function $34() {
+ abort();
+ }
+
+ function $35() {
+ abort();
+ }
+
+ function $36() {
+ abort();
+ }
+
+ function $37() {
+ abort();
+ }
+
+ function $38() {
+ abort();
+ }
+
+ function $39() {
+ abort();
+ }
+
+ function $40() {
+ abort();
+ }
+
+ function $41() {
+ return Math_fround(abort());
+ }
+
+ function $42() {
+ return abort() | 0;
+ }
+
+ function $43() {
+ abort();
+ }
+
+ function $44() {
+ abort();
+ }
+
+ function $45() {
+ abort();
+ }
+
+ function $46() {
+ abort();
+ }
+
+ function $47() {
+ return Math_fround(abort());
+ }
+
+ function $48() {
+ return abort() | 0;
+ }
+
+ function $49() {
+ return abort() | 0;
+ }
+
+ function $50() {
+ return abort() | 0;
+ }
+
+ function $51() {
+ return abort() | 0;
+ }
+
+ function $52() {
+ return abort() | 0;
+ }
+
+ function $53() {
+ return abort() | 0;
+ }
+
+ function $54() {
+ return abort() | 0;
+ }
+
+ function legalstub$26() {
+ var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 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_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7_1 = (((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($7_1 | 0);
+ i64toi32_i32$0 = $0$hi;
+ return $0 | 0;
+ }
+
+ function legalstub$41() {
+ return +(+Math_fround($41()));
+ }
+
+ function legalstub$42() {
+ var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = $42() | 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_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7_1 = (((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($7_1 | 0);
+ i64toi32_i32$0 = $0$hi;
+ return $0 | 0;
+ }
+
+ function legalstub$47() {
+ return +(+Math_fround($47()));
+ }
+
+ function legalstub$49() {
+ var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = $49() | 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_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7_1 = (((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($7_1 | 0);
+ i64toi32_i32$0 = $0$hi;
+ return $0 | 0;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ type_i32: $2,
+ type_i64: $3,
+ type_f32: $4,
+ type_f64: $5,
+ as_func_first: $6,
+ as_func_mid: $7,
+ as_func_last: $8,
+ as_func_value: $9,
+ as_block_first: $10,
+ as_block_mid: $11,
+ as_block_last: $12,
+ as_block_value: $13,
+ as_block_broke: $14,
+ as_loop_first: $15,
+ as_loop_mid: $16,
+ as_loop_last: $17,
+ as_loop_broke: $18,
+ as_br_value: $19,
+ as_br_if_cond: $20,
+ as_br_if_value: $21,
+ as_br_if_value_cond: $22,
+ as_br_table_index: $23,
+ as_br_table_value: $24,
+ as_br_table_value_index: $25,
+ as_return_value: legalstub$26,
+ as_if_cond: $27,
+ as_if_then: $28,
+ as_if_else: $29,
+ as_select_first: $30,
+ as_select_second: $31,
+ as_select_cond: $32,
+ as_call_first: $33,
+ as_call_mid: $34,
+ as_call_last: $35,
+ as_call_indirect_func: $36,
+ as_call_indirect_first: $37,
+ as_call_indirect_mid: $38,
+ as_call_indirect_last: $39,
+ as_local_set_value: $40,
+ as_load_address: legalstub$41,
+ as_loadN_address: legalstub$42,
+ as_store_address: $43,
+ as_store_value: $44,
+ as_storeN_address: $45,
+ as_storeN_value: $46,
+ as_unary_operand: legalstub$47,
+ as_binary_left: $48,
+ as_binary_right: legalstub$49,
+ as_test_operand: $50,
+ as_compare_left: $51,
+ as_compare_right: $52,
+ as_convert_operand: $53,
+ as_grow_memory_size: $54
+ };
+}
+
+const memasmFunc = new ArrayBuffer(65536);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+export const type_i32 = retasmFunc.type_i32;
+export const type_i64 = retasmFunc.type_i64;
+export const type_f32 = retasmFunc.type_f32;
+export const type_f64 = retasmFunc.type_f64;
+export const as_func_first = retasmFunc.as_func_first;
+export const as_func_mid = retasmFunc.as_func_mid;
+export const as_func_last = retasmFunc.as_func_last;
+export const as_func_value = retasmFunc.as_func_value;
+export const as_block_first = retasmFunc.as_block_first;
+export const as_block_mid = retasmFunc.as_block_mid;
+export const as_block_last = retasmFunc.as_block_last;
+export const as_block_value = retasmFunc.as_block_value;
+export const as_block_broke = retasmFunc.as_block_broke;
+export const as_loop_first = retasmFunc.as_loop_first;
+export const as_loop_mid = retasmFunc.as_loop_mid;
+export const as_loop_last = retasmFunc.as_loop_last;
+export const as_loop_broke = retasmFunc.as_loop_broke;
+export const as_br_value = retasmFunc.as_br_value;
+export const as_br_if_cond = retasmFunc.as_br_if_cond;
+export const as_br_if_value = retasmFunc.as_br_if_value;
+export const as_br_if_value_cond = retasmFunc.as_br_if_value_cond;
+export const as_br_table_index = retasmFunc.as_br_table_index;
+export const as_br_table_value = retasmFunc.as_br_table_value;
+export const as_br_table_value_index = retasmFunc.as_br_table_value_index;
+export const as_return_value = retasmFunc.as_return_value;
+export const as_if_cond = retasmFunc.as_if_cond;
+export const as_if_then = retasmFunc.as_if_then;
+export const as_if_else = retasmFunc.as_if_else;
+export const as_select_first = retasmFunc.as_select_first;
+export const as_select_second = retasmFunc.as_select_second;
+export const as_select_cond = retasmFunc.as_select_cond;
+export const as_call_first = retasmFunc.as_call_first;
+export const as_call_mid = retasmFunc.as_call_mid;
+export const as_call_last = retasmFunc.as_call_last;
+export const as_call_indirect_func = retasmFunc.as_call_indirect_func;
+export const as_call_indirect_first = retasmFunc.as_call_indirect_first;
+export const as_call_indirect_mid = retasmFunc.as_call_indirect_mid;
+export const as_call_indirect_last = retasmFunc.as_call_indirect_last;
+export const as_local_set_value = retasmFunc.as_local_set_value;
+export const as_load_address = retasmFunc.as_load_address;
+export const as_loadN_address = retasmFunc.as_loadN_address;
+export const as_store_address = retasmFunc.as_store_address;
+export const as_store_value = retasmFunc.as_store_value;
+export const as_storeN_address = retasmFunc.as_storeN_address;
+export const as_storeN_value = retasmFunc.as_storeN_value;
+export const as_unary_operand = retasmFunc.as_unary_operand;
+export const as_binary_left = retasmFunc.as_binary_left;
+export const as_binary_right = retasmFunc.as_binary_right;
+export const as_test_operand = retasmFunc.as_test_operand;
+export const as_compare_left = retasmFunc.as_compare_left;
+export const as_compare_right = retasmFunc.as_compare_right;
+export const as_convert_operand = retasmFunc.as_convert_operand;
+export const as_grow_memory_size = retasmFunc.as_grow_memory_size;