summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/test/wasm2js.py150
-rw-r--r--src/wasm2js.h57
-rw-r--r--test/wasm2js/address.2asm.js28
-rw-r--r--test/wasm2js/base64.2asm.js.opt31
-rw-r--r--test/wasm2js/block.2asm.js7
-rw-r--r--test/wasm2js/br.2asm.js68
-rw-r--r--test/wasm2js/br_if.2asm.js12
-rw-r--r--test/wasm2js/br_table.2asm.js66
-rw-r--r--test/wasm2js/br_table_temp.2asm.js10
-rw-r--r--test/wasm2js/br_table_temp.2asm.js.opt12819
-rw-r--r--test/wasm2js/br_table_to_loop.2asm.js4
-rw-r--r--test/wasm2js/br_table_to_loop.2asm.js.opt42
-rw-r--r--test/wasm2js/call.2asm.js331
-rw-r--r--test/wasm2js/call_indirect.2asm.js242
-rw-r--r--test/wasm2js/conversions-modified.2asm.js215
-rw-r--r--test/wasm2js/conversions-modified.2asm.js.opt282
-rw-r--r--test/wasm2js/dynamicLibrary.2asm.js.opt60
-rw-r--r--test/wasm2js/emscripten.2asm.js29
-rw-r--r--test/wasm2js/emscripten.2asm.js.opt131
-rw-r--r--test/wasm2js/endianness.2asm.js344
-rw-r--r--test/wasm2js/f32.2asm.js14
-rw-r--r--test/wasm2js/f64.2asm.js26
-rw-r--r--test/wasm2js/fac.2asm.js236
-rw-r--r--test/wasm2js/float-ops.2asm.js82
-rw-r--r--test/wasm2js/float-ops.2asm.js.opt404
-rw-r--r--test/wasm2js/float_literals-modified.2asm.js480
-rw-r--r--test/wasm2js/float_literals-modified.2asm.js.opt437
-rw-r--r--test/wasm2js/float_misc.2asm.js40
-rw-r--r--test/wasm2js/forward.2asm.js4
-rw-r--r--test/wasm2js/func-ptr-offset.2asm.js2
-rw-r--r--test/wasm2js/func-ptr-offset.2asm.js.opt49
-rw-r--r--test/wasm2js/func.2asm.js201
-rw-r--r--test/wasm2js/func_ptrs.2asm.js10
-rw-r--r--test/wasm2js/get-set-local.2asm.js19
-rw-r--r--test/wasm2js/get-set-local.2asm.js.opt36
-rw-r--r--test/wasm2js/get_local.2asm.js82
-rw-r--r--test/wasm2js/global_i64.2asm.js5
-rw-r--r--test/wasm2js/global_i64.2asm.js.opt39
-rw-r--r--test/wasm2js/grow-memory-tricky.2asm.js8
-rw-r--r--test/wasm2js/grow-memory-tricky.2asm.js.opt79
-rw-r--r--test/wasm2js/hello_world.2asm.js2
-rw-r--r--test/wasm2js/i32.2asm.js60
-rw-r--r--test/wasm2js/i64-add-sub.2asm.js104
-rw-r--r--test/wasm2js/i64-add-sub.2asm.js.opt110
-rw-r--r--test/wasm2js/i64-ctz.2asm.js84
-rw-r--r--test/wasm2js/i64-ctz.2asm.js.opt98
-rw-r--r--test/wasm2js/i64-lowering.2asm.js352
-rw-r--r--test/wasm2js/i64-lowering.2asm.js.opt270
-rw-r--r--test/wasm2js/i64-rotate.2asm.js240
-rw-r--r--test/wasm2js/i64-rotate.2asm.js.opt170
-rw-r--r--test/wasm2js/i64-select.2asm.js.opt31
-rw-r--r--test/wasm2js/i64-shifts.2asm.js126
-rw-r--r--test/wasm2js/i64-shifts.2asm.js.opt182
-rw-r--r--test/wasm2js/i64.2asm.js1805
-rw-r--r--test/wasm2js/if_unreachable.2asm.js.opt31
-rw-r--r--test/wasm2js/int_exprs.2asm.js4409
-rw-r--r--test/wasm2js/int_literals.2asm.js156
-rw-r--r--test/wasm2js/labels.2asm.js24
-rw-r--r--test/wasm2js/left-to-right.2asm.js1039
-rw-r--r--test/wasm2js/loop.2asm.js147
-rw-r--r--test/wasm2js/minus_minus.2asm.js4
-rw-r--r--test/wasm2js/minus_minus.2asm.js.opt36
-rw-r--r--test/wasm2js/nested-selects.2asm.js.opt37
-rw-r--r--test/wasm2js/ordering.2asm.js22
-rw-r--r--test/wasm2js/ordering.2asm.js.opt57
-rw-r--r--test/wasm2js/reinterpret.2asm.js20
-rw-r--r--test/wasm2js/reinterpret.2asm.js.opt99
-rw-r--r--test/wasm2js/select.2asm.js47
-rw-r--r--test/wasm2js/set_local.2asm.js68
-rw-r--r--test/wasm2js/stack-modified.2asm.js236
-rw-r--r--test/wasm2js/stack-modified.2asm.js.opt127
-rw-r--r--test/wasm2js/switch.2asm.js30
-rw-r--r--test/wasm2js/tee_local.2asm.js118
-rw-r--r--test/wasm2js/traps.2asm.js889
-rw-r--r--test/wasm2js/unaligned.2asm.js42
-rw-r--r--test/wasm2js/unaligned.2asm.js.opt120
-rw-r--r--test/wasm2js/unary-ops.2asm.js210
-rw-r--r--test/wasm2js/unary-ops.2asm.js.opt203
-rw-r--r--test/wasm2js/unreachable-insts.2asm.js.opt31
-rw-r--r--test/wasm2js/unreachable.2asm.js42
80 files changed, 23001 insertions, 6058 deletions
diff --git a/scripts/test/wasm2js.py b/scripts/test/wasm2js.py
index 396c26481..09ba82a09 100755
--- a/scripts/test/wasm2js.py
+++ b/scripts/test/wasm2js.py
@@ -36,63 +36,68 @@ wasm2js_blacklist = ['empty_imported_table.wast']
def test_wasm2js_output():
- for wasm in tests + spec_tests + extra_wasm2js_tests:
- if not wasm.endswith('.wast'):
- continue
- basename = os.path.basename(wasm)
- if basename in wasm2js_blacklist:
- continue
+ for opt in (0, 1):
+ for wasm in tests + spec_tests + extra_wasm2js_tests:
+ if not wasm.endswith('.wast'):
+ continue
+ basename = os.path.basename(wasm)
+ if basename in wasm2js_blacklist:
+ continue
- asm = basename.replace('.wast', '.2asm.js')
- expected_file = os.path.join(wasm2js_dir, asm)
+ asm = basename.replace('.wast', '.2asm.js')
+ expected_file = os.path.join(wasm2js_dir, asm)
+ if opt:
+ expected_file += '.opt'
- if not os.path.exists(expected_file):
- continue
+ if not os.path.exists(expected_file):
+ continue
- print '..', wasm
+ print '..', wasm
- t = os.path.join(options.binaryen_test, wasm)
+ t = os.path.join(options.binaryen_test, wasm)
- all_out = []
+ all_out = []
- for module, asserts in split_wast(t):
- with open('split.wast', 'w') as o:
- o.write(module + '\n'.join(asserts))
+ for module, asserts in split_wast(t):
+ with open('split.wast', 'w') as o:
+ o.write(module + '\n'.join(asserts))
- cmd = WASM2JS + ['split.wast', '-O']
- if 'emscripten' in wasm:
- cmd += ['--emscripten']
- out = run_command(cmd)
- all_out.append(out)
+ cmd = WASM2JS + ['split.wast']
+ if opt:
+ cmd += ['-O']
+ if 'emscripten' in wasm:
+ cmd += ['--emscripten']
+ out = run_command(cmd)
+ all_out.append(out)
- if not NODEJS and not MOZJS:
- print 'No JS interpreters. Skipping spec tests.'
- continue
+ if not NODEJS and not MOZJS:
+ print 'No JS interpreters. Skipping spec tests.'
+ continue
- open('a.2asm.mjs', 'w').write(out)
+ open('a.2asm.mjs', 'w').write(out)
- cmd += ['--allow-asserts']
- out = run_command(cmd)
- # also verify it passes pass-debug verifications
- with_pass_debug(lambda: run_command(cmd))
+ cmd += ['--allow-asserts']
+ out = run_command(cmd)
+ # also verify it passes pass-debug verifications
+ with_pass_debug(lambda: run_command(cmd))
- open('a.2asm.asserts.mjs', 'w').write(out)
+ open('a.2asm.asserts.mjs', 'w').write(out)
- # verify asm.js is valid js, note that we're using --experimental-modules
- # to enable ESM syntax and we're also passing a custom loader to handle the
- # `spectest` and `env` modules in our tests.
- if NODEJS:
- node = [NODEJS, '--experimental-modules', '--loader', './scripts/test/node-esm-loader.mjs']
- cmd = node[:]
- cmd.append('a.2asm.mjs')
- out = run_command(cmd)
- fail_if_not_identical(out, '')
- cmd = node[:]
- cmd.append('a.2asm.asserts.mjs')
- out = run_command(cmd, expected_err='', err_ignore='The ESM module loader is experimental')
- fail_if_not_identical(out, '')
+ # verify asm.js is valid js, note that we're using --experimental-modules
+ # to enable ESM syntax and we're also passing a custom loader to handle the
+ # `spectest` and `env` modules in our tests.
+ if NODEJS:
+ node = [NODEJS, '--experimental-modules', '--loader', './scripts/test/node-esm-loader.mjs']
+ cmd = node[:]
+ cmd.append('a.2asm.mjs')
+ out = run_command(cmd)
+ fail_if_not_identical(out, '')
+ cmd = node[:]
+ cmd.append('a.2asm.asserts.mjs')
+ out = run_command(cmd, expected_err='', err_ignore='The ESM module loader is experimental')
+ fail_if_not_identical(out, '')
- fail_if_not_identical_to_file(''.join(all_out), expected_file)
+ fail_if_not_identical_to_file(''.join(all_out), expected_file)
def test_asserts_output():
@@ -123,41 +128,46 @@ def test_wasm2js():
def update_wasm2js_tests():
print '\n[ checking wasm2js ]\n'
- for wasm in tests + spec_tests + extra_wasm2js_tests:
- if not wasm.endswith('.wast'):
- continue
+ for opt in (0, 1):
+ for wasm in tests + spec_tests + extra_wasm2js_tests:
+ if not wasm.endswith('.wast'):
+ continue
- if os.path.basename(wasm) in wasm2js_blacklist:
- continue
+ if os.path.basename(wasm) in wasm2js_blacklist:
+ continue
- asm = os.path.basename(wasm).replace('.wast', '.2asm.js')
- expected_file = os.path.join(wasm2js_dir, asm)
+ asm = os.path.basename(wasm).replace('.wast', '.2asm.js')
+ expected_file = os.path.join(wasm2js_dir, asm)
+ if opt:
+ expected_file += '.opt'
- # we run wasm2js on tests and spec tests only if the output
- # exists - only some work so far. the tests in extra are in
- # the test/wasm2js dir and so are specific to wasm2js, and
- # we run all of those.
- if wasm not in extra_wasm2js_tests and not os.path.exists(expected_file):
- continue
+ # we run wasm2js on tests and spec tests only if the output
+ # exists - only some work so far. the tests in extra are in
+ # the test/wasm2js dir and so are specific to wasm2js, and
+ # we run all of those.
+ if wasm not in extra_wasm2js_tests and not os.path.exists(expected_file):
+ continue
- print '..', wasm
+ print '..', wasm
- t = os.path.join(options.binaryen_test, wasm)
+ t = os.path.join(options.binaryen_test, wasm)
- all_out = []
+ all_out = []
- for module, asserts in split_wast(t):
- with open('split.wast', 'w') as o:
- o.write(module + '\n'.join(asserts))
+ for module, asserts in split_wast(t):
+ with open('split.wast', 'w') as o:
+ o.write(module + '\n'.join(asserts))
- cmd = WASM2JS + ['split.wast', '-O']
- if 'emscripten' in wasm:
- cmd += ['--emscripten']
- out = run_command(cmd)
- all_out.append(out)
+ cmd = WASM2JS + ['split.wast']
+ if opt:
+ cmd += ['-O']
+ if 'emscripten' in wasm:
+ cmd += ['--emscripten']
+ out = run_command(cmd)
+ all_out.append(out)
- with open(expected_file, 'w') as o:
- o.write(''.join(all_out))
+ with open(expected_file, 'w') as o:
+ o.write(''.join(all_out))
for wasm in assert_tests:
print '..', wasm
diff --git a/src/wasm2js.h b/src/wasm2js.h
index c05c16f2b..18175d443 100644
--- a/src/wasm2js.h
+++ b/src/wasm2js.h
@@ -267,29 +267,40 @@ Ref Wasm2JSBuilder::processWasm(Module* wasm, Name funcName) {
// If later on they aren't needed, we'll clean them up.
ABI::wasm2js::ensureScratchMemoryHelpers(wasm);
- PassRunner runner(wasm);
- runner.add<AutoDrop>();
- runner.add("legalize-js-interface");
- // First up remove as many non-JS operations we can, including things like
- // 64-bit integer multiplication/division, `f32.nearest` instructions, etc.
- // This may inject intrinsics which use i64 so it needs to be run before the
- // i64-to-i32 lowering pass.
- runner.add("remove-non-js-ops");
- // Currently the i64-to-32 lowering pass requires that `flatten` be run before
- // it to produce correct code. For some more details about this see #1480
- runner.add("flatten");
- runner.add("i64-to-i32-lowering");
- runner.add("flatten");
- runner.add("simplify-locals-notee-nostructure");
- runner.add("reorder-locals");
- runner.add("remove-unused-names");
- runner.add("vacuum");
- runner.add("remove-unused-module-elements");
- runner.setDebug(flags.debug);
- runner.run();
-
- // Make sure we didn't corrupt anything if we're in --allow-asserts mode (aka
- // tests)
+ // Process the code, and optimize if relevant.
+ // First, do the lowering to a JS-friendly subset.
+ {
+ PassRunner runner(wasm, options);
+ runner.add<AutoDrop>();
+ runner.add("legalize-js-interface");
+ // First up remove as many non-JS operations we can, including things like
+ // 64-bit integer multiplication/division, `f32.nearest` instructions, etc.
+ // This may inject intrinsics which use i64 so it needs to be run before the
+ // i64-to-i32 lowering pass.
+ runner.add("remove-non-js-ops");
+ // Currently the i64-to-32 lowering pass requires that `flatten` be run
+ // before it to produce correct code. For some more details about this see
+ // #1480
+ runner.add("flatten");
+ runner.add("i64-to-i32-lowering");
+ // Next, optimize that as best we can. This should not generate
+ // non-JS-friendly things.
+ if (options.optimizeLevel > 0) {
+ runner.addDefaultOptimizationPasses();
+ }
+ // Finally, get the code into the flat form we need for wasm2js itself, and
+ // optimize that a little in a way that keeps flat property.
+ runner.add("flatten");
+ runner.add("simplify-locals-notee-nostructure");
+ // TODO: coalesce-locals?
+ runner.add("reorder-locals");
+ runner.add("remove-unused-names");
+ runner.add("vacuum");
+ runner.add("remove-unused-module-elements");
+ runner.setDebug(flags.debug);
+ runner.run();
+ }
+
#ifndef NDEBUG
if (!WasmValidator().validate(*wasm)) {
WasmPrinter::printModule(wasm);
diff --git a/test/wasm2js/address.2asm.js b/test/wasm2js/address.2asm.js
index e7d8ae708..3863702fd 100644
--- a/test/wasm2js/address.2asm.js
+++ b/test/wasm2js/address.2asm.js
@@ -26,24 +26,24 @@ function asmFunc(global, env, buffer) {
function $0(i) {
i = i | 0;
var wasm2js_i32$0 = 0;
- print(HEAPU8[i | 0] | 0);
- print(HEAPU8[i + 1 | 0] | 0);
- print(HEAPU8[i + 2 | 0] | 0);
- print(HEAPU8[i + 25 | 0] | 0);
- print(HEAPU16[i >> 1] | 0);
- print((wasm2js_i32$0 = i, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8) | 0);
- print((wasm2js_i32$0 = i, HEAPU8[wasm2js_i32$0 + 1 | 0] | HEAPU8[wasm2js_i32$0 + 2 | 0] << 8) | 0);
- print(HEAPU16[i + 2 >> 1] | 0);
- print((wasm2js_i32$0 = i, HEAPU8[wasm2js_i32$0 + 25 | 0] | HEAPU8[wasm2js_i32$0 + 26 | 0] << 8) | 0);
- print(HEAP32[i >> 2] | 0);
- print((wasm2js_i32$0 = i, HEAPU8[wasm2js_i32$0 + 1 | 0] | HEAPU8[wasm2js_i32$0 + 2 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 4 | 0] << 24) | 0);
- print((wasm2js_i32$0 = i, HEAPU8[wasm2js_i32$0 + 2 | 0] | HEAPU8[wasm2js_i32$0 + 3 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 4 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 5 | 0] << 24) | 0);
- print((wasm2js_i32$0 = i, HEAPU8[wasm2js_i32$0 + 25 | 0] | HEAPU8[wasm2js_i32$0 + 26 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 27 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 28 | 0] << 24) | 0);
+ print(HEAPU8[i >> 0] | 0 | 0);
+ print(HEAPU8[(i + 1 | 0) >> 0] | 0 | 0);
+ print(HEAPU8[(i + 2 | 0) >> 0] | 0 | 0);
+ print(HEAPU8[(i + 25 | 0) >> 0] | 0 | 0);
+ print(HEAPU16[i >> 1] | 0 | 0);
+ print((wasm2js_i32$0 = i, HEAPU8[wasm2js_i32$0 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0) << 8) | 0);
+ print((wasm2js_i32$0 = i, HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 8) | 0);
+ print(HEAPU16[(i + 2 | 0) >> 1] | 0 | 0);
+ print((wasm2js_i32$0 = i, HEAPU8[(wasm2js_i32$0 + 25 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 26 | 0) >> 0] | 0 | 0) << 8) | 0);
+ print(HEAP32[i >> 2] | 0 | 0);
+ print((wasm2js_i32$0 = i, HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0) << 24) | 0);
+ print((wasm2js_i32$0 = i, HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 24) | 0);
+ print((wasm2js_i32$0 = i, HEAPU8[(wasm2js_i32$0 + 25 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 26 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 27 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 28 | 0) >> 0] | 0 | 0) << 24) | 0);
}
function $1(i) {
i = i | 0;
- HEAP32[i + 4294967295 >> 2];
+ HEAP32[(i + 4294967295 | 0) >> 2] | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/base64.2asm.js.opt b/test/wasm2js/base64.2asm.js.opt
new file mode 100644
index 000000000..6cd485ab4
--- /dev/null
+++ b/test/wasm2js/base64.2asm.js.opt
@@ -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 {
+
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var 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/block.2asm.js b/test/wasm2js/block.2asm.js
index b456a0a8c..ce6bd5b64 100644
--- a/test/wasm2js/block.2asm.js
+++ b/test/wasm2js/block.2asm.js
@@ -57,7 +57,7 @@ function asmFunc(global, env, buffer) {
function $6() {
dummy();
- return __wasm_ctz_i32(13) | 0;
+ return __wasm_ctz_i32(13 | 0) | 0 | 0;
}
function $7() {
@@ -159,10 +159,11 @@ function asmFunc(global, env, buffer) {
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/br.2asm.js b/test/wasm2js/br.2asm.js
index 1939b05bd..d8cbcb1e3 100644
--- a/test/wasm2js/br.2asm.js
+++ b/test/wasm2js/br.2asm.js
@@ -503,7 +503,7 @@ function asmFunc(global, env, buffer) {
$0 = 8;
break block;
}
- return 1 + $0 | 0;
+ return 1 + $0 | 0 | 0;
}
function $54() {
@@ -512,7 +512,7 @@ function asmFunc(global, env, buffer) {
$0 = 8;
break block;
}
- return 1 + $0 | 0;
+ return 1 + $0 | 0 | 0;
}
function $55() {
@@ -521,7 +521,7 @@ function asmFunc(global, env, buffer) {
$0 = 8;
break block;
}
- return 1 + $0 | 0;
+ return 1 + $0 | 0 | 0;
}
function $56() {
@@ -530,7 +530,7 @@ function asmFunc(global, env, buffer) {
$0 = 8;
break block;
}
- return 1 + $0 | 0;
+ return 1 + $0 | 0 | 0;
}
function $57() {
@@ -539,7 +539,7 @@ function asmFunc(global, env, buffer) {
$0 = 8;
break block;
}
- return 1 + $0 | 0;
+ return 1 + $0 | 0 | 0;
}
function $58() {
@@ -548,111 +548,111 @@ function asmFunc(global, env, buffer) {
$0 = 8;
break block;
}
- return 1 + $0 | 0;
+ return 1 + $0 | 0 | 0;
}
function legalstub$6() {
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 = $6();
+ i64toi32_i32$0 = $6() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
function legalstub$23() {
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 = $23();
+ i64toi32_i32$0 = $23() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
function legalstub$40() {
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 = $40();
+ i64toi32_i32$0 = $40() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
function legalstub$47() {
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 = $47();
+ i64toi32_i32$0 = $47() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/br_if.2asm.js b/test/wasm2js/br_if.2asm.js
index 278c4d381..d99629165 100644
--- a/test/wasm2js/br_if.2asm.js
+++ b/test/wasm2js/br_if.2asm.js
@@ -171,7 +171,7 @@ function asmFunc(global, env, buffer) {
}
$2_1 = 4 + 16 | 0;
}
- return 1 + $2_1 | 0;
+ return 1 + $2_1 | 0 | 0;
}
function $13($0) {
@@ -185,7 +185,7 @@ function asmFunc(global, env, buffer) {
$2_1 = 4;
break block;
}
- return 1 + $2_1 | 0;
+ return 1 + $2_1 | 0 | 0;
}
function $14($0) {
@@ -202,7 +202,7 @@ function asmFunc(global, env, buffer) {
}
$2_1 = 16;
}
- return 1 + $2_1 | 0;
+ return 1 + $2_1 | 0 | 0;
}
function $15($0) {
@@ -219,7 +219,7 @@ function asmFunc(global, env, buffer) {
}
$2_1 = 16;
}
- return 1 + $2_1 | 0;
+ return 1 + $2_1 | 0 | 0;
}
function $16($0) {
@@ -236,7 +236,7 @@ function asmFunc(global, env, buffer) {
break block;
};
}
- return 1 + $2_1 | 0;
+ return 1 + $2_1 | 0 | 0;
}
function $17($0) {
@@ -253,7 +253,7 @@ function asmFunc(global, env, buffer) {
break block;
};
}
- return 1 + $2_1 | 0;
+ return 1 + $2_1 | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/br_table.2asm.js b/test/wasm2js/br_table.2asm.js
index bf45c53a3..d712b6df4 100644
--- a/test/wasm2js/br_table.2asm.js
+++ b/test/wasm2js/br_table.2asm.js
@@ -209,19 +209,19 @@ function asmFunc(global, env, buffer) {
};
}
$1_1 = $8_1;
- return $1_1 + 10 | 0;
+ return $1_1 + 10 | 0 | 0;
}
$1_1 = $7_1;
- return $1_1 + 11 | 0;
+ return $1_1 + 11 | 0 | 0;
}
$1_1 = $6_1;
- return $1_1 + 12 | 0;
+ return $1_1 + 12 | 0 | 0;
}
$1_1 = $5_1;
- return $1_1 + 13 | 0;
+ return $1_1 + 13 | 0 | 0;
}
$1_1 = $4_1;
- return $1_1 + 14 | 0;
+ return $1_1 + 14 | 0 | 0;
}
function $15($0) {
@@ -13230,106 +13230,106 @@ function asmFunc(global, env, buffer) {
function legalstub$6() {
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 = $6();
+ i64toi32_i32$0 = $6() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
function legalstub$30() {
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 = $30();
+ i64toi32_i32$0 = $30() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
function legalstub$47() {
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 = $47();
+ i64toi32_i32$0 = $47() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
function legalstub$54() {
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 = $54();
+ i64toi32_i32$0 = $54() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/br_table_temp.2asm.js b/test/wasm2js/br_table_temp.2asm.js
index 1caf4956e..c479c29a4 100644
--- a/test/wasm2js/br_table_temp.2asm.js
+++ b/test/wasm2js/br_table_temp.2asm.js
@@ -205,19 +205,19 @@ function asmFunc(global, env, buffer) {
};
}
$1_1 = $8_1;
- return $1_1 + 10 | 0;
+ return $1_1 + 10 | 0 | 0;
}
$1_1 = $7_1;
- return $1_1 + 11 | 0;
+ return $1_1 + 11 | 0 | 0;
}
$1_1 = $6_1;
- return $1_1 + 12 | 0;
+ return $1_1 + 12 | 0 | 0;
}
$1_1 = $5_1;
- return $1_1 + 13 | 0;
+ return $1_1 + 13 | 0 | 0;
}
$1_1 = $4_1;
- return $1_1 + 14 | 0;
+ return $1_1 + 14 | 0 | 0;
}
function $15($0) {
diff --git a/test/wasm2js/br_table_temp.2asm.js.opt b/test/wasm2js/br_table_temp.2asm.js.opt
new file mode 100644
index 000000000..c5ad1dd8c
--- /dev/null
+++ b/test/wasm2js/br_table_temp.2asm.js.opt
@@ -0,0 +1,12819 @@
+
+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;
+ function $1() {
+
+ }
+
+ function $5() {
+ return 1 | 0;
+ }
+
+ function $6() {
+ return 2 | 0;
+ }
+
+ function $7() {
+ return Math_fround(Math_fround(3.0));
+ }
+
+ function $8() {
+ return 4.0;
+ }
+
+ function $9($0) {
+ $0 = $0 | 0;
+ return 22 | 0;
+ }
+
+ function $10($0) {
+ $0 = $0 | 0;
+ return 33 | 0;
+ }
+
+ function $11($0) {
+ $0 = $0 | 0;
+ if ($0) {
+ return 20 | 0
+ }
+ return 22 | 0;
+ }
+
+ function $12($0) {
+ $0 = $0 | 0;
+ var $1_1 = 0;
+ if ($0) {
+ $1_1 = 33
+ } else {
+ $1_1 = 32
+ }
+ return $1_1 | 0;
+ }
+
+ function $13($0) {
+ $0 = $0 | 0;
+ block : {
+ block2 : {
+ block3 : {
+ block4 : {
+ block5 : {
+ switch ($0 | 0) {
+ case 0:
+ break block2;
+ case 1:
+ break block3;
+ case 2:
+ break block4;
+ case 3:
+ break block5;
+ default:
+ break block;
+ };
+ }
+ return 100 | 0;
+ }
+ return 101 | 0;
+ }
+ return 102 | 0;
+ }
+ return 103 | 0;
+ }
+ return 104 | 0;
+ }
+
+ function $14($0) {
+ $0 = $0 | 0;
+ var $1_1 = 0, $2 = 0, $3 = 0, $4 = 0, $5_1 = 0;
+ $1_1 = 200;
+ $2 = $1_1;
+ $3 = $1_1;
+ $4 = $1_1;
+ $5_1 = $1_1;
+ block : {
+ block6 : {
+ block7 : {
+ block8 : {
+ block9 : {
+ switch ($0 | 0) {
+ case 0:
+ break block6;
+ case 1:
+ break block7;
+ case 2:
+ break block8;
+ case 3:
+ break block9;
+ default:
+ break block;
+ };
+ }
+ return $1_1 + 10 | 0;
+ }
+ return $5_1 + 11 | 0;
+ }
+ return $4 + 12 | 0;
+ }
+ return $3 + 13 | 0;
+ }
+ return $2 + 14 | 0;
+ }
+
+ function $15($0) {
+ $0 = $0 | 0;
+ block : {
+ block10 : {
+ switch ($0 | 0) {
+ case 0:
+ case 2:
+ case 4:
+ case 6:
+ case 8:
+ case 10:
+ case 12:
+ case 14:
+ case 16:
+ case 18:
+ case 20:
+ case 22:
+ case 24:
+ case 26:
+ case 28:
+ case 30:
+ case 32:
+ case 34:
+ case 36:
+ case 38:
+ case 40:
+ case 42:
+ case 44:
+ case 46:
+ case 48:
+ case 50:
+ case 52:
+ case 54:
+ case 56:
+ case 58:
+ case 60:
+ case 62:
+ case 64:
+ case 66:
+ case 68:
+ case 70:
+ case 72:
+ case 74:
+ case 76:
+ case 78:
+ case 80:
+ case 82:
+ case 84:
+ case 86:
+ case 88:
+ case 90:
+ case 92:
+ case 94:
+ case 96:
+ case 98:
+ case 100:
+ case 102:
+ case 104:
+ case 106:
+ case 108:
+ case 110:
+ case 112:
+ case 114:
+ case 116:
+ case 118:
+ case 120:
+ case 122:
+ case 124:
+ case 126:
+ case 128:
+ case 130:
+ case 132:
+ case 134:
+ case 136:
+ case 138:
+ case 140:
+ case 142:
+ case 144:
+ case 146:
+ case 148:
+ case 150:
+ case 152:
+ case 154:
+ case 156:
+ case 158:
+ case 160:
+ case 162:
+ case 164:
+ case 166:
+ case 168:
+ case 170:
+ case 172:
+ case 174:
+ case 176:
+ case 178:
+ case 180:
+ case 182:
+ case 184:
+ case 186:
+ case 188:
+ case 190:
+ case 192:
+ case 194:
+ case 196:
+ case 198:
+ case 200:
+ case 202:
+ case 204:
+ case 206:
+ case 208:
+ case 210:
+ case 212:
+ case 214:
+ case 216:
+ case 218:
+ case 220:
+ case 222:
+ case 224:
+ case 226:
+ case 228:
+ case 230:
+ case 232:
+ case 234:
+ case 236:
+ case 238:
+ case 240:
+ case 242:
+ case 244:
+ case 246:
+ case 248:
+ case 250:
+ case 252:
+ case 254:
+ case 256:
+ case 258:
+ case 260:
+ case 262:
+ case 264:
+ case 266:
+ case 268:
+ case 270:
+ case 272:
+ case 274:
+ case 276:
+ case 278:
+ case 280:
+ case 282:
+ case 284:
+ case 286:
+ case 288:
+ case 290:
+ case 292:
+ case 294:
+ case 296:
+ case 298:
+ case 300:
+ case 302:
+ case 304:
+ case 306:
+ case 308:
+ case 310:
+ case 312:
+ case 314:
+ case 316:
+ case 318:
+ case 320:
+ case 322:
+ case 324:
+ case 326:
+ case 328:
+ case 330:
+ case 332:
+ case 334:
+ case 336:
+ case 338:
+ case 340:
+ case 342:
+ case 344:
+ case 346:
+ case 348:
+ case 350:
+ case 352:
+ case 354:
+ case 356:
+ case 358:
+ case 360:
+ case 362:
+ case 364:
+ case 366:
+ case 368:
+ case 370:
+ case 372:
+ case 374:
+ case 376:
+ case 378:
+ case 380:
+ case 382:
+ case 384:
+ case 386:
+ case 388:
+ case 390:
+ case 392:
+ case 394:
+ case 396:
+ case 398:
+ case 400:
+ case 402:
+ case 404:
+ case 406:
+ case 408:
+ case 410:
+ case 412:
+ case 414:
+ case 416:
+ case 418:
+ case 420:
+ case 422:
+ case 424:
+ case 426:
+ case 428:
+ case 430:
+ case 432:
+ case 434:
+ case 436:
+ case 438:
+ case 440:
+ case 442:
+ case 444:
+ case 446:
+ case 448:
+ case 450:
+ case 452:
+ case 454:
+ case 456:
+ case 458:
+ case 460:
+ case 462:
+ case 464:
+ case 466:
+ case 468:
+ case 470:
+ case 472:
+ case 474:
+ case 476:
+ case 478:
+ case 480:
+ case 482:
+ case 484:
+ case 486:
+ case 488:
+ case 490:
+ case 492:
+ case 494:
+ case 496:
+ case 498:
+ case 500:
+ case 502:
+ case 504:
+ case 506:
+ case 508:
+ case 510:
+ case 512:
+ case 514:
+ case 516:
+ case 518:
+ case 520:
+ case 522:
+ case 524:
+ case 526:
+ case 528:
+ case 530:
+ case 532:
+ case 534:
+ case 536:
+ case 538:
+ case 540:
+ case 542:
+ case 544:
+ case 546:
+ case 548:
+ case 550:
+ case 552:
+ case 554:
+ case 556:
+ case 558:
+ case 560:
+ case 562:
+ case 564:
+ case 566:
+ case 568:
+ case 570:
+ case 572:
+ case 574:
+ case 576:
+ case 578:
+ case 580:
+ case 582:
+ case 584:
+ case 586:
+ case 588:
+ case 590:
+ case 592:
+ case 594:
+ case 596:
+ case 598:
+ case 600:
+ case 602:
+ case 604:
+ case 606:
+ case 608:
+ case 610:
+ case 612:
+ case 614:
+ case 616:
+ case 618:
+ case 620:
+ case 622:
+ case 624:
+ case 626:
+ case 628:
+ case 630:
+ case 632:
+ case 634:
+ case 636:
+ case 638:
+ case 640:
+ case 642:
+ case 644:
+ case 646:
+ case 648:
+ case 650:
+ case 652:
+ case 654:
+ case 656:
+ case 658:
+ case 660:
+ case 662:
+ case 664:
+ case 666:
+ case 668:
+ case 670:
+ case 672:
+ case 674:
+ case 676:
+ case 678:
+ case 680:
+ case 682:
+ case 684:
+ case 686:
+ case 688:
+ case 690:
+ case 692:
+ case 694:
+ case 696:
+ case 698:
+ case 700:
+ case 702:
+ case 704:
+ case 706:
+ case 708:
+ case 710:
+ case 712:
+ case 714:
+ case 716:
+ case 718:
+ case 720:
+ case 722:
+ case 724:
+ case 726:
+ case 728:
+ case 730:
+ case 732:
+ case 734:
+ case 736:
+ case 738:
+ case 740:
+ case 742:
+ case 744:
+ case 746:
+ case 748:
+ case 750:
+ case 752:
+ case 754:
+ case 756:
+ case 758:
+ case 760:
+ case 762:
+ case 764:
+ case 766:
+ case 768:
+ case 770:
+ case 772:
+ case 774:
+ case 776:
+ case 778:
+ case 780:
+ case 782:
+ case 784:
+ case 786:
+ case 788:
+ case 790:
+ case 792:
+ case 794:
+ case 796:
+ case 798:
+ case 800:
+ case 802:
+ case 804:
+ case 806:
+ case 808:
+ case 810:
+ case 812:
+ case 814:
+ case 816:
+ case 818:
+ case 820:
+ case 822:
+ case 824:
+ case 826:
+ case 828:
+ case 830:
+ case 832:
+ case 834:
+ case 836:
+ case 838:
+ case 840:
+ case 842:
+ case 844:
+ case 846:
+ case 848:
+ case 850:
+ case 852:
+ case 854:
+ case 856:
+ case 858:
+ case 860:
+ case 862:
+ case 864:
+ case 866:
+ case 868:
+ case 870:
+ case 872:
+ case 874:
+ case 876:
+ case 878:
+ case 880:
+ case 882:
+ case 884:
+ case 886:
+ case 888:
+ case 890:
+ case 892:
+ case 894:
+ case 896:
+ case 898:
+ case 900:
+ case 902:
+ case 904:
+ case 906:
+ case 908:
+ case 910:
+ case 912:
+ case 914:
+ case 916:
+ case 918:
+ case 920:
+ case 922:
+ case 924:
+ case 926:
+ case 928:
+ case 930:
+ case 932:
+ case 934:
+ case 936:
+ case 938:
+ case 940:
+ case 942:
+ case 944:
+ case 946:
+ case 948:
+ case 950:
+ case 952:
+ case 954:
+ case 956:
+ case 958:
+ case 960:
+ case 962:
+ case 964:
+ case 966:
+ case 968:
+ case 970:
+ case 972:
+ case 974:
+ case 976:
+ case 978:
+ case 980:
+ case 982:
+ case 984:
+ case 986:
+ case 988:
+ case 990:
+ case 992:
+ case 994:
+ case 996:
+ case 998:
+ case 1e3:
+ case 1002:
+ case 1004:
+ case 1006:
+ case 1008:
+ case 1010:
+ case 1012:
+ case 1014:
+ case 1016:
+ case 1018:
+ case 1020:
+ case 1022:
+ case 1024:
+ case 1026:
+ case 1028:
+ case 1030:
+ case 1032:
+ case 1034:
+ case 1036:
+ case 1038:
+ case 1040:
+ case 1042:
+ case 1044:
+ case 1046:
+ case 1048:
+ case 1050:
+ case 1052:
+ case 1054:
+ case 1056:
+ case 1058:
+ case 1060:
+ case 1062:
+ case 1064:
+ case 1066:
+ case 1068:
+ case 1070:
+ case 1072:
+ case 1074:
+ case 1076:
+ case 1078:
+ case 1080:
+ case 1082:
+ case 1084:
+ case 1086:
+ case 1088:
+ case 1090:
+ case 1092:
+ case 1094:
+ case 1096:
+ case 1098:
+ case 1100:
+ case 1102:
+ case 1104:
+ case 1106:
+ case 1108:
+ case 1110:
+ case 1112:
+ case 1114:
+ case 1116:
+ case 1118:
+ case 1120:
+ case 1122:
+ case 1124:
+ case 1126:
+ case 1128:
+ case 1130:
+ case 1132:
+ case 1134:
+ case 1136:
+ case 1138:
+ case 1140:
+ case 1142:
+ case 1144:
+ case 1146:
+ case 1148:
+ case 1150:
+ case 1152:
+ case 1154:
+ case 1156:
+ case 1158:
+ case 1160:
+ case 1162:
+ case 1164:
+ case 1166:
+ case 1168:
+ case 1170:
+ case 1172:
+ case 1174:
+ case 1176:
+ case 1178:
+ case 1180:
+ case 1182:
+ case 1184:
+ case 1186:
+ case 1188:
+ case 1190:
+ case 1192:
+ case 1194:
+ case 1196:
+ case 1198:
+ case 1200:
+ case 1202:
+ case 1204:
+ case 1206:
+ case 1208:
+ case 1210:
+ case 1212:
+ case 1214:
+ case 1216:
+ case 1218:
+ case 1220:
+ case 1222:
+ case 1224:
+ case 1226:
+ case 1228:
+ case 1230:
+ case 1232:
+ case 1234:
+ case 1236:
+ case 1238:
+ case 1240:
+ case 1242:
+ case 1244:
+ case 1246:
+ case 1248:
+ case 1250:
+ case 1252:
+ case 1254:
+ case 1256:
+ case 1258:
+ case 1260:
+ case 1262:
+ case 1264:
+ case 1266:
+ case 1268:
+ case 1270:
+ case 1272:
+ case 1274:
+ case 1276:
+ case 1278:
+ case 1280:
+ case 1282:
+ case 1284:
+ case 1286:
+ case 1288:
+ case 1290:
+ case 1292:
+ case 1294:
+ case 1296:
+ case 1298:
+ case 1300:
+ case 1302:
+ case 1304:
+ case 1306:
+ case 1308:
+ case 1310:
+ case 1312:
+ case 1314:
+ case 1316:
+ case 1318:
+ case 1320:
+ case 1322:
+ case 1324:
+ case 1326:
+ case 1328:
+ case 1330:
+ case 1332:
+ case 1334:
+ case 1336:
+ case 1338:
+ case 1340:
+ case 1342:
+ case 1344:
+ case 1346:
+ case 1348:
+ case 1350:
+ case 1352:
+ case 1354:
+ case 1356:
+ case 1358:
+ case 1360:
+ case 1362:
+ case 1364:
+ case 1366:
+ case 1368:
+ case 1370:
+ case 1372:
+ case 1374:
+ case 1376:
+ case 1378:
+ case 1380:
+ case 1382:
+ case 1384:
+ case 1386:
+ case 1388:
+ case 1390:
+ case 1392:
+ case 1394:
+ case 1396:
+ case 1398:
+ case 1400:
+ case 1402:
+ case 1404:
+ case 1406:
+ case 1408:
+ case 1410:
+ case 1412:
+ case 1414:
+ case 1416:
+ case 1418:
+ case 1420:
+ case 1422:
+ case 1424:
+ case 1426:
+ case 1428:
+ case 1430:
+ case 1432:
+ case 1434:
+ case 1436:
+ case 1438:
+ case 1440:
+ case 1442:
+ case 1444:
+ case 1446:
+ case 1448:
+ case 1450:
+ case 1452:
+ case 1454:
+ case 1456:
+ case 1458:
+ case 1460:
+ case 1462:
+ case 1464:
+ case 1466:
+ case 1468:
+ case 1470:
+ case 1472:
+ case 1474:
+ case 1476:
+ case 1478:
+ case 1480:
+ case 1482:
+ case 1484:
+ case 1486:
+ case 1488:
+ case 1490:
+ case 1492:
+ case 1494:
+ case 1496:
+ case 1498:
+ case 1500:
+ case 1502:
+ case 1504:
+ case 1506:
+ case 1508:
+ case 1510:
+ case 1512:
+ case 1514:
+ case 1516:
+ case 1518:
+ case 1520:
+ case 1522:
+ case 1524:
+ case 1526:
+ case 1528:
+ case 1530:
+ case 1532:
+ case 1534:
+ case 1536:
+ case 1538:
+ case 1540:
+ case 1542:
+ case 1544:
+ case 1546:
+ case 1548:
+ case 1550:
+ case 1552:
+ case 1554:
+ case 1556:
+ case 1558:
+ case 1560:
+ case 1562:
+ case 1564:
+ case 1566:
+ case 1568:
+ case 1570:
+ case 1572:
+ case 1574:
+ case 1576:
+ case 1578:
+ case 1580:
+ case 1582:
+ case 1584:
+ case 1586:
+ case 1588:
+ case 1590:
+ case 1592:
+ case 1594:
+ case 1596:
+ case 1598:
+ case 1600:
+ case 1602:
+ case 1604:
+ case 1606:
+ case 1608:
+ case 1610:
+ case 1612:
+ case 1614:
+ case 1616:
+ case 1618:
+ case 1620:
+ case 1622:
+ case 1624:
+ case 1626:
+ case 1628:
+ case 1630:
+ case 1632:
+ case 1634:
+ case 1636:
+ case 1638:
+ case 1640:
+ case 1642:
+ case 1644:
+ case 1646:
+ case 1648:
+ case 1650:
+ case 1652:
+ case 1654:
+ case 1656:
+ case 1658:
+ case 1660:
+ case 1662:
+ case 1664:
+ case 1666:
+ case 1668:
+ case 1670:
+ case 1672:
+ case 1674:
+ case 1676:
+ case 1678:
+ case 1680:
+ case 1682:
+ case 1684:
+ case 1686:
+ case 1688:
+ case 1690:
+ case 1692:
+ case 1694:
+ case 1696:
+ case 1698:
+ case 1700:
+ case 1702:
+ case 1704:
+ case 1706:
+ case 1708:
+ case 1710:
+ case 1712:
+ case 1714:
+ case 1716:
+ case 1718:
+ case 1720:
+ case 1722:
+ case 1724:
+ case 1726:
+ case 1728:
+ case 1730:
+ case 1732:
+ case 1734:
+ case 1736:
+ case 1738:
+ case 1740:
+ case 1742:
+ case 1744:
+ case 1746:
+ case 1748:
+ case 1750:
+ case 1752:
+ case 1754:
+ case 1756:
+ case 1758:
+ case 1760:
+ case 1762:
+ case 1764:
+ case 1766:
+ case 1768:
+ case 1770:
+ case 1772:
+ case 1774:
+ case 1776:
+ case 1778:
+ case 1780:
+ case 1782:
+ case 1784:
+ case 1786:
+ case 1788:
+ case 1790:
+ case 1792:
+ case 1794:
+ case 1796:
+ case 1798:
+ case 1800:
+ case 1802:
+ case 1804:
+ case 1806:
+ case 1808:
+ case 1810:
+ case 1812:
+ case 1814:
+ case 1816:
+ case 1818:
+ case 1820:
+ case 1822:
+ case 1824:
+ case 1826:
+ case 1828:
+ case 1830:
+ case 1832:
+ case 1834:
+ case 1836:
+ case 1838:
+ case 1840:
+ case 1842:
+ case 1844:
+ case 1846:
+ case 1848:
+ case 1850:
+ case 1852:
+ case 1854:
+ case 1856:
+ case 1858:
+ case 1860:
+ case 1862:
+ case 1864:
+ case 1866:
+ case 1868:
+ case 1870:
+ case 1872:
+ case 1874:
+ case 1876:
+ case 1878:
+ case 1880:
+ case 1882:
+ case 1884:
+ case 1886:
+ case 1888:
+ case 1890:
+ case 1892:
+ case 1894:
+ case 1896:
+ case 1898:
+ case 1900:
+ case 1902:
+ case 1904:
+ case 1906:
+ case 1908:
+ case 1910:
+ case 1912:
+ case 1914:
+ case 1916:
+ case 1918:
+ case 1920:
+ case 1922:
+ case 1924:
+ case 1926:
+ case 1928:
+ case 1930:
+ case 1932:
+ case 1934:
+ case 1936:
+ case 1938:
+ case 1940:
+ case 1942:
+ case 1944:
+ case 1946:
+ case 1948:
+ case 1950:
+ case 1952:
+ case 1954:
+ case 1956:
+ case 1958:
+ case 1960:
+ case 1962:
+ case 1964:
+ case 1966:
+ case 1968:
+ case 1970:
+ case 1972:
+ case 1974:
+ case 1976:
+ case 1978:
+ case 1980:
+ case 1982:
+ case 1984:
+ case 1986:
+ case 1988:
+ case 1990:
+ case 1992:
+ case 1994:
+ case 1996:
+ case 1998:
+ case 2e3:
+ case 2002:
+ case 2004:
+ case 2006:
+ case 2008:
+ case 2010:
+ case 2012:
+ case 2014:
+ case 2016:
+ case 2018:
+ case 2020:
+ case 2022:
+ case 2024:
+ case 2026:
+ case 2028:
+ case 2030:
+ case 2032:
+ case 2034:
+ case 2036:
+ case 2038:
+ case 2040:
+ case 2042:
+ case 2044:
+ case 2046:
+ case 2048:
+ case 2050:
+ case 2052:
+ case 2054:
+ case 2056:
+ case 2058:
+ case 2060:
+ case 2062:
+ case 2064:
+ case 2066:
+ case 2068:
+ case 2070:
+ case 2072:
+ case 2074:
+ case 2076:
+ case 2078:
+ case 2080:
+ case 2082:
+ case 2084:
+ case 2086:
+ case 2088:
+ case 2090:
+ case 2092:
+ case 2094:
+ case 2096:
+ case 2098:
+ case 2100:
+ case 2102:
+ case 2104:
+ case 2106:
+ case 2108:
+ case 2110:
+ case 2112:
+ case 2114:
+ case 2116:
+ case 2118:
+ case 2120:
+ case 2122:
+ case 2124:
+ case 2126:
+ case 2128:
+ case 2130:
+ case 2132:
+ case 2134:
+ case 2136:
+ case 2138:
+ case 2140:
+ case 2142:
+ case 2144:
+ case 2146:
+ case 2148:
+ case 2150:
+ case 2152:
+ case 2154:
+ case 2156:
+ case 2158:
+ case 2160:
+ case 2162:
+ case 2164:
+ case 2166:
+ case 2168:
+ case 2170:
+ case 2172:
+ case 2174:
+ case 2176:
+ case 2178:
+ case 2180:
+ case 2182:
+ case 2184:
+ case 2186:
+ case 2188:
+ case 2190:
+ case 2192:
+ case 2194:
+ case 2196:
+ case 2198:
+ case 2200:
+ case 2202:
+ case 2204:
+ case 2206:
+ case 2208:
+ case 2210:
+ case 2212:
+ case 2214:
+ case 2216:
+ case 2218:
+ case 2220:
+ case 2222:
+ case 2224:
+ case 2226:
+ case 2228:
+ case 2230:
+ case 2232:
+ case 2234:
+ case 2236:
+ case 2238:
+ case 2240:
+ case 2242:
+ case 2244:
+ case 2246:
+ case 2248:
+ case 2250:
+ case 2252:
+ case 2254:
+ case 2256:
+ case 2258:
+ case 2260:
+ case 2262:
+ case 2264:
+ case 2266:
+ case 2268:
+ case 2270:
+ case 2272:
+ case 2274:
+ case 2276:
+ case 2278:
+ case 2280:
+ case 2282:
+ case 2284:
+ case 2286:
+ case 2288:
+ case 2290:
+ case 2292:
+ case 2294:
+ case 2296:
+ case 2298:
+ case 2300:
+ case 2302:
+ case 2304:
+ case 2306:
+ case 2308:
+ case 2310:
+ case 2312:
+ case 2314:
+ case 2316:
+ case 2318:
+ case 2320:
+ case 2322:
+ case 2324:
+ case 2326:
+ case 2328:
+ case 2330:
+ case 2332:
+ case 2334:
+ case 2336:
+ case 2338:
+ case 2340:
+ case 2342:
+ case 2344:
+ case 2346:
+ case 2348:
+ case 2350:
+ case 2352:
+ case 2354:
+ case 2356:
+ case 2358:
+ case 2360:
+ case 2362:
+ case 2364:
+ case 2366:
+ case 2368:
+ case 2370:
+ case 2372:
+ case 2374:
+ case 2376:
+ case 2378:
+ case 2380:
+ case 2382:
+ case 2384:
+ case 2386:
+ case 2388:
+ case 2390:
+ case 2392:
+ case 2394:
+ case 2396:
+ case 2398:
+ case 2400:
+ case 2402:
+ case 2404:
+ case 2406:
+ case 2408:
+ case 2410:
+ case 2412:
+ case 2414:
+ case 2416:
+ case 2418:
+ case 2420:
+ case 2422:
+ case 2424:
+ case 2426:
+ case 2428:
+ case 2430:
+ case 2432:
+ case 2434:
+ case 2436:
+ case 2438:
+ case 2440:
+ case 2442:
+ case 2444:
+ case 2446:
+ case 2448:
+ case 2450:
+ case 2452:
+ case 2454:
+ case 2456:
+ case 2458:
+ case 2460:
+ case 2462:
+ case 2464:
+ case 2466:
+ case 2468:
+ case 2470:
+ case 2472:
+ case 2474:
+ case 2476:
+ case 2478:
+ case 2480:
+ case 2482:
+ case 2484:
+ case 2486:
+ case 2488:
+ case 2490:
+ case 2492:
+ case 2494:
+ case 2496:
+ case 2498:
+ case 2500:
+ case 2502:
+ case 2504:
+ case 2506:
+ case 2508:
+ case 2510:
+ case 2512:
+ case 2514:
+ case 2516:
+ case 2518:
+ case 2520:
+ case 2522:
+ case 2524:
+ case 2526:
+ case 2528:
+ case 2530:
+ case 2532:
+ case 2534:
+ case 2536:
+ case 2538:
+ case 2540:
+ case 2542:
+ case 2544:
+ case 2546:
+ case 2548:
+ case 2550:
+ case 2552:
+ case 2554:
+ case 2556:
+ case 2558:
+ case 2560:
+ case 2562:
+ case 2564:
+ case 2566:
+ case 2568:
+ case 2570:
+ case 2572:
+ case 2574:
+ case 2576:
+ case 2578:
+ case 2580:
+ case 2582:
+ case 2584:
+ case 2586:
+ case 2588:
+ case 2590:
+ case 2592:
+ case 2594:
+ case 2596:
+ case 2598:
+ case 2600:
+ case 2602:
+ case 2604:
+ case 2606:
+ case 2608:
+ case 2610:
+ case 2612:
+ case 2614:
+ case 2616:
+ case 2618:
+ case 2620:
+ case 2622:
+ case 2624:
+ case 2626:
+ case 2628:
+ case 2630:
+ case 2632:
+ case 2634:
+ case 2636:
+ case 2638:
+ case 2640:
+ case 2642:
+ case 2644:
+ case 2646:
+ case 2648:
+ case 2650:
+ case 2652:
+ case 2654:
+ case 2656:
+ case 2658:
+ case 2660:
+ case 2662:
+ case 2664:
+ case 2666:
+ case 2668:
+ case 2670:
+ case 2672:
+ case 2674:
+ case 2676:
+ case 2678:
+ case 2680:
+ case 2682:
+ case 2684:
+ case 2686:
+ case 2688:
+ case 2690:
+ case 2692:
+ case 2694:
+ case 2696:
+ case 2698:
+ case 2700:
+ case 2702:
+ case 2704:
+ case 2706:
+ case 2708:
+ case 2710:
+ case 2712:
+ case 2714:
+ case 2716:
+ case 2718:
+ case 2720:
+ case 2722:
+ case 2724:
+ case 2726:
+ case 2728:
+ case 2730:
+ case 2732:
+ case 2734:
+ case 2736:
+ case 2738:
+ case 2740:
+ case 2742:
+ case 2744:
+ case 2746:
+ case 2748:
+ case 2750:
+ case 2752:
+ case 2754:
+ case 2756:
+ case 2758:
+ case 2760:
+ case 2762:
+ case 2764:
+ case 2766:
+ case 2768:
+ case 2770:
+ case 2772:
+ case 2774:
+ case 2776:
+ case 2778:
+ case 2780:
+ case 2782:
+ case 2784:
+ case 2786:
+ case 2788:
+ case 2790:
+ case 2792:
+ case 2794:
+ case 2796:
+ case 2798:
+ case 2800:
+ case 2802:
+ case 2804:
+ case 2806:
+ case 2808:
+ case 2810:
+ case 2812:
+ case 2814:
+ case 2816:
+ case 2818:
+ case 2820:
+ case 2822:
+ case 2824:
+ case 2826:
+ case 2828:
+ case 2830:
+ case 2832:
+ case 2834:
+ case 2836:
+ case 2838:
+ case 2840:
+ case 2842:
+ case 2844:
+ case 2846:
+ case 2848:
+ case 2850:
+ case 2852:
+ case 2854:
+ case 2856:
+ case 2858:
+ case 2860:
+ case 2862:
+ case 2864:
+ case 2866:
+ case 2868:
+ case 2870:
+ case 2872:
+ case 2874:
+ case 2876:
+ case 2878:
+ case 2880:
+ case 2882:
+ case 2884:
+ case 2886:
+ case 2888:
+ case 2890:
+ case 2892:
+ case 2894:
+ case 2896:
+ case 2898:
+ case 2900:
+ case 2902:
+ case 2904:
+ case 2906:
+ case 2908:
+ case 2910:
+ case 2912:
+ case 2914:
+ case 2916:
+ case 2918:
+ case 2920:
+ case 2922:
+ case 2924:
+ case 2926:
+ case 2928:
+ case 2930:
+ case 2932:
+ case 2934:
+ case 2936:
+ case 2938:
+ case 2940:
+ case 2942:
+ case 2944:
+ case 2946:
+ case 2948:
+ case 2950:
+ case 2952:
+ case 2954:
+ case 2956:
+ case 2958:
+ case 2960:
+ case 2962:
+ case 2964:
+ case 2966:
+ case 2968:
+ case 2970:
+ case 2972:
+ case 2974:
+ case 2976:
+ case 2978:
+ case 2980:
+ case 2982:
+ case 2984:
+ case 2986:
+ case 2988:
+ case 2990:
+ case 2992:
+ case 2994:
+ case 2996:
+ case 2998:
+ case 3e3:
+ case 3002:
+ case 3004:
+ case 3006:
+ case 3008:
+ case 3010:
+ case 3012:
+ case 3014:
+ case 3016:
+ case 3018:
+ case 3020:
+ case 3022:
+ case 3024:
+ case 3026:
+ case 3028:
+ case 3030:
+ case 3032:
+ case 3034:
+ case 3036:
+ case 3038:
+ case 3040:
+ case 3042:
+ case 3044:
+ case 3046:
+ case 3048:
+ case 3050:
+ case 3052:
+ case 3054:
+ case 3056:
+ case 3058:
+ case 3060:
+ case 3062:
+ case 3064:
+ case 3066:
+ case 3068:
+ case 3070:
+ case 3072:
+ case 3074:
+ case 3076:
+ case 3078:
+ case 3080:
+ case 3082:
+ case 3084:
+ case 3086:
+ case 3088:
+ case 3090:
+ case 3092:
+ case 3094:
+ case 3096:
+ case 3098:
+ case 3100:
+ case 3102:
+ case 3104:
+ case 3106:
+ case 3108:
+ case 3110:
+ case 3112:
+ case 3114:
+ case 3116:
+ case 3118:
+ case 3120:
+ case 3122:
+ case 3124:
+ case 3126:
+ case 3128:
+ case 3130:
+ case 3132:
+ case 3134:
+ case 3136:
+ case 3138:
+ case 3140:
+ case 3142:
+ case 3144:
+ case 3146:
+ case 3148:
+ case 3150:
+ case 3152:
+ case 3154:
+ case 3156:
+ case 3158:
+ case 3160:
+ case 3162:
+ case 3164:
+ case 3166:
+ case 3168:
+ case 3170:
+ case 3172:
+ case 3174:
+ case 3176:
+ case 3178:
+ case 3180:
+ case 3182:
+ case 3184:
+ case 3186:
+ case 3188:
+ case 3190:
+ case 3192:
+ case 3194:
+ case 3196:
+ case 3198:
+ case 3200:
+ case 3202:
+ case 3204:
+ case 3206:
+ case 3208:
+ case 3210:
+ case 3212:
+ case 3214:
+ case 3216:
+ case 3218:
+ case 3220:
+ case 3222:
+ case 3224:
+ case 3226:
+ case 3228:
+ case 3230:
+ case 3232:
+ case 3234:
+ case 3236:
+ case 3238:
+ case 3240:
+ case 3242:
+ case 3244:
+ case 3246:
+ case 3248:
+ case 3250:
+ case 3252:
+ case 3254:
+ case 3256:
+ case 3258:
+ case 3260:
+ case 3262:
+ case 3264:
+ case 3266:
+ case 3268:
+ case 3270:
+ case 3272:
+ case 3274:
+ case 3276:
+ case 3278:
+ case 3280:
+ case 3282:
+ case 3284:
+ case 3286:
+ case 3288:
+ case 3290:
+ case 3292:
+ case 3294:
+ case 3296:
+ case 3298:
+ case 3300:
+ case 3302:
+ case 3304:
+ case 3306:
+ case 3308:
+ case 3310:
+ case 3312:
+ case 3314:
+ case 3316:
+ case 3318:
+ case 3320:
+ case 3322:
+ case 3324:
+ case 3326:
+ case 3328:
+ case 3330:
+ case 3332:
+ case 3334:
+ case 3336:
+ case 3338:
+ case 3340:
+ case 3342:
+ case 3344:
+ case 3346:
+ case 3348:
+ case 3350:
+ case 3352:
+ case 3354:
+ case 3356:
+ case 3358:
+ case 3360:
+ case 3362:
+ case 3364:
+ case 3366:
+ case 3368:
+ case 3370:
+ case 3372:
+ case 3374:
+ case 3376:
+ case 3378:
+ case 3380:
+ case 3382:
+ case 3384:
+ case 3386:
+ case 3388:
+ case 3390:
+ case 3392:
+ case 3394:
+ case 3396:
+ case 3398:
+ case 3400:
+ case 3402:
+ case 3404:
+ case 3406:
+ case 3408:
+ case 3410:
+ case 3412:
+ case 3414:
+ case 3416:
+ case 3418:
+ case 3420:
+ case 3422:
+ case 3424:
+ case 3426:
+ case 3428:
+ case 3430:
+ case 3432:
+ case 3434:
+ case 3436:
+ case 3438:
+ case 3440:
+ case 3442:
+ case 3444:
+ case 3446:
+ case 3448:
+ case 3450:
+ case 3452:
+ case 3454:
+ case 3456:
+ case 3458:
+ case 3460:
+ case 3462:
+ case 3464:
+ case 3466:
+ case 3468:
+ case 3470:
+ case 3472:
+ case 3474:
+ case 3476:
+ case 3478:
+ case 3480:
+ case 3482:
+ case 3484:
+ case 3486:
+ case 3488:
+ case 3490:
+ case 3492:
+ case 3494:
+ case 3496:
+ case 3498:
+ case 3500:
+ case 3502:
+ case 3504:
+ case 3506:
+ case 3508:
+ case 3510:
+ case 3512:
+ case 3514:
+ case 3516:
+ case 3518:
+ case 3520:
+ case 3522:
+ case 3524:
+ case 3526:
+ case 3528:
+ case 3530:
+ case 3532:
+ case 3534:
+ case 3536:
+ case 3538:
+ case 3540:
+ case 3542:
+ case 3544:
+ case 3546:
+ case 3548:
+ case 3550:
+ case 3552:
+ case 3554:
+ case 3556:
+ case 3558:
+ case 3560:
+ case 3562:
+ case 3564:
+ case 3566:
+ case 3568:
+ case 3570:
+ case 3572:
+ case 3574:
+ case 3576:
+ case 3578:
+ case 3580:
+ case 3582:
+ case 3584:
+ case 3586:
+ case 3588:
+ case 3590:
+ case 3592:
+ case 3594:
+ case 3596:
+ case 3598:
+ case 3600:
+ case 3602:
+ case 3604:
+ case 3606:
+ case 3608:
+ case 3610:
+ case 3612:
+ case 3614:
+ case 3616:
+ case 3618:
+ case 3620:
+ case 3622:
+ case 3624:
+ case 3626:
+ case 3628:
+ case 3630:
+ case 3632:
+ case 3634:
+ case 3636:
+ case 3638:
+ case 3640:
+ case 3642:
+ case 3644:
+ case 3646:
+ case 3648:
+ case 3650:
+ case 3652:
+ case 3654:
+ case 3656:
+ case 3658:
+ case 3660:
+ case 3662:
+ case 3664:
+ case 3666:
+ case 3668:
+ case 3670:
+ case 3672:
+ case 3674:
+ case 3676:
+ case 3678:
+ case 3680:
+ case 3682:
+ case 3684:
+ case 3686:
+ case 3688:
+ case 3690:
+ case 3692:
+ case 3694:
+ case 3696:
+ case 3698:
+ case 3700:
+ case 3702:
+ case 3704:
+ case 3706:
+ case 3708:
+ case 3710:
+ case 3712:
+ case 3714:
+ case 3716:
+ case 3718:
+ case 3720:
+ case 3722:
+ case 3724:
+ case 3726:
+ case 3728:
+ case 3730:
+ case 3732:
+ case 3734:
+ case 3736:
+ case 3738:
+ case 3740:
+ case 3742:
+ case 3744:
+ case 3746:
+ case 3748:
+ case 3750:
+ case 3752:
+ case 3754:
+ case 3756:
+ case 3758:
+ case 3760:
+ case 3762:
+ case 3764:
+ case 3766:
+ case 3768:
+ case 3770:
+ case 3772:
+ case 3774:
+ case 3776:
+ case 3778:
+ case 3780:
+ case 3782:
+ case 3784:
+ case 3786:
+ case 3788:
+ case 3790:
+ case 3792:
+ case 3794:
+ case 3796:
+ case 3798:
+ case 3800:
+ case 3802:
+ case 3804:
+ case 3806:
+ case 3808:
+ case 3810:
+ case 3812:
+ case 3814:
+ case 3816:
+ case 3818:
+ case 3820:
+ case 3822:
+ case 3824:
+ case 3826:
+ case 3828:
+ case 3830:
+ case 3832:
+ case 3834:
+ case 3836:
+ case 3838:
+ case 3840:
+ case 3842:
+ case 3844:
+ case 3846:
+ case 3848:
+ case 3850:
+ case 3852:
+ case 3854:
+ case 3856:
+ case 3858:
+ case 3860:
+ case 3862:
+ case 3864:
+ case 3866:
+ case 3868:
+ case 3870:
+ case 3872:
+ case 3874:
+ case 3876:
+ case 3878:
+ case 3880:
+ case 3882:
+ case 3884:
+ case 3886:
+ case 3888:
+ case 3890:
+ case 3892:
+ case 3894:
+ case 3896:
+ case 3898:
+ case 3900:
+ case 3902:
+ case 3904:
+ case 3906:
+ case 3908:
+ case 3910:
+ case 3912:
+ case 3914:
+ case 3916:
+ case 3918:
+ case 3920:
+ case 3922:
+ case 3924:
+ case 3926:
+ case 3928:
+ case 3930:
+ case 3932:
+ case 3934:
+ case 3936:
+ case 3938:
+ case 3940:
+ case 3942:
+ case 3944:
+ case 3946:
+ case 3948:
+ case 3950:
+ case 3952:
+ case 3954:
+ case 3956:
+ case 3958:
+ case 3960:
+ case 3962:
+ case 3964:
+ case 3966:
+ case 3968:
+ case 3970:
+ case 3972:
+ case 3974:
+ case 3976:
+ case 3978:
+ case 3980:
+ case 3982:
+ case 3984:
+ case 3986:
+ case 3988:
+ case 3990:
+ case 3992:
+ case 3994:
+ case 3996:
+ case 3998:
+ case 4e3:
+ case 4002:
+ case 4004:
+ case 4006:
+ case 4008:
+ case 4010:
+ case 4012:
+ case 4014:
+ case 4016:
+ case 4018:
+ case 4020:
+ case 4022:
+ case 4024:
+ case 4026:
+ case 4028:
+ case 4030:
+ case 4032:
+ case 4034:
+ case 4036:
+ case 4038:
+ case 4040:
+ case 4042:
+ case 4044:
+ case 4046:
+ case 4048:
+ case 4050:
+ case 4052:
+ case 4054:
+ case 4056:
+ case 4058:
+ case 4060:
+ case 4062:
+ case 4064:
+ case 4066:
+ case 4068:
+ case 4070:
+ case 4072:
+ case 4074:
+ case 4076:
+ case 4078:
+ case 4080:
+ case 4082:
+ case 4084:
+ case 4086:
+ case 4088:
+ case 4090:
+ case 4092:
+ case 4094:
+ case 4096:
+ case 4098:
+ case 4100:
+ case 4102:
+ case 4104:
+ case 4106:
+ case 4108:
+ case 4110:
+ case 4112:
+ case 4114:
+ case 4116:
+ case 4118:
+ case 4120:
+ case 4122:
+ case 4124:
+ case 4126:
+ case 4128:
+ case 4130:
+ case 4132:
+ case 4134:
+ case 4136:
+ case 4138:
+ case 4140:
+ case 4142:
+ case 4144:
+ case 4146:
+ case 4148:
+ case 4150:
+ case 4152:
+ case 4154:
+ case 4156:
+ case 4158:
+ case 4160:
+ case 4162:
+ case 4164:
+ case 4166:
+ case 4168:
+ case 4170:
+ case 4172:
+ case 4174:
+ case 4176:
+ case 4178:
+ case 4180:
+ case 4182:
+ case 4184:
+ case 4186:
+ case 4188:
+ case 4190:
+ case 4192:
+ case 4194:
+ case 4196:
+ case 4198:
+ case 4200:
+ case 4202:
+ case 4204:
+ case 4206:
+ case 4208:
+ case 4210:
+ case 4212:
+ case 4214:
+ case 4216:
+ case 4218:
+ case 4220:
+ case 4222:
+ case 4224:
+ case 4226:
+ case 4228:
+ case 4230:
+ case 4232:
+ case 4234:
+ case 4236:
+ case 4238:
+ case 4240:
+ case 4242:
+ case 4244:
+ case 4246:
+ case 4248:
+ case 4250:
+ case 4252:
+ case 4254:
+ case 4256:
+ case 4258:
+ case 4260:
+ case 4262:
+ case 4264:
+ case 4266:
+ case 4268:
+ case 4270:
+ case 4272:
+ case 4274:
+ case 4276:
+ case 4278:
+ case 4280:
+ case 4282:
+ case 4284:
+ case 4286:
+ case 4288:
+ case 4290:
+ case 4292:
+ case 4294:
+ case 4296:
+ case 4298:
+ case 4300:
+ case 4302:
+ case 4304:
+ case 4306:
+ case 4308:
+ case 4310:
+ case 4312:
+ case 4314:
+ case 4316:
+ case 4318:
+ case 4320:
+ case 4322:
+ case 4324:
+ case 4326:
+ case 4328:
+ case 4330:
+ case 4332:
+ case 4334:
+ case 4336:
+ case 4338:
+ case 4340:
+ case 4342:
+ case 4344:
+ case 4346:
+ case 4348:
+ case 4350:
+ case 4352:
+ case 4354:
+ case 4356:
+ case 4358:
+ case 4360:
+ case 4362:
+ case 4364:
+ case 4366:
+ case 4368:
+ case 4370:
+ case 4372:
+ case 4374:
+ case 4376:
+ case 4378:
+ case 4380:
+ case 4382:
+ case 4384:
+ case 4386:
+ case 4388:
+ case 4390:
+ case 4392:
+ case 4394:
+ case 4396:
+ case 4398:
+ case 4400:
+ case 4402:
+ case 4404:
+ case 4406:
+ case 4408:
+ case 4410:
+ case 4412:
+ case 4414:
+ case 4416:
+ case 4418:
+ case 4420:
+ case 4422:
+ case 4424:
+ case 4426:
+ case 4428:
+ case 4430:
+ case 4432:
+ case 4434:
+ case 4436:
+ case 4438:
+ case 4440:
+ case 4442:
+ case 4444:
+ case 4446:
+ case 4448:
+ case 4450:
+ case 4452:
+ case 4454:
+ case 4456:
+ case 4458:
+ case 4460:
+ case 4462:
+ case 4464:
+ case 4466:
+ case 4468:
+ case 4470:
+ case 4472:
+ case 4474:
+ case 4476:
+ case 4478:
+ case 4480:
+ case 4482:
+ case 4484:
+ case 4486:
+ case 4488:
+ case 4490:
+ case 4492:
+ case 4494:
+ case 4496:
+ case 4498:
+ case 4500:
+ case 4502:
+ case 4504:
+ case 4506:
+ case 4508:
+ case 4510:
+ case 4512:
+ case 4514:
+ case 4516:
+ case 4518:
+ case 4520:
+ case 4522:
+ case 4524:
+ case 4526:
+ case 4528:
+ case 4530:
+ case 4532:
+ case 4534:
+ case 4536:
+ case 4538:
+ case 4540:
+ case 4542:
+ case 4544:
+ case 4546:
+ case 4548:
+ case 4550:
+ case 4552:
+ case 4554:
+ case 4556:
+ case 4558:
+ case 4560:
+ case 4562:
+ case 4564:
+ case 4566:
+ case 4568:
+ case 4570:
+ case 4572:
+ case 4574:
+ case 4576:
+ case 4578:
+ case 4580:
+ case 4582:
+ case 4584:
+ case 4586:
+ case 4588:
+ case 4590:
+ case 4592:
+ case 4594:
+ case 4596:
+ case 4598:
+ case 4600:
+ case 4602:
+ case 4604:
+ case 4606:
+ case 4608:
+ case 4610:
+ case 4612:
+ case 4614:
+ case 4616:
+ case 4618:
+ case 4620:
+ case 4622:
+ case 4624:
+ case 4626:
+ case 4628:
+ case 4630:
+ case 4632:
+ case 4634:
+ case 4636:
+ case 4638:
+ case 4640:
+ case 4642:
+ case 4644:
+ case 4646:
+ case 4648:
+ case 4650:
+ case 4652:
+ case 4654:
+ case 4656:
+ case 4658:
+ case 4660:
+ case 4662:
+ case 4664:
+ case 4666:
+ case 4668:
+ case 4670:
+ case 4672:
+ case 4674:
+ case 4676:
+ case 4678:
+ case 4680:
+ case 4682:
+ case 4684:
+ case 4686:
+ case 4688:
+ case 4690:
+ case 4692:
+ case 4694:
+ case 4696:
+ case 4698:
+ case 4700:
+ case 4702:
+ case 4704:
+ case 4706:
+ case 4708:
+ case 4710:
+ case 4712:
+ case 4714:
+ case 4716:
+ case 4718:
+ case 4720:
+ case 4722:
+ case 4724:
+ case 4726:
+ case 4728:
+ case 4730:
+ case 4732:
+ case 4734:
+ case 4736:
+ case 4738:
+ case 4740:
+ case 4742:
+ case 4744:
+ case 4746:
+ case 4748:
+ case 4750:
+ case 4752:
+ case 4754:
+ case 4756:
+ case 4758:
+ case 4760:
+ case 4762:
+ case 4764:
+ case 4766:
+ case 4768:
+ case 4770:
+ case 4772:
+ case 4774:
+ case 4776:
+ case 4778:
+ case 4780:
+ case 4782:
+ case 4784:
+ case 4786:
+ case 4788:
+ case 4790:
+ case 4792:
+ case 4794:
+ case 4796:
+ case 4798:
+ case 4800:
+ case 4802:
+ case 4804:
+ case 4806:
+ case 4808:
+ case 4810:
+ case 4812:
+ case 4814:
+ case 4816:
+ case 4818:
+ case 4820:
+ case 4822:
+ case 4824:
+ case 4826:
+ case 4828:
+ case 4830:
+ case 4832:
+ case 4834:
+ case 4836:
+ case 4838:
+ case 4840:
+ case 4842:
+ case 4844:
+ case 4846:
+ case 4848:
+ case 4850:
+ case 4852:
+ case 4854:
+ case 4856:
+ case 4858:
+ case 4860:
+ case 4862:
+ case 4864:
+ case 4866:
+ case 4868:
+ case 4870:
+ case 4872:
+ case 4874:
+ case 4876:
+ case 4878:
+ case 4880:
+ case 4882:
+ case 4884:
+ case 4886:
+ case 4888:
+ case 4890:
+ case 4892:
+ case 4894:
+ case 4896:
+ case 4898:
+ case 4900:
+ case 4902:
+ case 4904:
+ case 4906:
+ case 4908:
+ case 4910:
+ case 4912:
+ case 4914:
+ case 4916:
+ case 4918:
+ case 4920:
+ case 4922:
+ case 4924:
+ case 4926:
+ case 4928:
+ case 4930:
+ case 4932:
+ case 4934:
+ case 4936:
+ case 4938:
+ case 4940:
+ case 4942:
+ case 4944:
+ case 4946:
+ case 4948:
+ case 4950:
+ case 4952:
+ case 4954:
+ case 4956:
+ case 4958:
+ case 4960:
+ case 4962:
+ case 4964:
+ case 4966:
+ case 4968:
+ case 4970:
+ case 4972:
+ case 4974:
+ case 4976:
+ case 4978:
+ case 4980:
+ case 4982:
+ case 4984:
+ case 4986:
+ case 4988:
+ case 4990:
+ case 4992:
+ case 4994:
+ case 4996:
+ case 4998:
+ case 5e3:
+ case 5002:
+ case 5004:
+ case 5006:
+ case 5008:
+ case 5010:
+ case 5012:
+ case 5014:
+ case 5016:
+ case 5018:
+ case 5020:
+ case 5022:
+ case 5024:
+ case 5026:
+ case 5028:
+ case 5030:
+ case 5032:
+ case 5034:
+ case 5036:
+ case 5038:
+ case 5040:
+ case 5042:
+ case 5044:
+ case 5046:
+ case 5048:
+ case 5050:
+ case 5052:
+ case 5054:
+ case 5056:
+ case 5058:
+ case 5060:
+ case 5062:
+ case 5064:
+ case 5066:
+ case 5068:
+ case 5070:
+ case 5072:
+ case 5074:
+ case 5076:
+ case 5078:
+ case 5080:
+ case 5082:
+ case 5084:
+ case 5086:
+ case 5088:
+ case 5090:
+ case 5092:
+ case 5094:
+ case 5096:
+ case 5098:
+ case 5100:
+ case 5102:
+ case 5104:
+ case 5106:
+ case 5108:
+ case 5110:
+ case 5112:
+ case 5114:
+ case 5116:
+ case 5118:
+ case 5120:
+ case 5122:
+ case 5124:
+ case 5126:
+ case 5128:
+ case 5130:
+ case 5132:
+ case 5134:
+ case 5136:
+ case 5138:
+ case 5140:
+ case 5142:
+ case 5144:
+ case 5146:
+ case 5148:
+ case 5150:
+ case 5152:
+ case 5154:
+ case 5156:
+ case 5158:
+ case 5160:
+ case 5162:
+ case 5164:
+ case 5166:
+ case 5168:
+ case 5170:
+ case 5172:
+ case 5174:
+ case 5176:
+ case 5178:
+ case 5180:
+ case 5182:
+ case 5184:
+ case 5186:
+ case 5188:
+ case 5190:
+ case 5192:
+ case 5194:
+ case 5196:
+ case 5198:
+ case 5200:
+ case 5202:
+ case 5204:
+ case 5206:
+ case 5208:
+ case 5210:
+ case 5212:
+ case 5214:
+ case 5216:
+ case 5218:
+ case 5220:
+ case 5222:
+ case 5224:
+ case 5226:
+ case 5228:
+ case 5230:
+ case 5232:
+ case 5234:
+ case 5236:
+ case 5238:
+ case 5240:
+ case 5242:
+ case 5244:
+ case 5246:
+ case 5248:
+ case 5250:
+ case 5252:
+ case 5254:
+ case 5256:
+ case 5258:
+ case 5260:
+ case 5262:
+ case 5264:
+ case 5266:
+ case 5268:
+ case 5270:
+ case 5272:
+ case 5274:
+ case 5276:
+ case 5278:
+ case 5280:
+ case 5282:
+ case 5284:
+ case 5286:
+ case 5288:
+ case 5290:
+ case 5292:
+ case 5294:
+ case 5296:
+ case 5298:
+ case 5300:
+ case 5302:
+ case 5304:
+ case 5306:
+ case 5308:
+ case 5310:
+ case 5312:
+ case 5314:
+ case 5316:
+ case 5318:
+ case 5320:
+ case 5322:
+ case 5324:
+ case 5326:
+ case 5328:
+ case 5330:
+ case 5332:
+ case 5334:
+ case 5336:
+ case 5338:
+ case 5340:
+ case 5342:
+ case 5344:
+ case 5346:
+ case 5348:
+ case 5350:
+ case 5352:
+ case 5354:
+ case 5356:
+ case 5358:
+ case 5360:
+ case 5362:
+ case 5364:
+ case 5366:
+ case 5368:
+ case 5370:
+ case 5372:
+ case 5374:
+ case 5376:
+ case 5378:
+ case 5380:
+ case 5382:
+ case 5384:
+ case 5386:
+ case 5388:
+ case 5390:
+ case 5392:
+ case 5394:
+ case 5396:
+ case 5398:
+ case 5400:
+ case 5402:
+ case 5404:
+ case 5406:
+ case 5408:
+ case 5410:
+ case 5412:
+ case 5414:
+ case 5416:
+ case 5418:
+ case 5420:
+ case 5422:
+ case 5424:
+ case 5426:
+ case 5428:
+ case 5430:
+ case 5432:
+ case 5434:
+ case 5436:
+ case 5438:
+ case 5440:
+ case 5442:
+ case 5444:
+ case 5446:
+ case 5448:
+ case 5450:
+ case 5452:
+ case 5454:
+ case 5456:
+ case 5458:
+ case 5460:
+ case 5462:
+ case 5464:
+ case 5466:
+ case 5468:
+ case 5470:
+ case 5472:
+ case 5474:
+ case 5476:
+ case 5478:
+ case 5480:
+ case 5482:
+ case 5484:
+ case 5486:
+ case 5488:
+ case 5490:
+ case 5492:
+ case 5494:
+ case 5496:
+ case 5498:
+ case 5500:
+ case 5502:
+ case 5504:
+ case 5506:
+ case 5508:
+ case 5510:
+ case 5512:
+ case 5514:
+ case 5516:
+ case 5518:
+ case 5520:
+ case 5522:
+ case 5524:
+ case 5526:
+ case 5528:
+ case 5530:
+ case 5532:
+ case 5534:
+ case 5536:
+ case 5538:
+ case 5540:
+ case 5542:
+ case 5544:
+ case 5546:
+ case 5548:
+ case 5550:
+ case 5552:
+ case 5554:
+ case 5556:
+ case 5558:
+ case 5560:
+ case 5562:
+ case 5564:
+ case 5566:
+ case 5568:
+ case 5570:
+ case 5572:
+ case 5574:
+ case 5576:
+ case 5578:
+ case 5580:
+ case 5582:
+ case 5584:
+ case 5586:
+ case 5588:
+ case 5590:
+ case 5592:
+ case 5594:
+ case 5596:
+ case 5598:
+ case 5600:
+ case 5602:
+ case 5604:
+ case 5606:
+ case 5608:
+ case 5610:
+ case 5612:
+ case 5614:
+ case 5616:
+ case 5618:
+ case 5620:
+ case 5622:
+ case 5624:
+ case 5626:
+ case 5628:
+ case 5630:
+ case 5632:
+ case 5634:
+ case 5636:
+ case 5638:
+ case 5640:
+ case 5642:
+ case 5644:
+ case 5646:
+ case 5648:
+ case 5650:
+ case 5652:
+ case 5654:
+ case 5656:
+ case 5658:
+ case 5660:
+ case 5662:
+ case 5664:
+ case 5666:
+ case 5668:
+ case 5670:
+ case 5672:
+ case 5674:
+ case 5676:
+ case 5678:
+ case 5680:
+ case 5682:
+ case 5684:
+ case 5686:
+ case 5688:
+ case 5690:
+ case 5692:
+ case 5694:
+ case 5696:
+ case 5698:
+ case 5700:
+ case 5702:
+ case 5704:
+ case 5706:
+ case 5708:
+ case 5710:
+ case 5712:
+ case 5714:
+ case 5716:
+ case 5718:
+ case 5720:
+ case 5722:
+ case 5724:
+ case 5726:
+ case 5728:
+ case 5730:
+ case 5732:
+ case 5734:
+ case 5736:
+ case 5738:
+ case 5740:
+ case 5742:
+ case 5744:
+ case 5746:
+ case 5748:
+ case 5750:
+ case 5752:
+ case 5754:
+ case 5756:
+ case 5758:
+ case 5760:
+ case 5762:
+ case 5764:
+ case 5766:
+ case 5768:
+ case 5770:
+ case 5772:
+ case 5774:
+ case 5776:
+ case 5778:
+ case 5780:
+ case 5782:
+ case 5784:
+ case 5786:
+ case 5788:
+ case 5790:
+ case 5792:
+ case 5794:
+ case 5796:
+ case 5798:
+ case 5800:
+ case 5802:
+ case 5804:
+ case 5806:
+ case 5808:
+ case 5810:
+ case 5812:
+ case 5814:
+ case 5816:
+ case 5818:
+ case 5820:
+ case 5822:
+ case 5824:
+ case 5826:
+ case 5828:
+ case 5830:
+ case 5832:
+ case 5834:
+ case 5836:
+ case 5838:
+ case 5840:
+ case 5842:
+ case 5844:
+ case 5846:
+ case 5848:
+ case 5850:
+ case 5852:
+ case 5854:
+ case 5856:
+ case 5858:
+ case 5860:
+ case 5862:
+ case 5864:
+ case 5866:
+ case 5868:
+ case 5870:
+ case 5872:
+ case 5874:
+ case 5876:
+ case 5878:
+ case 5880:
+ case 5882:
+ case 5884:
+ case 5886:
+ case 5888:
+ case 5890:
+ case 5892:
+ case 5894:
+ case 5896:
+ case 5898:
+ case 5900:
+ case 5902:
+ case 5904:
+ case 5906:
+ case 5908:
+ case 5910:
+ case 5912:
+ case 5914:
+ case 5916:
+ case 5918:
+ case 5920:
+ case 5922:
+ case 5924:
+ case 5926:
+ case 5928:
+ case 5930:
+ case 5932:
+ case 5934:
+ case 5936:
+ case 5938:
+ case 5940:
+ case 5942:
+ case 5944:
+ case 5946:
+ case 5948:
+ case 5950:
+ case 5952:
+ case 5954:
+ case 5956:
+ case 5958:
+ case 5960:
+ case 5962:
+ case 5964:
+ case 5966:
+ case 5968:
+ case 5970:
+ case 5972:
+ case 5974:
+ case 5976:
+ case 5978:
+ case 5980:
+ case 5982:
+ case 5984:
+ case 5986:
+ case 5988:
+ case 5990:
+ case 5992:
+ case 5994:
+ case 5996:
+ case 5998:
+ case 6e3:
+ case 6002:
+ case 6004:
+ case 6006:
+ case 6008:
+ case 6010:
+ case 6012:
+ case 6014:
+ case 6016:
+ case 6018:
+ case 6020:
+ case 6022:
+ case 6024:
+ case 6026:
+ case 6028:
+ case 6030:
+ case 6032:
+ case 6034:
+ case 6036:
+ case 6038:
+ case 6040:
+ case 6042:
+ case 6044:
+ case 6046:
+ case 6048:
+ case 6050:
+ case 6052:
+ case 6054:
+ case 6056:
+ case 6058:
+ case 6060:
+ case 6062:
+ case 6064:
+ case 6066:
+ case 6068:
+ case 6070:
+ case 6072:
+ case 6074:
+ case 6076:
+ case 6078:
+ case 6080:
+ case 6082:
+ case 6084:
+ case 6086:
+ case 6088:
+ case 6090:
+ case 6092:
+ case 6094:
+ case 6096:
+ case 6098:
+ case 6100:
+ case 6102:
+ case 6104:
+ case 6106:
+ case 6108:
+ case 6110:
+ case 6112:
+ case 6114:
+ case 6116:
+ case 6118:
+ case 6120:
+ case 6122:
+ case 6124:
+ case 6126:
+ case 6128:
+ case 6130:
+ case 6132:
+ case 6134:
+ case 6136:
+ case 6138:
+ case 6140:
+ case 6142:
+ case 6144:
+ case 6146:
+ case 6148:
+ case 6150:
+ case 6152:
+ case 6154:
+ case 6156:
+ case 6158:
+ case 6160:
+ case 6162:
+ case 6164:
+ case 6166:
+ case 6168:
+ case 6170:
+ case 6172:
+ case 6174:
+ case 6176:
+ case 6178:
+ case 6180:
+ case 6182:
+ case 6184:
+ case 6186:
+ case 6188:
+ case 6190:
+ case 6192:
+ case 6194:
+ case 6196:
+ case 6198:
+ case 6200:
+ case 6202:
+ case 6204:
+ case 6206:
+ case 6208:
+ case 6210:
+ case 6212:
+ case 6214:
+ case 6216:
+ case 6218:
+ case 6220:
+ case 6222:
+ case 6224:
+ case 6226:
+ case 6228:
+ case 6230:
+ case 6232:
+ case 6234:
+ case 6236:
+ case 6238:
+ case 6240:
+ case 6242:
+ case 6244:
+ case 6246:
+ case 6248:
+ case 6250:
+ case 6252:
+ case 6254:
+ case 6256:
+ case 6258:
+ case 6260:
+ case 6262:
+ case 6264:
+ case 6266:
+ case 6268:
+ case 6270:
+ case 6272:
+ case 6274:
+ case 6276:
+ case 6278:
+ case 6280:
+ case 6282:
+ case 6284:
+ case 6286:
+ case 6288:
+ case 6290:
+ case 6292:
+ case 6294:
+ case 6296:
+ case 6298:
+ case 6300:
+ case 6302:
+ case 6304:
+ case 6306:
+ case 6308:
+ case 6310:
+ case 6312:
+ case 6314:
+ case 6316:
+ case 6318:
+ case 6320:
+ case 6322:
+ case 6324:
+ case 6326:
+ case 6328:
+ case 6330:
+ case 6332:
+ case 6334:
+ case 6336:
+ case 6338:
+ case 6340:
+ case 6342:
+ case 6344:
+ case 6346:
+ case 6348:
+ case 6350:
+ case 6352:
+ case 6354:
+ case 6356:
+ case 6358:
+ case 6360:
+ case 6362:
+ case 6364:
+ case 6366:
+ case 6368:
+ case 6370:
+ case 6372:
+ case 6374:
+ case 6376:
+ case 6378:
+ case 6380:
+ case 6382:
+ case 6384:
+ case 6386:
+ case 6388:
+ case 6390:
+ case 6392:
+ case 6394:
+ case 6396:
+ case 6398:
+ case 6400:
+ case 6402:
+ case 6404:
+ case 6406:
+ case 6408:
+ case 6410:
+ case 6412:
+ case 6414:
+ case 6416:
+ case 6418:
+ case 6420:
+ case 6422:
+ case 6424:
+ case 6426:
+ case 6428:
+ case 6430:
+ case 6432:
+ case 6434:
+ case 6436:
+ case 6438:
+ case 6440:
+ case 6442:
+ case 6444:
+ case 6446:
+ case 6448:
+ case 6450:
+ case 6452:
+ case 6454:
+ case 6456:
+ case 6458:
+ case 6460:
+ case 6462:
+ case 6464:
+ case 6466:
+ case 6468:
+ case 6470:
+ case 6472:
+ case 6474:
+ case 6476:
+ case 6478:
+ case 6480:
+ case 6482:
+ case 6484:
+ case 6486:
+ case 6488:
+ case 6490:
+ case 6492:
+ case 6494:
+ case 6496:
+ case 6498:
+ case 6500:
+ case 6502:
+ case 6504:
+ case 6506:
+ case 6508:
+ case 6510:
+ case 6512:
+ case 6514:
+ case 6516:
+ case 6518:
+ case 6520:
+ case 6522:
+ case 6524:
+ case 6526:
+ case 6528:
+ case 6530:
+ case 6532:
+ case 6534:
+ case 6536:
+ case 6538:
+ case 6540:
+ case 6542:
+ case 6544:
+ case 6546:
+ case 6548:
+ case 6550:
+ case 6552:
+ case 6554:
+ case 6556:
+ case 6558:
+ case 6560:
+ case 6562:
+ case 6564:
+ case 6566:
+ case 6568:
+ case 6570:
+ case 6572:
+ case 6574:
+ case 6576:
+ case 6578:
+ case 6580:
+ case 6582:
+ case 6584:
+ case 6586:
+ case 6588:
+ case 6590:
+ case 6592:
+ case 6594:
+ case 6596:
+ case 6598:
+ case 6600:
+ case 6602:
+ case 6604:
+ case 6606:
+ case 6608:
+ case 6610:
+ case 6612:
+ case 6614:
+ case 6616:
+ case 6618:
+ case 6620:
+ case 6622:
+ case 6624:
+ case 6626:
+ case 6628:
+ case 6630:
+ case 6632:
+ case 6634:
+ case 6636:
+ case 6638:
+ case 6640:
+ case 6642:
+ case 6644:
+ case 6646:
+ case 6648:
+ case 6650:
+ case 6652:
+ case 6654:
+ case 6656:
+ case 6658:
+ case 6660:
+ case 6662:
+ case 6664:
+ case 6666:
+ case 6668:
+ case 6670:
+ case 6672:
+ case 6674:
+ case 6676:
+ case 6678:
+ case 6680:
+ case 6682:
+ case 6684:
+ case 6686:
+ case 6688:
+ case 6690:
+ case 6692:
+ case 6694:
+ case 6696:
+ case 6698:
+ case 6700:
+ case 6702:
+ case 6704:
+ case 6706:
+ case 6708:
+ case 6710:
+ case 6712:
+ case 6714:
+ case 6716:
+ case 6718:
+ case 6720:
+ case 6722:
+ case 6724:
+ case 6726:
+ case 6728:
+ case 6730:
+ case 6732:
+ case 6734:
+ case 6736:
+ case 6738:
+ case 6740:
+ case 6742:
+ case 6744:
+ case 6746:
+ case 6748:
+ case 6750:
+ case 6752:
+ case 6754:
+ case 6756:
+ case 6758:
+ case 6760:
+ case 6762:
+ case 6764:
+ case 6766:
+ case 6768:
+ case 6770:
+ case 6772:
+ case 6774:
+ case 6776:
+ case 6778:
+ case 6780:
+ case 6782:
+ case 6784:
+ case 6786:
+ case 6788:
+ case 6790:
+ case 6792:
+ case 6794:
+ case 6796:
+ case 6798:
+ case 6800:
+ case 6802:
+ case 6804:
+ case 6806:
+ case 6808:
+ case 6810:
+ case 6812:
+ case 6814:
+ case 6816:
+ case 6818:
+ case 6820:
+ case 6822:
+ case 6824:
+ case 6826:
+ case 6828:
+ case 6830:
+ case 6832:
+ case 6834:
+ case 6836:
+ case 6838:
+ case 6840:
+ case 6842:
+ case 6844:
+ case 6846:
+ case 6848:
+ case 6850:
+ case 6852:
+ case 6854:
+ case 6856:
+ case 6858:
+ case 6860:
+ case 6862:
+ case 6864:
+ case 6866:
+ case 6868:
+ case 6870:
+ case 6872:
+ case 6874:
+ case 6876:
+ case 6878:
+ case 6880:
+ case 6882:
+ case 6884:
+ case 6886:
+ case 6888:
+ case 6890:
+ case 6892:
+ case 6894:
+ case 6896:
+ case 6898:
+ case 6900:
+ case 6902:
+ case 6904:
+ case 6906:
+ case 6908:
+ case 6910:
+ case 6912:
+ case 6914:
+ case 6916:
+ case 6918:
+ case 6920:
+ case 6922:
+ case 6924:
+ case 6926:
+ case 6928:
+ case 6930:
+ case 6932:
+ case 6934:
+ case 6936:
+ case 6938:
+ case 6940:
+ case 6942:
+ case 6944:
+ case 6946:
+ case 6948:
+ case 6950:
+ case 6952:
+ case 6954:
+ case 6956:
+ case 6958:
+ case 6960:
+ case 6962:
+ case 6964:
+ case 6966:
+ case 6968:
+ case 6970:
+ case 6972:
+ case 6974:
+ case 6976:
+ case 6978:
+ case 6980:
+ case 6982:
+ case 6984:
+ case 6986:
+ case 6988:
+ case 6990:
+ case 6992:
+ case 6994:
+ case 6996:
+ case 6998:
+ case 7e3:
+ case 7002:
+ case 7004:
+ case 7006:
+ case 7008:
+ case 7010:
+ case 7012:
+ case 7014:
+ case 7016:
+ case 7018:
+ case 7020:
+ case 7022:
+ case 7024:
+ case 7026:
+ case 7028:
+ case 7030:
+ case 7032:
+ case 7034:
+ case 7036:
+ case 7038:
+ case 7040:
+ case 7042:
+ case 7044:
+ case 7046:
+ case 7048:
+ case 7050:
+ case 7052:
+ case 7054:
+ case 7056:
+ case 7058:
+ case 7060:
+ case 7062:
+ case 7064:
+ case 7066:
+ case 7068:
+ case 7070:
+ case 7072:
+ case 7074:
+ case 7076:
+ case 7078:
+ case 7080:
+ case 7082:
+ case 7084:
+ case 7086:
+ case 7088:
+ case 7090:
+ case 7092:
+ case 7094:
+ case 7096:
+ case 7098:
+ case 7100:
+ case 7102:
+ case 7104:
+ case 7106:
+ case 7108:
+ case 7110:
+ case 7112:
+ case 7114:
+ case 7116:
+ case 7118:
+ case 7120:
+ case 7122:
+ case 7124:
+ case 7126:
+ case 7128:
+ case 7130:
+ case 7132:
+ case 7134:
+ case 7136:
+ case 7138:
+ case 7140:
+ case 7142:
+ case 7144:
+ case 7146:
+ case 7148:
+ case 7150:
+ case 7152:
+ case 7154:
+ case 7156:
+ case 7158:
+ case 7160:
+ case 7162:
+ case 7164:
+ case 7166:
+ case 7168:
+ case 7170:
+ case 7172:
+ case 7174:
+ case 7176:
+ case 7178:
+ case 7180:
+ case 7182:
+ case 7184:
+ case 7186:
+ case 7188:
+ case 7190:
+ case 7192:
+ case 7194:
+ case 7196:
+ case 7198:
+ case 7200:
+ case 7202:
+ case 7204:
+ case 7206:
+ case 7208:
+ case 7210:
+ case 7212:
+ case 7214:
+ case 7216:
+ case 7218:
+ case 7220:
+ case 7222:
+ case 7224:
+ case 7226:
+ case 7228:
+ case 7230:
+ case 7232:
+ case 7234:
+ case 7236:
+ case 7238:
+ case 7240:
+ case 7242:
+ case 7244:
+ case 7246:
+ case 7248:
+ case 7250:
+ case 7252:
+ case 7254:
+ case 7256:
+ case 7258:
+ case 7260:
+ case 7262:
+ case 7264:
+ case 7266:
+ case 7268:
+ case 7270:
+ case 7272:
+ case 7274:
+ case 7276:
+ case 7278:
+ case 7280:
+ case 7282:
+ case 7284:
+ case 7286:
+ case 7288:
+ case 7290:
+ case 7292:
+ case 7294:
+ case 7296:
+ case 7298:
+ case 7300:
+ case 7302:
+ case 7304:
+ case 7306:
+ case 7308:
+ case 7310:
+ case 7312:
+ case 7314:
+ case 7316:
+ case 7318:
+ case 7320:
+ case 7322:
+ case 7324:
+ case 7326:
+ case 7328:
+ case 7330:
+ case 7332:
+ case 7334:
+ case 7336:
+ case 7338:
+ case 7340:
+ case 7342:
+ case 7344:
+ case 7346:
+ case 7348:
+ case 7350:
+ case 7352:
+ case 7354:
+ case 7356:
+ case 7358:
+ case 7360:
+ case 7362:
+ case 7364:
+ case 7366:
+ case 7368:
+ case 7370:
+ case 7372:
+ case 7374:
+ case 7376:
+ case 7378:
+ case 7380:
+ case 7382:
+ case 7384:
+ case 7386:
+ case 7388:
+ case 7390:
+ case 7392:
+ case 7394:
+ case 7396:
+ case 7398:
+ case 7400:
+ case 7402:
+ case 7404:
+ case 7406:
+ case 7408:
+ case 7410:
+ case 7412:
+ case 7414:
+ case 7416:
+ case 7418:
+ case 7420:
+ case 7422:
+ case 7424:
+ case 7426:
+ case 7428:
+ case 7430:
+ case 7432:
+ case 7434:
+ case 7436:
+ case 7438:
+ case 7440:
+ case 7442:
+ case 7444:
+ case 7446:
+ case 7448:
+ case 7450:
+ case 7452:
+ case 7454:
+ case 7456:
+ case 7458:
+ case 7460:
+ case 7462:
+ case 7464:
+ case 7466:
+ case 7468:
+ case 7470:
+ case 7472:
+ case 7474:
+ case 7476:
+ case 7478:
+ case 7480:
+ case 7482:
+ case 7484:
+ case 7486:
+ case 7488:
+ case 7490:
+ case 7492:
+ case 7494:
+ case 7496:
+ case 7498:
+ case 7500:
+ case 7502:
+ case 7504:
+ case 7506:
+ case 7508:
+ case 7510:
+ case 7512:
+ case 7514:
+ case 7516:
+ case 7518:
+ case 7520:
+ case 7522:
+ case 7524:
+ case 7526:
+ case 7528:
+ case 7530:
+ case 7532:
+ case 7534:
+ case 7536:
+ case 7538:
+ case 7540:
+ case 7542:
+ case 7544:
+ case 7546:
+ case 7548:
+ case 7550:
+ case 7552:
+ case 7554:
+ case 7556:
+ case 7558:
+ case 7560:
+ case 7562:
+ case 7564:
+ case 7566:
+ case 7568:
+ case 7570:
+ case 7572:
+ case 7574:
+ case 7576:
+ case 7578:
+ case 7580:
+ case 7582:
+ case 7584:
+ case 7586:
+ case 7588:
+ case 7590:
+ case 7592:
+ case 7594:
+ case 7596:
+ case 7598:
+ case 7600:
+ case 7602:
+ case 7604:
+ case 7606:
+ case 7608:
+ case 7610:
+ case 7612:
+ case 7614:
+ case 7616:
+ case 7618:
+ case 7620:
+ case 7622:
+ case 7624:
+ case 7626:
+ case 7628:
+ case 7630:
+ case 7632:
+ case 7634:
+ case 7636:
+ case 7638:
+ case 7640:
+ case 7642:
+ case 7644:
+ case 7646:
+ case 7648:
+ case 7650:
+ case 7652:
+ case 7654:
+ case 7656:
+ case 7658:
+ case 7660:
+ case 7662:
+ case 7664:
+ case 7666:
+ case 7668:
+ case 7670:
+ case 7672:
+ case 7674:
+ case 7676:
+ case 7678:
+ case 7680:
+ case 7682:
+ case 7684:
+ case 7686:
+ case 7688:
+ case 7690:
+ case 7692:
+ case 7694:
+ case 7696:
+ case 7698:
+ case 7700:
+ case 7702:
+ case 7704:
+ case 7706:
+ case 7708:
+ case 7710:
+ case 7712:
+ case 7714:
+ case 7716:
+ case 7718:
+ case 7720:
+ case 7722:
+ case 7724:
+ case 7726:
+ case 7728:
+ case 7730:
+ case 7732:
+ case 7734:
+ case 7736:
+ case 7738:
+ case 7740:
+ case 7742:
+ case 7744:
+ case 7746:
+ case 7748:
+ case 7750:
+ case 7752:
+ case 7754:
+ case 7756:
+ case 7758:
+ case 7760:
+ case 7762:
+ case 7764:
+ case 7766:
+ case 7768:
+ case 7770:
+ case 7772:
+ case 7774:
+ case 7776:
+ case 7778:
+ case 7780:
+ case 7782:
+ case 7784:
+ case 7786:
+ case 7788:
+ case 7790:
+ case 7792:
+ case 7794:
+ case 7796:
+ case 7798:
+ case 7800:
+ case 7802:
+ case 7804:
+ case 7806:
+ case 7808:
+ case 7810:
+ case 7812:
+ case 7814:
+ case 7816:
+ case 7818:
+ case 7820:
+ case 7822:
+ case 7824:
+ case 7826:
+ case 7828:
+ case 7830:
+ case 7832:
+ case 7834:
+ case 7836:
+ case 7838:
+ case 7840:
+ case 7842:
+ case 7844:
+ case 7846:
+ case 7848:
+ case 7850:
+ case 7852:
+ case 7854:
+ case 7856:
+ case 7858:
+ case 7860:
+ case 7862:
+ case 7864:
+ case 7866:
+ case 7868:
+ case 7870:
+ case 7872:
+ case 7874:
+ case 7876:
+ case 7878:
+ case 7880:
+ case 7882:
+ case 7884:
+ case 7886:
+ case 7888:
+ case 7890:
+ case 7892:
+ case 7894:
+ case 7896:
+ case 7898:
+ case 7900:
+ case 7902:
+ case 7904:
+ case 7906:
+ case 7908:
+ case 7910:
+ case 7912:
+ case 7914:
+ case 7916:
+ case 7918:
+ case 7920:
+ case 7922:
+ case 7924:
+ case 7926:
+ case 7928:
+ case 7930:
+ case 7932:
+ case 7934:
+ case 7936:
+ case 7938:
+ case 7940:
+ case 7942:
+ case 7944:
+ case 7946:
+ case 7948:
+ case 7950:
+ case 7952:
+ case 7954:
+ case 7956:
+ case 7958:
+ case 7960:
+ case 7962:
+ case 7964:
+ case 7966:
+ case 7968:
+ case 7970:
+ case 7972:
+ case 7974:
+ case 7976:
+ case 7978:
+ case 7980:
+ case 7982:
+ case 7984:
+ case 7986:
+ case 7988:
+ case 7990:
+ case 7992:
+ case 7994:
+ case 7996:
+ case 7998:
+ case 8e3:
+ case 8002:
+ case 8004:
+ case 8006:
+ case 8008:
+ case 8010:
+ case 8012:
+ case 8014:
+ case 8016:
+ case 8018:
+ case 8020:
+ case 8022:
+ case 8024:
+ case 8026:
+ case 8028:
+ case 8030:
+ case 8032:
+ case 8034:
+ case 8036:
+ case 8038:
+ case 8040:
+ case 8042:
+ case 8044:
+ case 8046:
+ case 8048:
+ case 8050:
+ case 8052:
+ case 8054:
+ case 8056:
+ case 8058:
+ case 8060:
+ case 8062:
+ case 8064:
+ case 8066:
+ case 8068:
+ case 8070:
+ case 8072:
+ case 8074:
+ case 8076:
+ case 8078:
+ case 8080:
+ case 8082:
+ case 8084:
+ case 8086:
+ case 8088:
+ case 8090:
+ case 8092:
+ case 8094:
+ case 8096:
+ case 8098:
+ case 8100:
+ case 8102:
+ case 8104:
+ case 8106:
+ case 8108:
+ case 8110:
+ case 8112:
+ case 8114:
+ case 8116:
+ case 8118:
+ case 8120:
+ case 8122:
+ case 8124:
+ case 8126:
+ case 8128:
+ case 8130:
+ case 8132:
+ case 8134:
+ case 8136:
+ case 8138:
+ case 8140:
+ case 8142:
+ case 8144:
+ case 8146:
+ case 8148:
+ case 8150:
+ case 8152:
+ case 8154:
+ case 8156:
+ case 8158:
+ case 8160:
+ case 8162:
+ case 8164:
+ case 8166:
+ case 8168:
+ case 8170:
+ case 8172:
+ case 8174:
+ case 8176:
+ case 8178:
+ case 8180:
+ case 8182:
+ case 8184:
+ case 8186:
+ case 8188:
+ case 8190:
+ case 8192:
+ case 8194:
+ case 8196:
+ case 8198:
+ case 8200:
+ case 8202:
+ case 8204:
+ case 8206:
+ case 8208:
+ case 8210:
+ case 8212:
+ case 8214:
+ case 8216:
+ case 8218:
+ case 8220:
+ case 8222:
+ case 8224:
+ case 8226:
+ case 8228:
+ case 8230:
+ case 8232:
+ case 8234:
+ case 8236:
+ case 8238:
+ case 8240:
+ case 8242:
+ case 8244:
+ case 8246:
+ case 8248:
+ case 8250:
+ case 8252:
+ case 8254:
+ case 8256:
+ case 8258:
+ case 8260:
+ case 8262:
+ case 8264:
+ case 8266:
+ case 8268:
+ case 8270:
+ case 8272:
+ case 8274:
+ case 8276:
+ case 8278:
+ case 8280:
+ case 8282:
+ case 8284:
+ case 8286:
+ case 8288:
+ case 8290:
+ case 8292:
+ case 8294:
+ case 8296:
+ case 8298:
+ case 8300:
+ case 8302:
+ case 8304:
+ case 8306:
+ case 8308:
+ case 8310:
+ case 8312:
+ case 8314:
+ case 8316:
+ case 8318:
+ case 8320:
+ case 8322:
+ case 8324:
+ case 8326:
+ case 8328:
+ case 8330:
+ case 8332:
+ case 8334:
+ case 8336:
+ case 8338:
+ case 8340:
+ case 8342:
+ case 8344:
+ case 8346:
+ case 8348:
+ case 8350:
+ case 8352:
+ case 8354:
+ case 8356:
+ case 8358:
+ case 8360:
+ case 8362:
+ case 8364:
+ case 8366:
+ case 8368:
+ case 8370:
+ case 8372:
+ case 8374:
+ case 8376:
+ case 8378:
+ case 8380:
+ case 8382:
+ case 8384:
+ case 8386:
+ case 8388:
+ case 8390:
+ case 8392:
+ case 8394:
+ case 8396:
+ case 8398:
+ case 8400:
+ case 8402:
+ case 8404:
+ case 8406:
+ case 8408:
+ case 8410:
+ case 8412:
+ case 8414:
+ case 8416:
+ case 8418:
+ case 8420:
+ case 8422:
+ case 8424:
+ case 8426:
+ case 8428:
+ case 8430:
+ case 8432:
+ case 8434:
+ case 8436:
+ case 8438:
+ case 8440:
+ case 8442:
+ case 8444:
+ case 8446:
+ case 8448:
+ case 8450:
+ case 8452:
+ case 8454:
+ case 8456:
+ case 8458:
+ case 8460:
+ case 8462:
+ case 8464:
+ case 8466:
+ case 8468:
+ case 8470:
+ case 8472:
+ case 8474:
+ case 8476:
+ case 8478:
+ case 8480:
+ case 8482:
+ case 8484:
+ case 8486:
+ case 8488:
+ case 8490:
+ case 8492:
+ case 8494:
+ case 8496:
+ case 8498:
+ case 8500:
+ case 8502:
+ case 8504:
+ case 8506:
+ case 8508:
+ case 8510:
+ case 8512:
+ case 8514:
+ case 8516:
+ case 8518:
+ case 8520:
+ case 8522:
+ case 8524:
+ case 8526:
+ case 8528:
+ case 8530:
+ case 8532:
+ case 8534:
+ case 8536:
+ case 8538:
+ case 8540:
+ case 8542:
+ case 8544:
+ case 8546:
+ case 8548:
+ case 8550:
+ case 8552:
+ case 8554:
+ case 8556:
+ case 8558:
+ case 8560:
+ case 8562:
+ case 8564:
+ case 8566:
+ case 8568:
+ case 8570:
+ case 8572:
+ case 8574:
+ case 8576:
+ case 8578:
+ case 8580:
+ case 8582:
+ case 8584:
+ case 8586:
+ case 8588:
+ case 8590:
+ case 8592:
+ case 8594:
+ case 8596:
+ case 8598:
+ case 8600:
+ case 8602:
+ case 8604:
+ case 8606:
+ case 8608:
+ case 8610:
+ case 8612:
+ case 8614:
+ case 8616:
+ case 8618:
+ case 8620:
+ case 8622:
+ case 8624:
+ case 8626:
+ case 8628:
+ case 8630:
+ case 8632:
+ case 8634:
+ case 8636:
+ case 8638:
+ case 8640:
+ case 8642:
+ case 8644:
+ case 8646:
+ case 8648:
+ case 8650:
+ case 8652:
+ case 8654:
+ case 8656:
+ case 8658:
+ case 8660:
+ case 8662:
+ case 8664:
+ case 8666:
+ case 8668:
+ case 8670:
+ case 8672:
+ case 8674:
+ case 8676:
+ case 8678:
+ case 8680:
+ case 8682:
+ case 8684:
+ case 8686:
+ case 8688:
+ case 8690:
+ case 8692:
+ case 8694:
+ case 8696:
+ case 8698:
+ case 8700:
+ case 8702:
+ case 8704:
+ case 8706:
+ case 8708:
+ case 8710:
+ case 8712:
+ case 8714:
+ case 8716:
+ case 8718:
+ case 8720:
+ case 8722:
+ case 8724:
+ case 8726:
+ case 8728:
+ case 8730:
+ case 8732:
+ case 8734:
+ case 8736:
+ case 8738:
+ case 8740:
+ case 8742:
+ case 8744:
+ case 8746:
+ case 8748:
+ case 8750:
+ case 8752:
+ case 8754:
+ case 8756:
+ case 8758:
+ case 8760:
+ case 8762:
+ case 8764:
+ case 8766:
+ case 8768:
+ case 8770:
+ case 8772:
+ case 8774:
+ case 8776:
+ case 8778:
+ case 8780:
+ case 8782:
+ case 8784:
+ case 8786:
+ case 8788:
+ case 8790:
+ case 8792:
+ case 8794:
+ case 8796:
+ case 8798:
+ case 8800:
+ case 8802:
+ case 8804:
+ case 8806:
+ case 8808:
+ case 8810:
+ case 8812:
+ case 8814:
+ case 8816:
+ case 8818:
+ case 8820:
+ case 8822:
+ case 8824:
+ case 8826:
+ case 8828:
+ case 8830:
+ case 8832:
+ case 8834:
+ case 8836:
+ case 8838:
+ case 8840:
+ case 8842:
+ case 8844:
+ case 8846:
+ case 8848:
+ case 8850:
+ case 8852:
+ case 8854:
+ case 8856:
+ case 8858:
+ case 8860:
+ case 8862:
+ case 8864:
+ case 8866:
+ case 8868:
+ case 8870:
+ case 8872:
+ case 8874:
+ case 8876:
+ case 8878:
+ case 8880:
+ case 8882:
+ case 8884:
+ case 8886:
+ case 8888:
+ case 8890:
+ case 8892:
+ case 8894:
+ case 8896:
+ case 8898:
+ case 8900:
+ case 8902:
+ case 8904:
+ case 8906:
+ case 8908:
+ case 8910:
+ case 8912:
+ case 8914:
+ case 8916:
+ case 8918:
+ case 8920:
+ case 8922:
+ case 8924:
+ case 8926:
+ case 8928:
+ case 8930:
+ case 8932:
+ case 8934:
+ case 8936:
+ case 8938:
+ case 8940:
+ case 8942:
+ case 8944:
+ case 8946:
+ case 8948:
+ case 8950:
+ case 8952:
+ case 8954:
+ case 8956:
+ case 8958:
+ case 8960:
+ case 8962:
+ case 8964:
+ case 8966:
+ case 8968:
+ case 8970:
+ case 8972:
+ case 8974:
+ case 8976:
+ case 8978:
+ case 8980:
+ case 8982:
+ case 8984:
+ case 8986:
+ case 8988:
+ case 8990:
+ case 8992:
+ case 8994:
+ case 8996:
+ case 8998:
+ case 9e3:
+ case 9002:
+ case 9004:
+ case 9006:
+ case 9008:
+ case 9010:
+ case 9012:
+ case 9014:
+ case 9016:
+ case 9018:
+ case 9020:
+ case 9022:
+ case 9024:
+ case 9026:
+ case 9028:
+ case 9030:
+ case 9032:
+ case 9034:
+ case 9036:
+ case 9038:
+ case 9040:
+ case 9042:
+ case 9044:
+ case 9046:
+ case 9048:
+ case 9050:
+ case 9052:
+ case 9054:
+ case 9056:
+ case 9058:
+ case 9060:
+ case 9062:
+ case 9064:
+ case 9066:
+ case 9068:
+ case 9070:
+ case 9072:
+ case 9074:
+ case 9076:
+ case 9078:
+ case 9080:
+ case 9082:
+ case 9084:
+ case 9086:
+ case 9088:
+ case 9090:
+ case 9092:
+ case 9094:
+ case 9096:
+ case 9098:
+ case 9100:
+ case 9102:
+ case 9104:
+ case 9106:
+ case 9108:
+ case 9110:
+ case 9112:
+ case 9114:
+ case 9116:
+ case 9118:
+ case 9120:
+ case 9122:
+ case 9124:
+ case 9126:
+ case 9128:
+ case 9130:
+ case 9132:
+ case 9134:
+ case 9136:
+ case 9138:
+ case 9140:
+ case 9142:
+ case 9144:
+ case 9146:
+ case 9148:
+ case 9150:
+ case 9152:
+ case 9154:
+ case 9156:
+ case 9158:
+ case 9160:
+ case 9162:
+ case 9164:
+ case 9166:
+ case 9168:
+ case 9170:
+ case 9172:
+ case 9174:
+ case 9176:
+ case 9178:
+ case 9180:
+ case 9182:
+ case 9184:
+ case 9186:
+ case 9188:
+ case 9190:
+ case 9192:
+ case 9194:
+ case 9196:
+ case 9198:
+ case 9200:
+ case 9202:
+ case 9204:
+ case 9206:
+ case 9208:
+ case 9210:
+ case 9212:
+ case 9214:
+ case 9216:
+ case 9218:
+ case 9220:
+ case 9222:
+ case 9224:
+ case 9226:
+ case 9228:
+ case 9230:
+ case 9232:
+ case 9234:
+ case 9236:
+ case 9238:
+ case 9240:
+ case 9242:
+ case 9244:
+ case 9246:
+ case 9248:
+ case 9250:
+ case 9252:
+ case 9254:
+ case 9256:
+ case 9258:
+ case 9260:
+ case 9262:
+ case 9264:
+ case 9266:
+ case 9268:
+ case 9270:
+ case 9272:
+ case 9274:
+ case 9276:
+ case 9278:
+ case 9280:
+ case 9282:
+ case 9284:
+ case 9286:
+ case 9288:
+ case 9290:
+ case 9292:
+ case 9294:
+ case 9296:
+ case 9298:
+ case 9300:
+ case 9302:
+ case 9304:
+ case 9306:
+ case 9308:
+ case 9310:
+ case 9312:
+ case 9314:
+ case 9316:
+ case 9318:
+ case 9320:
+ case 9322:
+ case 9324:
+ case 9326:
+ case 9328:
+ case 9330:
+ case 9332:
+ case 9334:
+ case 9336:
+ case 9338:
+ case 9340:
+ case 9342:
+ case 9344:
+ case 9346:
+ case 9348:
+ case 9350:
+ case 9352:
+ case 9354:
+ case 9356:
+ case 9358:
+ case 9360:
+ case 9362:
+ case 9364:
+ case 9366:
+ case 9368:
+ case 9370:
+ case 9372:
+ case 9374:
+ case 9376:
+ case 9378:
+ case 9380:
+ case 9382:
+ case 9384:
+ case 9386:
+ case 9388:
+ case 9390:
+ case 9392:
+ case 9394:
+ case 9396:
+ case 9398:
+ case 9400:
+ case 9402:
+ case 9404:
+ case 9406:
+ case 9408:
+ case 9410:
+ case 9412:
+ case 9414:
+ case 9416:
+ case 9418:
+ case 9420:
+ case 9422:
+ case 9424:
+ case 9426:
+ case 9428:
+ case 9430:
+ case 9432:
+ case 9434:
+ case 9436:
+ case 9438:
+ case 9440:
+ case 9442:
+ case 9444:
+ case 9446:
+ case 9448:
+ case 9450:
+ case 9452:
+ case 9454:
+ case 9456:
+ case 9458:
+ case 9460:
+ case 9462:
+ case 9464:
+ case 9466:
+ case 9468:
+ case 9470:
+ case 9472:
+ case 9474:
+ case 9476:
+ case 9478:
+ case 9480:
+ case 9482:
+ case 9484:
+ case 9486:
+ case 9488:
+ case 9490:
+ case 9492:
+ case 9494:
+ case 9496:
+ case 9498:
+ case 9500:
+ case 9502:
+ case 9504:
+ case 9506:
+ case 9508:
+ case 9510:
+ case 9512:
+ case 9514:
+ case 9516:
+ case 9518:
+ case 9520:
+ case 9522:
+ case 9524:
+ case 9526:
+ case 9528:
+ case 9530:
+ case 9532:
+ case 9534:
+ case 9536:
+ case 9538:
+ case 9540:
+ case 9542:
+ case 9544:
+ case 9546:
+ case 9548:
+ case 9550:
+ case 9552:
+ case 9554:
+ case 9556:
+ case 9558:
+ case 9560:
+ case 9562:
+ case 9564:
+ case 9566:
+ case 9568:
+ case 9570:
+ case 9572:
+ case 9574:
+ case 9576:
+ case 9578:
+ case 9580:
+ case 9582:
+ case 9584:
+ case 9586:
+ case 9588:
+ case 9590:
+ case 9592:
+ case 9594:
+ case 9596:
+ case 9598:
+ case 9600:
+ case 9602:
+ case 9604:
+ case 9606:
+ case 9608:
+ case 9610:
+ case 9612:
+ case 9614:
+ case 9616:
+ case 9618:
+ case 9620:
+ case 9622:
+ case 9624:
+ case 9626:
+ case 9628:
+ case 9630:
+ case 9632:
+ case 9634:
+ case 9636:
+ case 9638:
+ case 9640:
+ case 9642:
+ case 9644:
+ case 9646:
+ case 9648:
+ case 9650:
+ case 9652:
+ case 9654:
+ case 9656:
+ case 9658:
+ case 9660:
+ case 9662:
+ case 9664:
+ case 9666:
+ case 9668:
+ case 9670:
+ case 9672:
+ case 9674:
+ case 9676:
+ case 9678:
+ case 9680:
+ case 9682:
+ case 9684:
+ case 9686:
+ case 9688:
+ case 9690:
+ case 9692:
+ case 9694:
+ case 9696:
+ case 9698:
+ case 9700:
+ case 9702:
+ case 9704:
+ case 9706:
+ case 9708:
+ case 9710:
+ case 9712:
+ case 9714:
+ case 9716:
+ case 9718:
+ case 9720:
+ case 9722:
+ case 9724:
+ case 9726:
+ case 9728:
+ case 9730:
+ case 9732:
+ case 9734:
+ case 9736:
+ case 9738:
+ case 9740:
+ case 9742:
+ case 9744:
+ case 9746:
+ case 9748:
+ case 9750:
+ case 9752:
+ case 9754:
+ case 9756:
+ case 9758:
+ case 9760:
+ case 9762:
+ case 9764:
+ case 9766:
+ case 9768:
+ case 9770:
+ case 9772:
+ case 9774:
+ case 9776:
+ case 9778:
+ case 9780:
+ case 9782:
+ case 9784:
+ case 9786:
+ case 9788:
+ case 9790:
+ case 9792:
+ case 9794:
+ case 9796:
+ case 9798:
+ case 9800:
+ case 9802:
+ case 9804:
+ case 9806:
+ case 9808:
+ case 9810:
+ case 9812:
+ case 9814:
+ case 9816:
+ case 9818:
+ case 9820:
+ case 9822:
+ case 9824:
+ case 9826:
+ case 9828:
+ case 9830:
+ case 9832:
+ case 9834:
+ case 9836:
+ case 9838:
+ case 9840:
+ case 9842:
+ case 9844:
+ case 9846:
+ case 9848:
+ case 9850:
+ case 9852:
+ case 9854:
+ case 9856:
+ case 9858:
+ case 9860:
+ case 9862:
+ case 9864:
+ case 9866:
+ case 9868:
+ case 9870:
+ case 9872:
+ case 9874:
+ case 9876:
+ case 9878:
+ case 9880:
+ case 9882:
+ case 9884:
+ case 9886:
+ case 9888:
+ case 9890:
+ case 9892:
+ case 9894:
+ case 9896:
+ case 9898:
+ case 9900:
+ case 9902:
+ case 9904:
+ case 9906:
+ case 9908:
+ case 9910:
+ case 9912:
+ case 9914:
+ case 9916:
+ case 9918:
+ case 9920:
+ case 9922:
+ case 9924:
+ case 9926:
+ case 9928:
+ case 9930:
+ case 9932:
+ case 9934:
+ case 9936:
+ case 9938:
+ case 9940:
+ case 9942:
+ case 9944:
+ case 9946:
+ case 9948:
+ case 9950:
+ case 9952:
+ case 9954:
+ case 9956:
+ case 9958:
+ case 9960:
+ case 9962:
+ case 9964:
+ case 9966:
+ case 9968:
+ case 9970:
+ case 9972:
+ case 9974:
+ case 9976:
+ case 9978:
+ case 9980:
+ case 9982:
+ case 9984:
+ case 9986:
+ case 9988:
+ case 9990:
+ case 9992:
+ case 9994:
+ case 9996:
+ case 9998:
+ case 1e4:
+ case 10002:
+ case 10004:
+ case 10006:
+ case 10008:
+ case 10010:
+ case 10012:
+ case 10014:
+ case 10016:
+ case 10018:
+ case 10020:
+ case 10022:
+ case 10024:
+ case 10026:
+ case 10028:
+ case 10030:
+ case 10032:
+ case 10034:
+ case 10036:
+ case 10038:
+ case 10040:
+ case 10042:
+ case 10044:
+ case 10046:
+ case 10048:
+ case 10050:
+ case 10052:
+ case 10054:
+ case 10056:
+ case 10058:
+ case 10060:
+ case 10062:
+ case 10064:
+ case 10066:
+ case 10068:
+ case 10070:
+ case 10072:
+ case 10074:
+ case 10076:
+ case 10078:
+ case 10080:
+ case 10082:
+ case 10084:
+ case 10086:
+ case 10088:
+ case 10090:
+ case 10092:
+ case 10094:
+ case 10096:
+ case 10098:
+ case 10100:
+ case 10102:
+ case 10104:
+ case 10106:
+ case 10108:
+ case 10110:
+ case 10112:
+ case 10114:
+ case 10116:
+ case 10118:
+ case 10120:
+ case 10122:
+ case 10124:
+ case 10126:
+ case 10128:
+ case 10130:
+ case 10132:
+ case 10134:
+ case 10136:
+ case 10138:
+ case 10140:
+ case 10142:
+ case 10144:
+ case 10146:
+ case 10148:
+ case 10150:
+ case 10152:
+ case 10154:
+ case 10156:
+ case 10158:
+ case 10160:
+ case 10162:
+ case 10164:
+ case 10166:
+ case 10168:
+ case 10170:
+ case 10172:
+ case 10174:
+ case 10176:
+ case 10178:
+ case 10180:
+ case 10182:
+ case 10184:
+ case 10186:
+ case 10188:
+ case 10190:
+ case 10192:
+ case 10194:
+ case 10196:
+ case 10198:
+ case 10200:
+ case 10202:
+ case 10204:
+ case 10206:
+ case 10208:
+ case 10210:
+ case 10212:
+ case 10214:
+ case 10216:
+ case 10218:
+ case 10220:
+ case 10222:
+ case 10224:
+ case 10226:
+ case 10228:
+ case 10230:
+ case 10232:
+ case 10234:
+ case 10236:
+ case 10238:
+ case 10240:
+ case 10242:
+ case 10244:
+ case 10246:
+ case 10248:
+ case 10250:
+ case 10252:
+ case 10254:
+ case 10256:
+ case 10258:
+ case 10260:
+ case 10262:
+ case 10264:
+ case 10266:
+ case 10268:
+ case 10270:
+ case 10272:
+ case 10274:
+ case 10276:
+ case 10278:
+ case 10280:
+ case 10282:
+ case 10284:
+ case 10286:
+ case 10288:
+ case 10290:
+ case 10292:
+ case 10294:
+ case 10296:
+ case 10298:
+ case 10300:
+ case 10302:
+ case 10304:
+ case 10306:
+ case 10308:
+ case 10310:
+ case 10312:
+ case 10314:
+ case 10316:
+ case 10318:
+ case 10320:
+ case 10322:
+ case 10324:
+ case 10326:
+ case 10328:
+ case 10330:
+ case 10332:
+ case 10334:
+ case 10336:
+ case 10338:
+ case 10340:
+ case 10342:
+ case 10344:
+ case 10346:
+ case 10348:
+ case 10350:
+ case 10352:
+ case 10354:
+ case 10356:
+ case 10358:
+ case 10360:
+ case 10362:
+ case 10364:
+ case 10366:
+ case 10368:
+ case 10370:
+ case 10372:
+ case 10374:
+ case 10376:
+ case 10378:
+ case 10380:
+ case 10382:
+ case 10384:
+ case 10386:
+ case 10388:
+ case 10390:
+ case 10392:
+ case 10394:
+ case 10396:
+ case 10398:
+ case 10400:
+ case 10402:
+ case 10404:
+ case 10406:
+ case 10408:
+ case 10410:
+ case 10412:
+ case 10414:
+ case 10416:
+ case 10418:
+ case 10420:
+ case 10422:
+ case 10424:
+ case 10426:
+ case 10428:
+ case 10430:
+ case 10432:
+ case 10434:
+ case 10436:
+ case 10438:
+ case 10440:
+ case 10442:
+ case 10444:
+ case 10446:
+ case 10448:
+ case 10450:
+ case 10452:
+ case 10454:
+ case 10456:
+ case 10458:
+ case 10460:
+ case 10462:
+ case 10464:
+ case 10466:
+ case 10468:
+ case 10470:
+ case 10472:
+ case 10474:
+ case 10476:
+ case 10478:
+ case 10480:
+ case 10482:
+ case 10484:
+ case 10486:
+ case 10488:
+ case 10490:
+ case 10492:
+ case 10494:
+ case 10496:
+ case 10498:
+ case 10500:
+ case 10502:
+ case 10504:
+ case 10506:
+ case 10508:
+ case 10510:
+ case 10512:
+ case 10514:
+ case 10516:
+ case 10518:
+ case 10520:
+ case 10522:
+ case 10524:
+ case 10526:
+ case 10528:
+ case 10530:
+ case 10532:
+ case 10534:
+ case 10536:
+ case 10538:
+ case 10540:
+ case 10542:
+ case 10544:
+ case 10546:
+ case 10548:
+ case 10550:
+ case 10552:
+ case 10554:
+ case 10556:
+ case 10558:
+ case 10560:
+ case 10562:
+ case 10564:
+ case 10566:
+ case 10568:
+ case 10570:
+ case 10572:
+ case 10574:
+ case 10576:
+ case 10578:
+ case 10580:
+ case 10582:
+ case 10584:
+ case 10586:
+ case 10588:
+ case 10590:
+ case 10592:
+ case 10594:
+ case 10596:
+ case 10598:
+ case 10600:
+ case 10602:
+ case 10604:
+ case 10606:
+ case 10608:
+ case 10610:
+ case 10612:
+ case 10614:
+ case 10616:
+ case 10618:
+ case 10620:
+ case 10622:
+ case 10624:
+ case 10626:
+ case 10628:
+ case 10630:
+ case 10632:
+ case 10634:
+ case 10636:
+ case 10638:
+ case 10640:
+ case 10642:
+ case 10644:
+ case 10646:
+ case 10648:
+ case 10650:
+ case 10652:
+ case 10654:
+ case 10656:
+ case 10658:
+ case 10660:
+ case 10662:
+ case 10664:
+ case 10666:
+ case 10668:
+ case 10670:
+ case 10672:
+ case 10674:
+ case 10676:
+ case 10678:
+ case 10680:
+ case 10682:
+ case 10684:
+ case 10686:
+ case 10688:
+ case 10690:
+ case 10692:
+ case 10694:
+ case 10696:
+ case 10698:
+ case 10700:
+ case 10702:
+ case 10704:
+ case 10706:
+ case 10708:
+ case 10710:
+ case 10712:
+ case 10714:
+ case 10716:
+ case 10718:
+ case 10720:
+ case 10722:
+ case 10724:
+ case 10726:
+ case 10728:
+ case 10730:
+ case 10732:
+ case 10734:
+ case 10736:
+ case 10738:
+ case 10740:
+ case 10742:
+ case 10744:
+ case 10746:
+ case 10748:
+ case 10750:
+ case 10752:
+ case 10754:
+ case 10756:
+ case 10758:
+ case 10760:
+ case 10762:
+ case 10764:
+ case 10766:
+ case 10768:
+ case 10770:
+ case 10772:
+ case 10774:
+ case 10776:
+ case 10778:
+ case 10780:
+ case 10782:
+ case 10784:
+ case 10786:
+ case 10788:
+ case 10790:
+ case 10792:
+ case 10794:
+ case 10796:
+ case 10798:
+ case 10800:
+ case 10802:
+ case 10804:
+ case 10806:
+ case 10808:
+ case 10810:
+ case 10812:
+ case 10814:
+ case 10816:
+ case 10818:
+ case 10820:
+ case 10822:
+ case 10824:
+ case 10826:
+ case 10828:
+ case 10830:
+ case 10832:
+ case 10834:
+ case 10836:
+ case 10838:
+ case 10840:
+ case 10842:
+ case 10844:
+ case 10846:
+ case 10848:
+ case 10850:
+ case 10852:
+ case 10854:
+ case 10856:
+ case 10858:
+ case 10860:
+ case 10862:
+ case 10864:
+ case 10866:
+ case 10868:
+ case 10870:
+ case 10872:
+ case 10874:
+ case 10876:
+ case 10878:
+ case 10880:
+ case 10882:
+ case 10884:
+ case 10886:
+ case 10888:
+ case 10890:
+ case 10892:
+ case 10894:
+ case 10896:
+ case 10898:
+ case 10900:
+ case 10902:
+ case 10904:
+ case 10906:
+ case 10908:
+ case 10910:
+ case 10912:
+ case 10914:
+ case 10916:
+ case 10918:
+ case 10920:
+ case 10922:
+ case 10924:
+ case 10926:
+ case 10928:
+ case 10930:
+ case 10932:
+ case 10934:
+ case 10936:
+ case 10938:
+ case 10940:
+ case 10942:
+ case 10944:
+ case 10946:
+ case 10948:
+ case 10950:
+ case 10952:
+ case 10954:
+ case 10956:
+ case 10958:
+ case 10960:
+ case 10962:
+ case 10964:
+ case 10966:
+ case 10968:
+ case 10970:
+ case 10972:
+ case 10974:
+ case 10976:
+ case 10978:
+ case 10980:
+ case 10982:
+ case 10984:
+ case 10986:
+ case 10988:
+ case 10990:
+ case 10992:
+ case 10994:
+ case 10996:
+ case 10998:
+ case 11e3:
+ case 11002:
+ case 11004:
+ case 11006:
+ case 11008:
+ case 11010:
+ case 11012:
+ case 11014:
+ case 11016:
+ case 11018:
+ case 11020:
+ case 11022:
+ case 11024:
+ case 11026:
+ case 11028:
+ case 11030:
+ case 11032:
+ case 11034:
+ case 11036:
+ case 11038:
+ case 11040:
+ case 11042:
+ case 11044:
+ case 11046:
+ case 11048:
+ case 11050:
+ case 11052:
+ case 11054:
+ case 11056:
+ case 11058:
+ case 11060:
+ case 11062:
+ case 11064:
+ case 11066:
+ case 11068:
+ case 11070:
+ case 11072:
+ case 11074:
+ case 11076:
+ case 11078:
+ case 11080:
+ case 11082:
+ case 11084:
+ case 11086:
+ case 11088:
+ case 11090:
+ case 11092:
+ case 11094:
+ case 11096:
+ case 11098:
+ case 11100:
+ case 11102:
+ case 11104:
+ case 11106:
+ case 11108:
+ case 11110:
+ case 11112:
+ case 11114:
+ case 11116:
+ case 11118:
+ case 11120:
+ case 11122:
+ case 11124:
+ case 11126:
+ case 11128:
+ case 11130:
+ case 11132:
+ case 11134:
+ case 11136:
+ case 11138:
+ case 11140:
+ case 11142:
+ case 11144:
+ case 11146:
+ case 11148:
+ case 11150:
+ case 11152:
+ case 11154:
+ case 11156:
+ case 11158:
+ case 11160:
+ case 11162:
+ case 11164:
+ case 11166:
+ case 11168:
+ case 11170:
+ case 11172:
+ case 11174:
+ case 11176:
+ case 11178:
+ case 11180:
+ case 11182:
+ case 11184:
+ case 11186:
+ case 11188:
+ case 11190:
+ case 11192:
+ case 11194:
+ case 11196:
+ case 11198:
+ case 11200:
+ case 11202:
+ case 11204:
+ case 11206:
+ case 11208:
+ case 11210:
+ case 11212:
+ case 11214:
+ case 11216:
+ case 11218:
+ case 11220:
+ case 11222:
+ case 11224:
+ case 11226:
+ case 11228:
+ case 11230:
+ case 11232:
+ case 11234:
+ case 11236:
+ case 11238:
+ case 11240:
+ case 11242:
+ case 11244:
+ case 11246:
+ case 11248:
+ case 11250:
+ case 11252:
+ case 11254:
+ case 11256:
+ case 11258:
+ case 11260:
+ case 11262:
+ case 11264:
+ case 11266:
+ case 11268:
+ case 11270:
+ case 11272:
+ case 11274:
+ case 11276:
+ case 11278:
+ case 11280:
+ case 11282:
+ case 11284:
+ case 11286:
+ case 11288:
+ case 11290:
+ case 11292:
+ case 11294:
+ case 11296:
+ case 11298:
+ case 11300:
+ case 11302:
+ case 11304:
+ case 11306:
+ case 11308:
+ case 11310:
+ case 11312:
+ case 11314:
+ case 11316:
+ case 11318:
+ case 11320:
+ case 11322:
+ case 11324:
+ case 11326:
+ case 11328:
+ case 11330:
+ case 11332:
+ case 11334:
+ case 11336:
+ case 11338:
+ case 11340:
+ case 11342:
+ case 11344:
+ case 11346:
+ case 11348:
+ case 11350:
+ case 11352:
+ case 11354:
+ case 11356:
+ case 11358:
+ case 11360:
+ case 11362:
+ case 11364:
+ case 11366:
+ case 11368:
+ case 11370:
+ case 11372:
+ case 11374:
+ case 11376:
+ case 11378:
+ case 11380:
+ case 11382:
+ case 11384:
+ case 11386:
+ case 11388:
+ case 11390:
+ case 11392:
+ case 11394:
+ case 11396:
+ case 11398:
+ case 11400:
+ case 11402:
+ case 11404:
+ case 11406:
+ case 11408:
+ case 11410:
+ case 11412:
+ case 11414:
+ case 11416:
+ case 11418:
+ case 11420:
+ case 11422:
+ case 11424:
+ case 11426:
+ case 11428:
+ case 11430:
+ case 11432:
+ case 11434:
+ case 11436:
+ case 11438:
+ case 11440:
+ case 11442:
+ case 11444:
+ case 11446:
+ case 11448:
+ case 11450:
+ case 11452:
+ case 11454:
+ case 11456:
+ case 11458:
+ case 11460:
+ case 11462:
+ case 11464:
+ case 11466:
+ case 11468:
+ case 11470:
+ case 11472:
+ case 11474:
+ case 11476:
+ case 11478:
+ case 11480:
+ case 11482:
+ case 11484:
+ case 11486:
+ case 11488:
+ case 11490:
+ case 11492:
+ case 11494:
+ case 11496:
+ case 11498:
+ case 11500:
+ case 11502:
+ case 11504:
+ case 11506:
+ case 11508:
+ case 11510:
+ case 11512:
+ case 11514:
+ case 11516:
+ case 11518:
+ case 11520:
+ case 11522:
+ case 11524:
+ case 11526:
+ case 11528:
+ case 11530:
+ case 11532:
+ case 11534:
+ case 11536:
+ case 11538:
+ case 11540:
+ case 11542:
+ case 11544:
+ case 11546:
+ case 11548:
+ case 11550:
+ case 11552:
+ case 11554:
+ case 11556:
+ case 11558:
+ case 11560:
+ case 11562:
+ case 11564:
+ case 11566:
+ case 11568:
+ case 11570:
+ case 11572:
+ case 11574:
+ case 11576:
+ case 11578:
+ case 11580:
+ case 11582:
+ case 11584:
+ case 11586:
+ case 11588:
+ case 11590:
+ case 11592:
+ case 11594:
+ case 11596:
+ case 11598:
+ case 11600:
+ case 11602:
+ case 11604:
+ case 11606:
+ case 11608:
+ case 11610:
+ case 11612:
+ case 11614:
+ case 11616:
+ case 11618:
+ case 11620:
+ case 11622:
+ case 11624:
+ case 11626:
+ case 11628:
+ case 11630:
+ case 11632:
+ case 11634:
+ case 11636:
+ case 11638:
+ case 11640:
+ case 11642:
+ case 11644:
+ case 11646:
+ case 11648:
+ case 11650:
+ case 11652:
+ case 11654:
+ case 11656:
+ case 11658:
+ case 11660:
+ case 11662:
+ case 11664:
+ case 11666:
+ case 11668:
+ case 11670:
+ case 11672:
+ case 11674:
+ case 11676:
+ case 11678:
+ case 11680:
+ case 11682:
+ case 11684:
+ case 11686:
+ case 11688:
+ case 11690:
+ case 11692:
+ case 11694:
+ case 11696:
+ case 11698:
+ case 11700:
+ case 11702:
+ case 11704:
+ case 11706:
+ case 11708:
+ case 11710:
+ case 11712:
+ case 11714:
+ case 11716:
+ case 11718:
+ case 11720:
+ case 11722:
+ case 11724:
+ case 11726:
+ case 11728:
+ case 11730:
+ case 11732:
+ case 11734:
+ case 11736:
+ case 11738:
+ case 11740:
+ case 11742:
+ case 11744:
+ case 11746:
+ case 11748:
+ case 11750:
+ case 11752:
+ case 11754:
+ case 11756:
+ case 11758:
+ case 11760:
+ case 11762:
+ case 11764:
+ case 11766:
+ case 11768:
+ case 11770:
+ case 11772:
+ case 11774:
+ case 11776:
+ case 11778:
+ case 11780:
+ case 11782:
+ case 11784:
+ case 11786:
+ case 11788:
+ case 11790:
+ case 11792:
+ case 11794:
+ case 11796:
+ case 11798:
+ case 11800:
+ case 11802:
+ case 11804:
+ case 11806:
+ case 11808:
+ case 11810:
+ case 11812:
+ case 11814:
+ case 11816:
+ case 11818:
+ case 11820:
+ case 11822:
+ case 11824:
+ case 11826:
+ case 11828:
+ case 11830:
+ case 11832:
+ case 11834:
+ case 11836:
+ case 11838:
+ case 11840:
+ case 11842:
+ case 11844:
+ case 11846:
+ case 11848:
+ case 11850:
+ case 11852:
+ case 11854:
+ case 11856:
+ case 11858:
+ case 11860:
+ case 11862:
+ case 11864:
+ case 11866:
+ case 11868:
+ case 11870:
+ case 11872:
+ case 11874:
+ case 11876:
+ case 11878:
+ case 11880:
+ case 11882:
+ case 11884:
+ case 11886:
+ case 11888:
+ case 11890:
+ case 11892:
+ case 11894:
+ case 11896:
+ case 11898:
+ case 11900:
+ case 11902:
+ case 11904:
+ case 11906:
+ case 11908:
+ case 11910:
+ case 11912:
+ case 11914:
+ case 11916:
+ case 11918:
+ case 11920:
+ case 11922:
+ case 11924:
+ case 11926:
+ case 11928:
+ case 11930:
+ case 11932:
+ case 11934:
+ case 11936:
+ case 11938:
+ case 11940:
+ case 11942:
+ case 11944:
+ case 11946:
+ case 11948:
+ case 11950:
+ case 11952:
+ case 11954:
+ case 11956:
+ case 11958:
+ case 11960:
+ case 11962:
+ case 11964:
+ case 11966:
+ case 11968:
+ case 11970:
+ case 11972:
+ case 11974:
+ case 11976:
+ case 11978:
+ case 11980:
+ case 11982:
+ case 11984:
+ case 11986:
+ case 11988:
+ case 11990:
+ case 11992:
+ case 11994:
+ case 11996:
+ case 11998:
+ case 12e3:
+ case 12002:
+ case 12004:
+ case 12006:
+ case 12008:
+ case 12010:
+ case 12012:
+ case 12014:
+ case 12016:
+ case 12018:
+ case 12020:
+ case 12022:
+ case 12024:
+ case 12026:
+ case 12028:
+ case 12030:
+ case 12032:
+ case 12034:
+ case 12036:
+ case 12038:
+ case 12040:
+ case 12042:
+ case 12044:
+ case 12046:
+ case 12048:
+ case 12050:
+ case 12052:
+ case 12054:
+ case 12056:
+ case 12058:
+ case 12060:
+ case 12062:
+ case 12064:
+ case 12066:
+ case 12068:
+ case 12070:
+ case 12072:
+ case 12074:
+ case 12076:
+ case 12078:
+ case 12080:
+ case 12082:
+ case 12084:
+ case 12086:
+ case 12088:
+ case 12090:
+ case 12092:
+ case 12094:
+ case 12096:
+ case 12098:
+ case 12100:
+ case 12102:
+ case 12104:
+ case 12106:
+ case 12108:
+ case 12110:
+ case 12112:
+ case 12114:
+ case 12116:
+ case 12118:
+ case 12120:
+ case 12122:
+ case 12124:
+ case 12126:
+ case 12128:
+ case 12130:
+ case 12132:
+ case 12134:
+ case 12136:
+ case 12138:
+ case 12140:
+ case 12142:
+ case 12144:
+ case 12146:
+ case 12148:
+ case 12150:
+ case 12152:
+ case 12154:
+ case 12156:
+ case 12158:
+ case 12160:
+ case 12162:
+ case 12164:
+ case 12166:
+ case 12168:
+ case 12170:
+ case 12172:
+ case 12174:
+ case 12176:
+ case 12178:
+ case 12180:
+ case 12182:
+ case 12184:
+ case 12186:
+ case 12188:
+ case 12190:
+ case 12192:
+ case 12194:
+ case 12196:
+ case 12198:
+ case 12200:
+ case 12202:
+ case 12204:
+ case 12206:
+ case 12208:
+ case 12210:
+ case 12212:
+ case 12214:
+ case 12216:
+ case 12218:
+ case 12220:
+ case 12222:
+ case 12224:
+ case 12226:
+ case 12228:
+ case 12230:
+ case 12232:
+ case 12234:
+ case 12236:
+ case 12238:
+ case 12240:
+ case 12242:
+ case 12244:
+ case 12246:
+ case 12248:
+ case 12250:
+ case 12252:
+ case 12254:
+ case 12256:
+ case 12258:
+ case 12260:
+ case 12262:
+ case 12264:
+ case 12266:
+ case 12268:
+ case 12270:
+ case 12272:
+ case 12274:
+ case 12276:
+ case 12278:
+ case 12280:
+ case 12282:
+ case 12284:
+ case 12286:
+ case 12288:
+ case 12290:
+ case 12292:
+ case 12294:
+ case 12296:
+ case 12298:
+ case 12300:
+ case 12302:
+ case 12304:
+ case 12306:
+ case 12308:
+ case 12310:
+ case 12312:
+ case 12314:
+ case 12316:
+ case 12318:
+ case 12320:
+ case 12322:
+ case 12324:
+ case 12326:
+ case 12328:
+ case 12330:
+ case 12332:
+ case 12334:
+ case 12336:
+ case 12338:
+ case 12340:
+ case 12342:
+ case 12344:
+ case 12346:
+ case 12348:
+ case 12350:
+ case 12352:
+ case 12354:
+ case 12356:
+ case 12358:
+ case 12360:
+ case 12362:
+ case 12364:
+ case 12366:
+ case 12368:
+ case 12370:
+ case 12372:
+ case 12374:
+ case 12376:
+ case 12378:
+ case 12380:
+ case 12382:
+ case 12384:
+ case 12386:
+ case 12388:
+ case 12390:
+ case 12392:
+ case 12394:
+ case 12396:
+ case 12398:
+ case 12400:
+ case 12402:
+ case 12404:
+ case 12406:
+ case 12408:
+ case 12410:
+ case 12412:
+ case 12414:
+ case 12416:
+ case 12418:
+ case 12420:
+ case 12422:
+ case 12424:
+ case 12426:
+ case 12428:
+ case 12430:
+ case 12432:
+ case 12434:
+ case 12436:
+ case 12438:
+ case 12440:
+ case 12442:
+ case 12444:
+ case 12446:
+ case 12448:
+ case 12450:
+ case 12452:
+ case 12454:
+ case 12456:
+ case 12458:
+ case 12460:
+ case 12462:
+ case 12464:
+ case 12466:
+ case 12468:
+ case 12470:
+ case 12472:
+ case 12474:
+ case 12476:
+ case 12478:
+ case 12480:
+ case 12482:
+ case 12484:
+ case 12486:
+ case 12488:
+ case 12490:
+ case 12492:
+ case 12494:
+ case 12496:
+ case 12498:
+ case 12500:
+ case 12502:
+ case 12504:
+ case 12506:
+ case 12508:
+ case 12510:
+ case 12512:
+ case 12514:
+ case 12516:
+ case 12518:
+ case 12520:
+ case 12522:
+ case 12524:
+ case 12526:
+ case 12528:
+ case 12530:
+ case 12532:
+ case 12534:
+ case 12536:
+ case 12538:
+ case 12540:
+ case 12542:
+ case 12544:
+ case 12546:
+ case 12548:
+ case 12550:
+ case 12552:
+ case 12554:
+ case 12556:
+ case 12558:
+ case 12560:
+ case 12562:
+ case 12564:
+ case 12566:
+ case 12568:
+ case 12570:
+ case 12572:
+ case 12574:
+ case 12576:
+ case 12578:
+ case 12580:
+ case 12582:
+ case 12584:
+ case 12586:
+ case 12588:
+ case 12590:
+ case 12592:
+ case 12594:
+ case 12596:
+ case 12598:
+ case 12600:
+ case 12602:
+ case 12604:
+ case 12606:
+ case 12608:
+ case 12610:
+ case 12612:
+ case 12614:
+ case 12616:
+ case 12618:
+ case 12620:
+ case 12622:
+ case 12624:
+ case 12626:
+ case 12628:
+ case 12630:
+ case 12632:
+ case 12634:
+ case 12636:
+ case 12638:
+ case 12640:
+ case 12642:
+ case 12644:
+ case 12646:
+ case 12648:
+ case 12650:
+ case 12652:
+ case 12654:
+ case 12656:
+ case 12658:
+ case 12660:
+ case 12662:
+ case 12664:
+ case 12666:
+ case 12668:
+ case 12670:
+ case 12672:
+ case 12674:
+ case 12676:
+ case 12678:
+ case 12680:
+ case 12682:
+ case 12684:
+ case 12686:
+ case 12688:
+ case 12690:
+ case 12692:
+ case 12694:
+ case 12696:
+ case 12698:
+ case 12700:
+ case 12702:
+ case 12704:
+ case 12706:
+ case 12708:
+ case 12710:
+ case 12712:
+ case 12714:
+ case 12716:
+ case 12718:
+ case 12720:
+ case 12722:
+ case 12724:
+ case 12726:
+ case 12728:
+ case 12730:
+ case 12732:
+ case 12734:
+ case 12736:
+ case 12738:
+ case 12740:
+ case 12742:
+ case 12744:
+ case 12746:
+ case 12748:
+ case 12750:
+ case 12752:
+ case 12754:
+ case 12756:
+ case 12758:
+ case 12760:
+ case 12762:
+ case 12764:
+ case 12766:
+ case 12768:
+ case 12770:
+ case 12772:
+ case 12774:
+ case 12776:
+ case 12778:
+ case 12780:
+ case 12782:
+ case 12784:
+ case 12786:
+ case 12788:
+ case 12790:
+ case 12792:
+ case 12794:
+ case 12796:
+ case 12798:
+ case 12800:
+ case 12802:
+ case 12804:
+ case 12806:
+ case 12808:
+ case 12810:
+ case 12812:
+ case 12814:
+ case 12816:
+ case 12818:
+ case 12820:
+ case 12822:
+ case 12824:
+ case 12826:
+ case 12828:
+ case 12830:
+ case 12832:
+ case 12834:
+ case 12836:
+ case 12838:
+ case 12840:
+ case 12842:
+ case 12844:
+ case 12846:
+ case 12848:
+ case 12850:
+ case 12852:
+ case 12854:
+ case 12856:
+ case 12858:
+ case 12860:
+ case 12862:
+ case 12864:
+ case 12866:
+ case 12868:
+ case 12870:
+ case 12872:
+ case 12874:
+ case 12876:
+ case 12878:
+ case 12880:
+ case 12882:
+ case 12884:
+ case 12886:
+ case 12888:
+ case 12890:
+ case 12892:
+ case 12894:
+ case 12896:
+ case 12898:
+ case 12900:
+ case 12902:
+ case 12904:
+ case 12906:
+ case 12908:
+ case 12910:
+ case 12912:
+ case 12914:
+ case 12916:
+ case 12918:
+ case 12920:
+ case 12922:
+ case 12924:
+ case 12926:
+ case 12928:
+ case 12930:
+ case 12932:
+ case 12934:
+ case 12936:
+ case 12938:
+ case 12940:
+ case 12942:
+ case 12944:
+ case 12946:
+ case 12948:
+ case 12950:
+ case 12952:
+ case 12954:
+ case 12956:
+ case 12958:
+ case 12960:
+ case 12962:
+ case 12964:
+ case 12966:
+ case 12968:
+ case 12970:
+ case 12972:
+ case 12974:
+ case 12976:
+ case 12978:
+ case 12980:
+ case 12982:
+ case 12984:
+ case 12986:
+ case 12988:
+ case 12990:
+ case 12992:
+ case 12994:
+ case 12996:
+ case 12998:
+ case 13e3:
+ case 13002:
+ case 13004:
+ case 13006:
+ case 13008:
+ case 13010:
+ case 13012:
+ case 13014:
+ case 13016:
+ case 13018:
+ case 13020:
+ case 13022:
+ case 13024:
+ case 13026:
+ case 13028:
+ case 13030:
+ case 13032:
+ case 13034:
+ case 13036:
+ case 13038:
+ case 13040:
+ case 13042:
+ case 13044:
+ case 13046:
+ case 13048:
+ case 13050:
+ case 13052:
+ case 13054:
+ case 13056:
+ case 13058:
+ case 13060:
+ case 13062:
+ case 13064:
+ case 13066:
+ case 13068:
+ case 13070:
+ case 13072:
+ case 13074:
+ case 13076:
+ case 13078:
+ case 13080:
+ case 13082:
+ case 13084:
+ case 13086:
+ case 13088:
+ case 13090:
+ case 13092:
+ case 13094:
+ case 13096:
+ case 13098:
+ case 13100:
+ case 13102:
+ case 13104:
+ case 13106:
+ case 13108:
+ case 13110:
+ case 13112:
+ case 13114:
+ case 13116:
+ case 13118:
+ case 13120:
+ case 13122:
+ case 13124:
+ case 13126:
+ case 13128:
+ case 13130:
+ case 13132:
+ case 13134:
+ case 13136:
+ case 13138:
+ case 13140:
+ case 13142:
+ case 13144:
+ case 13146:
+ case 13148:
+ case 13150:
+ case 13152:
+ case 13154:
+ case 13156:
+ case 13158:
+ case 13160:
+ case 13162:
+ case 13164:
+ case 13166:
+ case 13168:
+ case 13170:
+ case 13172:
+ case 13174:
+ case 13176:
+ case 13178:
+ case 13180:
+ case 13182:
+ case 13184:
+ case 13186:
+ case 13188:
+ case 13190:
+ case 13192:
+ case 13194:
+ case 13196:
+ case 13198:
+ case 13200:
+ case 13202:
+ case 13204:
+ case 13206:
+ case 13208:
+ case 13210:
+ case 13212:
+ case 13214:
+ case 13216:
+ case 13218:
+ case 13220:
+ case 13222:
+ case 13224:
+ case 13226:
+ case 13228:
+ case 13230:
+ case 13232:
+ case 13234:
+ case 13236:
+ case 13238:
+ case 13240:
+ case 13242:
+ case 13244:
+ case 13246:
+ case 13248:
+ case 13250:
+ case 13252:
+ case 13254:
+ case 13256:
+ case 13258:
+ case 13260:
+ case 13262:
+ case 13264:
+ case 13266:
+ case 13268:
+ case 13270:
+ case 13272:
+ case 13274:
+ case 13276:
+ case 13278:
+ case 13280:
+ case 13282:
+ case 13284:
+ case 13286:
+ case 13288:
+ case 13290:
+ case 13292:
+ case 13294:
+ case 13296:
+ case 13298:
+ case 13300:
+ case 13302:
+ case 13304:
+ case 13306:
+ case 13308:
+ case 13310:
+ case 13312:
+ case 13314:
+ case 13316:
+ case 13318:
+ case 13320:
+ case 13322:
+ case 13324:
+ case 13326:
+ case 13328:
+ case 13330:
+ case 13332:
+ case 13334:
+ case 13336:
+ case 13338:
+ case 13340:
+ case 13342:
+ case 13344:
+ case 13346:
+ case 13348:
+ case 13350:
+ case 13352:
+ case 13354:
+ case 13356:
+ case 13358:
+ case 13360:
+ case 13362:
+ case 13364:
+ case 13366:
+ case 13368:
+ case 13370:
+ case 13372:
+ case 13374:
+ case 13376:
+ case 13378:
+ case 13380:
+ case 13382:
+ case 13384:
+ case 13386:
+ case 13388:
+ case 13390:
+ case 13392:
+ case 13394:
+ case 13396:
+ case 13398:
+ case 13400:
+ case 13402:
+ case 13404:
+ case 13406:
+ case 13408:
+ case 13410:
+ case 13412:
+ case 13414:
+ case 13416:
+ case 13418:
+ case 13420:
+ case 13422:
+ case 13424:
+ case 13426:
+ case 13428:
+ case 13430:
+ case 13432:
+ case 13434:
+ case 13436:
+ case 13438:
+ case 13440:
+ case 13442:
+ case 13444:
+ case 13446:
+ case 13448:
+ case 13450:
+ case 13452:
+ case 13454:
+ case 13456:
+ case 13458:
+ case 13460:
+ case 13462:
+ case 13464:
+ case 13466:
+ case 13468:
+ case 13470:
+ case 13472:
+ case 13474:
+ case 13476:
+ case 13478:
+ case 13480:
+ case 13482:
+ case 13484:
+ case 13486:
+ case 13488:
+ case 13490:
+ case 13492:
+ case 13494:
+ case 13496:
+ case 13498:
+ case 13500:
+ case 13502:
+ case 13504:
+ case 13506:
+ case 13508:
+ case 13510:
+ case 13512:
+ case 13514:
+ case 13516:
+ case 13518:
+ case 13520:
+ case 13522:
+ case 13524:
+ case 13526:
+ case 13528:
+ case 13530:
+ case 13532:
+ case 13534:
+ case 13536:
+ case 13538:
+ case 13540:
+ case 13542:
+ case 13544:
+ case 13546:
+ case 13548:
+ case 13550:
+ case 13552:
+ case 13554:
+ case 13556:
+ case 13558:
+ case 13560:
+ case 13562:
+ case 13564:
+ case 13566:
+ case 13568:
+ case 13570:
+ case 13572:
+ case 13574:
+ case 13576:
+ case 13578:
+ case 13580:
+ case 13582:
+ case 13584:
+ case 13586:
+ case 13588:
+ case 13590:
+ case 13592:
+ case 13594:
+ case 13596:
+ case 13598:
+ case 13600:
+ case 13602:
+ case 13604:
+ case 13606:
+ case 13608:
+ case 13610:
+ case 13612:
+ case 13614:
+ case 13616:
+ case 13618:
+ case 13620:
+ case 13622:
+ case 13624:
+ case 13626:
+ case 13628:
+ case 13630:
+ case 13632:
+ case 13634:
+ case 13636:
+ case 13638:
+ case 13640:
+ case 13642:
+ case 13644:
+ case 13646:
+ case 13648:
+ case 13650:
+ case 13652:
+ case 13654:
+ case 13656:
+ case 13658:
+ case 13660:
+ case 13662:
+ case 13664:
+ case 13666:
+ case 13668:
+ case 13670:
+ case 13672:
+ case 13674:
+ case 13676:
+ case 13678:
+ case 13680:
+ case 13682:
+ case 13684:
+ case 13686:
+ case 13688:
+ case 13690:
+ case 13692:
+ case 13694:
+ case 13696:
+ case 13698:
+ case 13700:
+ case 13702:
+ case 13704:
+ case 13706:
+ case 13708:
+ case 13710:
+ case 13712:
+ case 13714:
+ case 13716:
+ case 13718:
+ case 13720:
+ case 13722:
+ case 13724:
+ case 13726:
+ case 13728:
+ case 13730:
+ case 13732:
+ case 13734:
+ case 13736:
+ case 13738:
+ case 13740:
+ case 13742:
+ case 13744:
+ case 13746:
+ case 13748:
+ case 13750:
+ case 13752:
+ case 13754:
+ case 13756:
+ case 13758:
+ case 13760:
+ case 13762:
+ case 13764:
+ case 13766:
+ case 13768:
+ case 13770:
+ case 13772:
+ case 13774:
+ case 13776:
+ case 13778:
+ case 13780:
+ case 13782:
+ case 13784:
+ case 13786:
+ case 13788:
+ case 13790:
+ case 13792:
+ case 13794:
+ case 13796:
+ case 13798:
+ case 13800:
+ case 13802:
+ case 13804:
+ case 13806:
+ case 13808:
+ case 13810:
+ case 13812:
+ case 13814:
+ case 13816:
+ case 13818:
+ case 13820:
+ case 13822:
+ case 13824:
+ case 13826:
+ case 13828:
+ case 13830:
+ case 13832:
+ case 13834:
+ case 13836:
+ case 13838:
+ case 13840:
+ case 13842:
+ case 13844:
+ case 13846:
+ case 13848:
+ case 13850:
+ case 13852:
+ case 13854:
+ case 13856:
+ case 13858:
+ case 13860:
+ case 13862:
+ case 13864:
+ case 13866:
+ case 13868:
+ case 13870:
+ case 13872:
+ case 13874:
+ case 13876:
+ case 13878:
+ case 13880:
+ case 13882:
+ case 13884:
+ case 13886:
+ case 13888:
+ case 13890:
+ case 13892:
+ case 13894:
+ case 13896:
+ case 13898:
+ case 13900:
+ case 13902:
+ case 13904:
+ case 13906:
+ case 13908:
+ case 13910:
+ case 13912:
+ case 13914:
+ case 13916:
+ case 13918:
+ case 13920:
+ case 13922:
+ case 13924:
+ case 13926:
+ case 13928:
+ case 13930:
+ case 13932:
+ case 13934:
+ case 13936:
+ case 13938:
+ case 13940:
+ case 13942:
+ case 13944:
+ case 13946:
+ case 13948:
+ case 13950:
+ case 13952:
+ case 13954:
+ case 13956:
+ case 13958:
+ case 13960:
+ case 13962:
+ case 13964:
+ case 13966:
+ case 13968:
+ case 13970:
+ case 13972:
+ case 13974:
+ case 13976:
+ case 13978:
+ case 13980:
+ case 13982:
+ case 13984:
+ case 13986:
+ case 13988:
+ case 13990:
+ case 13992:
+ case 13994:
+ case 13996:
+ case 13998:
+ case 14e3:
+ case 14002:
+ case 14004:
+ case 14006:
+ case 14008:
+ case 14010:
+ case 14012:
+ case 14014:
+ case 14016:
+ case 14018:
+ case 14020:
+ case 14022:
+ case 14024:
+ case 14026:
+ case 14028:
+ case 14030:
+ case 14032:
+ case 14034:
+ case 14036:
+ case 14038:
+ case 14040:
+ case 14042:
+ case 14044:
+ case 14046:
+ case 14048:
+ case 14050:
+ case 14052:
+ case 14054:
+ case 14056:
+ case 14058:
+ case 14060:
+ case 14062:
+ case 14064:
+ case 14066:
+ case 14068:
+ case 14070:
+ case 14072:
+ case 14074:
+ case 14076:
+ case 14078:
+ case 14080:
+ case 14082:
+ case 14084:
+ case 14086:
+ case 14088:
+ case 14090:
+ case 14092:
+ case 14094:
+ case 14096:
+ case 14098:
+ case 14100:
+ case 14102:
+ case 14104:
+ case 14106:
+ case 14108:
+ case 14110:
+ case 14112:
+ case 14114:
+ case 14116:
+ case 14118:
+ case 14120:
+ case 14122:
+ case 14124:
+ case 14126:
+ case 14128:
+ case 14130:
+ case 14132:
+ case 14134:
+ case 14136:
+ case 14138:
+ case 14140:
+ case 14142:
+ case 14144:
+ case 14146:
+ case 14148:
+ case 14150:
+ case 14152:
+ case 14154:
+ case 14156:
+ case 14158:
+ case 14160:
+ case 14162:
+ case 14164:
+ case 14166:
+ case 14168:
+ case 14170:
+ case 14172:
+ case 14174:
+ case 14176:
+ case 14178:
+ case 14180:
+ case 14182:
+ case 14184:
+ case 14186:
+ case 14188:
+ case 14190:
+ case 14192:
+ case 14194:
+ case 14196:
+ case 14198:
+ case 14200:
+ case 14202:
+ case 14204:
+ case 14206:
+ case 14208:
+ case 14210:
+ case 14212:
+ case 14214:
+ case 14216:
+ case 14218:
+ case 14220:
+ case 14222:
+ case 14224:
+ case 14226:
+ case 14228:
+ case 14230:
+ case 14232:
+ case 14234:
+ case 14236:
+ case 14238:
+ case 14240:
+ case 14242:
+ case 14244:
+ case 14246:
+ case 14248:
+ case 14250:
+ case 14252:
+ case 14254:
+ case 14256:
+ case 14258:
+ case 14260:
+ case 14262:
+ case 14264:
+ case 14266:
+ case 14268:
+ case 14270:
+ case 14272:
+ case 14274:
+ case 14276:
+ case 14278:
+ case 14280:
+ case 14282:
+ case 14284:
+ case 14286:
+ case 14288:
+ case 14290:
+ case 14292:
+ case 14294:
+ case 14296:
+ case 14298:
+ case 14300:
+ case 14302:
+ case 14304:
+ case 14306:
+ case 14308:
+ case 14310:
+ case 14312:
+ case 14314:
+ case 14316:
+ case 14318:
+ case 14320:
+ case 14322:
+ case 14324:
+ case 14326:
+ case 14328:
+ case 14330:
+ case 14332:
+ case 14334:
+ case 14336:
+ case 14338:
+ case 14340:
+ case 14342:
+ case 14344:
+ case 14346:
+ case 14348:
+ case 14350:
+ case 14352:
+ case 14354:
+ case 14356:
+ case 14358:
+ case 14360:
+ case 14362:
+ case 14364:
+ case 14366:
+ case 14368:
+ case 14370:
+ case 14372:
+ case 14374:
+ case 14376:
+ case 14378:
+ case 14380:
+ case 14382:
+ case 14384:
+ case 14386:
+ case 14388:
+ case 14390:
+ case 14392:
+ case 14394:
+ case 14396:
+ case 14398:
+ case 14400:
+ case 14402:
+ case 14404:
+ case 14406:
+ case 14408:
+ case 14410:
+ case 14412:
+ case 14414:
+ case 14416:
+ case 14418:
+ case 14420:
+ case 14422:
+ case 14424:
+ case 14426:
+ case 14428:
+ case 14430:
+ case 14432:
+ case 14434:
+ case 14436:
+ case 14438:
+ case 14440:
+ case 14442:
+ case 14444:
+ case 14446:
+ case 14448:
+ case 14450:
+ case 14452:
+ case 14454:
+ case 14456:
+ case 14458:
+ case 14460:
+ case 14462:
+ case 14464:
+ case 14466:
+ case 14468:
+ case 14470:
+ case 14472:
+ case 14474:
+ case 14476:
+ case 14478:
+ case 14480:
+ case 14482:
+ case 14484:
+ case 14486:
+ case 14488:
+ case 14490:
+ case 14492:
+ case 14494:
+ case 14496:
+ case 14498:
+ case 14500:
+ case 14502:
+ case 14504:
+ case 14506:
+ case 14508:
+ case 14510:
+ case 14512:
+ case 14514:
+ case 14516:
+ case 14518:
+ case 14520:
+ case 14522:
+ case 14524:
+ case 14526:
+ case 14528:
+ case 14530:
+ case 14532:
+ case 14534:
+ case 14536:
+ case 14538:
+ case 14540:
+ case 14542:
+ case 14544:
+ case 14546:
+ case 14548:
+ case 14550:
+ case 14552:
+ case 14554:
+ case 14556:
+ case 14558:
+ case 14560:
+ case 14562:
+ case 14564:
+ case 14566:
+ case 14568:
+ case 14570:
+ case 14572:
+ case 14574:
+ case 14576:
+ case 14578:
+ case 14580:
+ case 14582:
+ case 14584:
+ case 14586:
+ case 14588:
+ case 14590:
+ case 14592:
+ case 14594:
+ case 14596:
+ case 14598:
+ case 14600:
+ case 14602:
+ case 14604:
+ case 14606:
+ case 14608:
+ case 14610:
+ case 14612:
+ case 14614:
+ case 14616:
+ case 14618:
+ case 14620:
+ case 14622:
+ case 14624:
+ case 14626:
+ case 14628:
+ case 14630:
+ case 14632:
+ case 14634:
+ case 14636:
+ case 14638:
+ case 14640:
+ case 14642:
+ case 14644:
+ case 14646:
+ case 14648:
+ case 14650:
+ case 14652:
+ case 14654:
+ case 14656:
+ case 14658:
+ case 14660:
+ case 14662:
+ case 14664:
+ case 14666:
+ case 14668:
+ case 14670:
+ case 14672:
+ case 14674:
+ case 14676:
+ case 14678:
+ case 14680:
+ case 14682:
+ case 14684:
+ case 14686:
+ case 14688:
+ case 14690:
+ case 14692:
+ case 14694:
+ case 14696:
+ case 14698:
+ case 14700:
+ case 14702:
+ case 14704:
+ case 14706:
+ case 14708:
+ case 14710:
+ case 14712:
+ case 14714:
+ case 14716:
+ case 14718:
+ case 14720:
+ case 14722:
+ case 14724:
+ case 14726:
+ case 14728:
+ case 14730:
+ case 14732:
+ case 14734:
+ case 14736:
+ case 14738:
+ case 14740:
+ case 14742:
+ case 14744:
+ case 14746:
+ case 14748:
+ case 14750:
+ case 14752:
+ case 14754:
+ case 14756:
+ case 14758:
+ case 14760:
+ case 14762:
+ case 14764:
+ case 14766:
+ case 14768:
+ case 14770:
+ case 14772:
+ case 14774:
+ case 14776:
+ case 14778:
+ case 14780:
+ case 14782:
+ case 14784:
+ case 14786:
+ case 14788:
+ case 14790:
+ case 14792:
+ case 14794:
+ case 14796:
+ case 14798:
+ case 14800:
+ case 14802:
+ case 14804:
+ case 14806:
+ case 14808:
+ case 14810:
+ case 14812:
+ case 14814:
+ case 14816:
+ case 14818:
+ case 14820:
+ case 14822:
+ case 14824:
+ case 14826:
+ case 14828:
+ case 14830:
+ case 14832:
+ case 14834:
+ case 14836:
+ case 14838:
+ case 14840:
+ case 14842:
+ case 14844:
+ case 14846:
+ case 14848:
+ case 14850:
+ case 14852:
+ case 14854:
+ case 14856:
+ case 14858:
+ case 14860:
+ case 14862:
+ case 14864:
+ case 14866:
+ case 14868:
+ case 14870:
+ case 14872:
+ case 14874:
+ case 14876:
+ case 14878:
+ case 14880:
+ case 14882:
+ case 14884:
+ case 14886:
+ case 14888:
+ case 14890:
+ case 14892:
+ case 14894:
+ case 14896:
+ case 14898:
+ case 14900:
+ case 14902:
+ case 14904:
+ case 14906:
+ case 14908:
+ case 14910:
+ case 14912:
+ case 14914:
+ case 14916:
+ case 14918:
+ case 14920:
+ case 14922:
+ case 14924:
+ case 14926:
+ case 14928:
+ case 14930:
+ case 14932:
+ case 14934:
+ case 14936:
+ case 14938:
+ case 14940:
+ case 14942:
+ case 14944:
+ case 14946:
+ case 14948:
+ case 14950:
+ case 14952:
+ case 14954:
+ case 14956:
+ case 14958:
+ case 14960:
+ case 14962:
+ case 14964:
+ case 14966:
+ case 14968:
+ case 14970:
+ case 14972:
+ case 14974:
+ case 14976:
+ case 14978:
+ case 14980:
+ case 14982:
+ case 14984:
+ case 14986:
+ case 14988:
+ case 14990:
+ case 14992:
+ case 14994:
+ case 14996:
+ case 14998:
+ case 15e3:
+ case 15002:
+ case 15004:
+ case 15006:
+ case 15008:
+ case 15010:
+ case 15012:
+ case 15014:
+ case 15016:
+ case 15018:
+ case 15020:
+ case 15022:
+ case 15024:
+ case 15026:
+ case 15028:
+ case 15030:
+ case 15032:
+ case 15034:
+ case 15036:
+ case 15038:
+ case 15040:
+ case 15042:
+ case 15044:
+ case 15046:
+ case 15048:
+ case 15050:
+ case 15052:
+ case 15054:
+ case 15056:
+ case 15058:
+ case 15060:
+ case 15062:
+ case 15064:
+ case 15066:
+ case 15068:
+ case 15070:
+ case 15072:
+ case 15074:
+ case 15076:
+ case 15078:
+ case 15080:
+ case 15082:
+ case 15084:
+ case 15086:
+ case 15088:
+ case 15090:
+ case 15092:
+ case 15094:
+ case 15096:
+ case 15098:
+ case 15100:
+ case 15102:
+ case 15104:
+ case 15106:
+ case 15108:
+ case 15110:
+ case 15112:
+ case 15114:
+ case 15116:
+ case 15118:
+ case 15120:
+ case 15122:
+ case 15124:
+ case 15126:
+ case 15128:
+ case 15130:
+ case 15132:
+ case 15134:
+ case 15136:
+ case 15138:
+ case 15140:
+ case 15142:
+ case 15144:
+ case 15146:
+ case 15148:
+ case 15150:
+ case 15152:
+ case 15154:
+ case 15156:
+ case 15158:
+ case 15160:
+ case 15162:
+ case 15164:
+ case 15166:
+ case 15168:
+ case 15170:
+ case 15172:
+ case 15174:
+ case 15176:
+ case 15178:
+ case 15180:
+ case 15182:
+ case 15184:
+ case 15186:
+ case 15188:
+ case 15190:
+ case 15192:
+ case 15194:
+ case 15196:
+ case 15198:
+ case 15200:
+ case 15202:
+ case 15204:
+ case 15206:
+ case 15208:
+ case 15210:
+ case 15212:
+ case 15214:
+ case 15216:
+ case 15218:
+ case 15220:
+ case 15222:
+ case 15224:
+ case 15226:
+ case 15228:
+ case 15230:
+ case 15232:
+ case 15234:
+ case 15236:
+ case 15238:
+ case 15240:
+ case 15242:
+ case 15244:
+ case 15246:
+ case 15248:
+ case 15250:
+ case 15252:
+ case 15254:
+ case 15256:
+ case 15258:
+ case 15260:
+ case 15262:
+ case 15264:
+ case 15266:
+ case 15268:
+ case 15270:
+ case 15272:
+ case 15274:
+ case 15276:
+ case 15278:
+ case 15280:
+ case 15282:
+ case 15284:
+ case 15286:
+ case 15288:
+ case 15290:
+ case 15292:
+ case 15294:
+ case 15296:
+ case 15298:
+ case 15300:
+ case 15302:
+ case 15304:
+ case 15306:
+ case 15308:
+ case 15310:
+ case 15312:
+ case 15314:
+ case 15316:
+ case 15318:
+ case 15320:
+ case 15322:
+ case 15324:
+ case 15326:
+ case 15328:
+ case 15330:
+ case 15332:
+ case 15334:
+ case 15336:
+ case 15338:
+ case 15340:
+ case 15342:
+ case 15344:
+ case 15346:
+ case 15348:
+ case 15350:
+ case 15352:
+ case 15354:
+ case 15356:
+ case 15358:
+ case 15360:
+ case 15362:
+ case 15364:
+ case 15366:
+ case 15368:
+ case 15370:
+ case 15372:
+ case 15374:
+ case 15376:
+ case 15378:
+ case 15380:
+ case 15382:
+ case 15384:
+ case 15386:
+ case 15388:
+ case 15390:
+ case 15392:
+ case 15394:
+ case 15396:
+ case 15398:
+ case 15400:
+ case 15402:
+ case 15404:
+ case 15406:
+ case 15408:
+ case 15410:
+ case 15412:
+ case 15414:
+ case 15416:
+ case 15418:
+ case 15420:
+ case 15422:
+ case 15424:
+ case 15426:
+ case 15428:
+ case 15430:
+ case 15432:
+ case 15434:
+ case 15436:
+ case 15438:
+ case 15440:
+ case 15442:
+ case 15444:
+ case 15446:
+ case 15448:
+ case 15450:
+ case 15452:
+ case 15454:
+ case 15456:
+ case 15458:
+ case 15460:
+ case 15462:
+ case 15464:
+ case 15466:
+ case 15468:
+ case 15470:
+ case 15472:
+ case 15474:
+ case 15476:
+ case 15478:
+ case 15480:
+ case 15482:
+ case 15484:
+ case 15486:
+ case 15488:
+ case 15490:
+ case 15492:
+ case 15494:
+ case 15496:
+ case 15498:
+ case 15500:
+ case 15502:
+ case 15504:
+ case 15506:
+ case 15508:
+ case 15510:
+ case 15512:
+ case 15514:
+ case 15516:
+ case 15518:
+ case 15520:
+ case 15522:
+ case 15524:
+ case 15526:
+ case 15528:
+ case 15530:
+ case 15532:
+ case 15534:
+ case 15536:
+ case 15538:
+ case 15540:
+ case 15542:
+ case 15544:
+ case 15546:
+ case 15548:
+ case 15550:
+ case 15552:
+ case 15554:
+ case 15556:
+ case 15558:
+ case 15560:
+ case 15562:
+ case 15564:
+ case 15566:
+ case 15568:
+ case 15570:
+ case 15572:
+ case 15574:
+ case 15576:
+ case 15578:
+ case 15580:
+ case 15582:
+ case 15584:
+ case 15586:
+ case 15588:
+ case 15590:
+ case 15592:
+ case 15594:
+ case 15596:
+ case 15598:
+ case 15600:
+ case 15602:
+ case 15604:
+ case 15606:
+ case 15608:
+ case 15610:
+ case 15612:
+ case 15614:
+ case 15616:
+ case 15618:
+ case 15620:
+ case 15622:
+ case 15624:
+ case 15626:
+ case 15628:
+ case 15630:
+ case 15632:
+ case 15634:
+ case 15636:
+ case 15638:
+ case 15640:
+ case 15642:
+ case 15644:
+ case 15646:
+ case 15648:
+ case 15650:
+ case 15652:
+ case 15654:
+ case 15656:
+ case 15658:
+ case 15660:
+ case 15662:
+ case 15664:
+ case 15666:
+ case 15668:
+ case 15670:
+ case 15672:
+ case 15674:
+ case 15676:
+ case 15678:
+ case 15680:
+ case 15682:
+ case 15684:
+ case 15686:
+ case 15688:
+ case 15690:
+ case 15692:
+ case 15694:
+ case 15696:
+ case 15698:
+ case 15700:
+ case 15702:
+ case 15704:
+ case 15706:
+ case 15708:
+ case 15710:
+ case 15712:
+ case 15714:
+ case 15716:
+ case 15718:
+ case 15720:
+ case 15722:
+ case 15724:
+ case 15726:
+ case 15728:
+ case 15730:
+ case 15732:
+ case 15734:
+ case 15736:
+ case 15738:
+ case 15740:
+ case 15742:
+ case 15744:
+ case 15746:
+ case 15748:
+ case 15750:
+ case 15752:
+ case 15754:
+ case 15756:
+ case 15758:
+ case 15760:
+ case 15762:
+ case 15764:
+ case 15766:
+ case 15768:
+ case 15770:
+ case 15772:
+ case 15774:
+ case 15776:
+ case 15778:
+ case 15780:
+ case 15782:
+ case 15784:
+ case 15786:
+ case 15788:
+ case 15790:
+ case 15792:
+ case 15794:
+ case 15796:
+ case 15798:
+ case 15800:
+ case 15802:
+ case 15804:
+ case 15806:
+ case 15808:
+ case 15810:
+ case 15812:
+ case 15814:
+ case 15816:
+ case 15818:
+ case 15820:
+ case 15822:
+ case 15824:
+ case 15826:
+ case 15828:
+ case 15830:
+ case 15832:
+ case 15834:
+ case 15836:
+ case 15838:
+ case 15840:
+ case 15842:
+ case 15844:
+ case 15846:
+ case 15848:
+ case 15850:
+ case 15852:
+ case 15854:
+ case 15856:
+ case 15858:
+ case 15860:
+ case 15862:
+ case 15864:
+ case 15866:
+ case 15868:
+ case 15870:
+ case 15872:
+ case 15874:
+ case 15876:
+ case 15878:
+ case 15880:
+ case 15882:
+ case 15884:
+ case 15886:
+ case 15888:
+ case 15890:
+ case 15892:
+ case 15894:
+ case 15896:
+ case 15898:
+ case 15900:
+ case 15902:
+ case 15904:
+ case 15906:
+ case 15908:
+ case 15910:
+ case 15912:
+ case 15914:
+ case 15916:
+ case 15918:
+ case 15920:
+ case 15922:
+ case 15924:
+ case 15926:
+ case 15928:
+ case 15930:
+ case 15932:
+ case 15934:
+ case 15936:
+ case 15938:
+ case 15940:
+ case 15942:
+ case 15944:
+ case 15946:
+ case 15948:
+ case 15950:
+ case 15952:
+ case 15954:
+ case 15956:
+ case 15958:
+ case 15960:
+ case 15962:
+ case 15964:
+ case 15966:
+ case 15968:
+ case 15970:
+ case 15972:
+ case 15974:
+ case 15976:
+ case 15978:
+ case 15980:
+ case 15982:
+ case 15984:
+ case 15986:
+ case 15988:
+ case 15990:
+ case 15992:
+ case 15994:
+ case 15996:
+ case 15998:
+ case 16e3:
+ case 16002:
+ case 16004:
+ case 16006:
+ case 16008:
+ case 16010:
+ case 16012:
+ case 16014:
+ case 16016:
+ case 16018:
+ case 16020:
+ case 16022:
+ case 16024:
+ case 16026:
+ case 16028:
+ case 16030:
+ case 16032:
+ case 16034:
+ case 16036:
+ case 16038:
+ case 16040:
+ case 16042:
+ case 16044:
+ case 16046:
+ case 16048:
+ case 16050:
+ case 16052:
+ case 16054:
+ case 16056:
+ case 16058:
+ case 16060:
+ case 16062:
+ case 16064:
+ case 16066:
+ case 16068:
+ case 16070:
+ case 16072:
+ case 16074:
+ case 16076:
+ case 16078:
+ case 16080:
+ case 16082:
+ case 16084:
+ case 16086:
+ case 16088:
+ case 16090:
+ case 16092:
+ case 16094:
+ case 16096:
+ case 16098:
+ case 16100:
+ case 16102:
+ case 16104:
+ case 16106:
+ case 16108:
+ case 16110:
+ case 16112:
+ case 16114:
+ case 16116:
+ case 16118:
+ case 16120:
+ case 16122:
+ case 16124:
+ case 16126:
+ case 16128:
+ case 16130:
+ case 16132:
+ case 16134:
+ case 16136:
+ case 16138:
+ case 16140:
+ case 16142:
+ case 16144:
+ case 16146:
+ case 16148:
+ case 16150:
+ case 16152:
+ case 16154:
+ case 16156:
+ case 16158:
+ case 16160:
+ case 16162:
+ case 16164:
+ case 16166:
+ case 16168:
+ case 16170:
+ case 16172:
+ case 16174:
+ case 16176:
+ case 16178:
+ case 16180:
+ case 16182:
+ case 16184:
+ case 16186:
+ case 16188:
+ case 16190:
+ case 16192:
+ case 16194:
+ case 16196:
+ case 16198:
+ case 16200:
+ case 16202:
+ case 16204:
+ case 16206:
+ case 16208:
+ case 16210:
+ case 16212:
+ case 16214:
+ case 16216:
+ case 16218:
+ case 16220:
+ case 16222:
+ case 16224:
+ case 16226:
+ case 16228:
+ case 16230:
+ case 16232:
+ case 16234:
+ case 16236:
+ case 16238:
+ case 16240:
+ case 16242:
+ case 16244:
+ case 16246:
+ case 16248:
+ case 16250:
+ case 16252:
+ case 16254:
+ case 16256:
+ case 16258:
+ case 16260:
+ case 16262:
+ case 16264:
+ case 16266:
+ case 16268:
+ case 16270:
+ case 16272:
+ case 16274:
+ case 16276:
+ case 16278:
+ case 16280:
+ case 16282:
+ case 16284:
+ case 16286:
+ case 16288:
+ case 16290:
+ case 16292:
+ case 16294:
+ case 16296:
+ case 16298:
+ case 16300:
+ case 16302:
+ case 16304:
+ case 16306:
+ case 16308:
+ case 16310:
+ case 16312:
+ case 16314:
+ case 16316:
+ case 16318:
+ case 16320:
+ case 16322:
+ case 16324:
+ case 16326:
+ case 16328:
+ case 16330:
+ case 16332:
+ case 16334:
+ case 16336:
+ case 16338:
+ case 16340:
+ case 16342:
+ case 16344:
+ case 16346:
+ case 16348:
+ case 16350:
+ case 16352:
+ case 16354:
+ case 16356:
+ case 16358:
+ case 16360:
+ case 16362:
+ case 16364:
+ case 16366:
+ case 16368:
+ case 16370:
+ case 16372:
+ case 16374:
+ case 16376:
+ case 16378:
+ case 16380:
+ case 16382:
+ case 16384:
+ case 16386:
+ case 16388:
+ case 16390:
+ case 16392:
+ case 16394:
+ case 16396:
+ case 16398:
+ case 16400:
+ case 16402:
+ case 16404:
+ case 16406:
+ case 16408:
+ case 16410:
+ case 16412:
+ case 16414:
+ case 16416:
+ case 16418:
+ case 16420:
+ case 16422:
+ case 16424:
+ case 16426:
+ case 16428:
+ case 16430:
+ case 16432:
+ case 16434:
+ case 16436:
+ case 16438:
+ case 16440:
+ case 16442:
+ case 16444:
+ case 16446:
+ case 16448:
+ case 16450:
+ case 16452:
+ case 16454:
+ case 16456:
+ case 16458:
+ case 16460:
+ case 16462:
+ case 16464:
+ case 16466:
+ case 16468:
+ case 16470:
+ case 16472:
+ case 16474:
+ case 16476:
+ case 16478:
+ case 16480:
+ case 16482:
+ case 16484:
+ case 16486:
+ case 16488:
+ case 16490:
+ case 16492:
+ case 16494:
+ case 16496:
+ case 16498:
+ case 16500:
+ case 16502:
+ case 16504:
+ case 16506:
+ case 16508:
+ case 16510:
+ case 16512:
+ case 16514:
+ case 16516:
+ case 16518:
+ case 16520:
+ case 16522:
+ case 16524:
+ case 16526:
+ case 16528:
+ case 16530:
+ case 16532:
+ case 16534:
+ case 16536:
+ case 16538:
+ case 16540:
+ case 16542:
+ case 16544:
+ case 16546:
+ case 16548:
+ case 16550:
+ case 16552:
+ case 16554:
+ case 16556:
+ case 16558:
+ case 16560:
+ case 16562:
+ case 16564:
+ case 16566:
+ case 16568:
+ case 16570:
+ case 16572:
+ case 16574:
+ case 16576:
+ case 16578:
+ case 16580:
+ case 16582:
+ case 16584:
+ case 16586:
+ case 16588:
+ case 16590:
+ case 16592:
+ case 16594:
+ case 16596:
+ case 16598:
+ case 16600:
+ case 16602:
+ case 16604:
+ case 16606:
+ case 16608:
+ case 16610:
+ case 16612:
+ case 16614:
+ case 16616:
+ case 16618:
+ case 16620:
+ case 16622:
+ case 16624:
+ case 16626:
+ case 16628:
+ case 16630:
+ case 16632:
+ case 16634:
+ case 16636:
+ case 16638:
+ case 16640:
+ case 16642:
+ case 16644:
+ case 16646:
+ case 16648:
+ case 16650:
+ case 16652:
+ case 16654:
+ case 16656:
+ case 16658:
+ case 16660:
+ case 16662:
+ case 16664:
+ case 16666:
+ case 16668:
+ case 16670:
+ case 16672:
+ case 16674:
+ case 16676:
+ case 16678:
+ case 16680:
+ case 16682:
+ case 16684:
+ case 16686:
+ case 16688:
+ case 16690:
+ case 16692:
+ case 16694:
+ case 16696:
+ case 16698:
+ case 16700:
+ case 16702:
+ case 16704:
+ case 16706:
+ case 16708:
+ case 16710:
+ case 16712:
+ case 16714:
+ case 16716:
+ case 16718:
+ case 16720:
+ case 16722:
+ case 16724:
+ case 16726:
+ case 16728:
+ case 16730:
+ case 16732:
+ case 16734:
+ case 16736:
+ case 16738:
+ case 16740:
+ case 16742:
+ case 16744:
+ case 16746:
+ case 16748:
+ case 16750:
+ case 16752:
+ case 16754:
+ case 16756:
+ case 16758:
+ case 16760:
+ case 16762:
+ case 16764:
+ case 16766:
+ case 16768:
+ case 16770:
+ case 16772:
+ case 16774:
+ case 16776:
+ case 16778:
+ case 16780:
+ case 16782:
+ case 16784:
+ case 16786:
+ case 16788:
+ case 16790:
+ case 16792:
+ case 16794:
+ case 16796:
+ case 16798:
+ case 16800:
+ case 16802:
+ case 16804:
+ case 16806:
+ case 16808:
+ case 16810:
+ case 16812:
+ case 16814:
+ case 16816:
+ case 16818:
+ case 16820:
+ case 16822:
+ case 16824:
+ case 16826:
+ case 16828:
+ case 16830:
+ case 16832:
+ case 16834:
+ case 16836:
+ case 16838:
+ case 16840:
+ case 16842:
+ case 16844:
+ case 16846:
+ case 16848:
+ case 16850:
+ case 16852:
+ case 16854:
+ case 16856:
+ case 16858:
+ case 16860:
+ case 16862:
+ case 16864:
+ case 16866:
+ case 16868:
+ case 16870:
+ case 16872:
+ case 16874:
+ case 16876:
+ case 16878:
+ case 16880:
+ case 16882:
+ case 16884:
+ case 16886:
+ case 16888:
+ case 16890:
+ case 16892:
+ case 16894:
+ case 16896:
+ case 16898:
+ case 16900:
+ case 16902:
+ case 16904:
+ case 16906:
+ case 16908:
+ case 16910:
+ case 16912:
+ case 16914:
+ case 16916:
+ case 16918:
+ case 16920:
+ case 16922:
+ case 16924:
+ case 16926:
+ case 16928:
+ case 16930:
+ case 16932:
+ case 16934:
+ case 16936:
+ case 16938:
+ case 16940:
+ case 16942:
+ case 16944:
+ case 16946:
+ case 16948:
+ case 16950:
+ case 16952:
+ case 16954:
+ case 16956:
+ case 16958:
+ case 16960:
+ case 16962:
+ case 16964:
+ case 16966:
+ case 16968:
+ case 16970:
+ case 16972:
+ case 16974:
+ case 16976:
+ case 16978:
+ case 16980:
+ case 16982:
+ case 16984:
+ case 16986:
+ case 16988:
+ case 16990:
+ case 16992:
+ case 16994:
+ case 16996:
+ case 16998:
+ case 17e3:
+ case 17002:
+ case 17004:
+ case 17006:
+ case 17008:
+ case 17010:
+ case 17012:
+ case 17014:
+ case 17016:
+ case 17018:
+ case 17020:
+ case 17022:
+ case 17024:
+ case 17026:
+ case 17028:
+ case 17030:
+ case 17032:
+ case 17034:
+ case 17036:
+ case 17038:
+ case 17040:
+ case 17042:
+ case 17044:
+ case 17046:
+ case 17048:
+ case 17050:
+ case 17052:
+ case 17054:
+ case 17056:
+ case 17058:
+ case 17060:
+ case 17062:
+ case 17064:
+ case 17066:
+ case 17068:
+ case 17070:
+ case 17072:
+ case 17074:
+ case 17076:
+ case 17078:
+ case 17080:
+ case 17082:
+ case 17084:
+ case 17086:
+ case 17088:
+ case 17090:
+ case 17092:
+ case 17094:
+ case 17096:
+ case 17098:
+ case 17100:
+ case 17102:
+ case 17104:
+ case 17106:
+ case 17108:
+ case 17110:
+ case 17112:
+ case 17114:
+ case 17116:
+ case 17118:
+ case 17120:
+ case 17122:
+ case 17124:
+ case 17126:
+ case 17128:
+ case 17130:
+ case 17132:
+ case 17134:
+ case 17136:
+ case 17138:
+ case 17140:
+ case 17142:
+ case 17144:
+ case 17146:
+ case 17148:
+ case 17150:
+ case 17152:
+ case 17154:
+ case 17156:
+ case 17158:
+ case 17160:
+ case 17162:
+ case 17164:
+ case 17166:
+ case 17168:
+ case 17170:
+ case 17172:
+ case 17174:
+ case 17176:
+ case 17178:
+ case 17180:
+ case 17182:
+ case 17184:
+ case 17186:
+ case 17188:
+ case 17190:
+ case 17192:
+ case 17194:
+ case 17196:
+ case 17198:
+ case 17200:
+ case 17202:
+ case 17204:
+ case 17206:
+ case 17208:
+ case 17210:
+ case 17212:
+ case 17214:
+ case 17216:
+ case 17218:
+ case 17220:
+ case 17222:
+ case 17224:
+ case 17226:
+ case 17228:
+ case 17230:
+ case 17232:
+ case 17234:
+ case 17236:
+ case 17238:
+ case 17240:
+ case 17242:
+ case 17244:
+ case 17246:
+ case 17248:
+ case 17250:
+ case 17252:
+ case 17254:
+ case 17256:
+ case 17258:
+ case 17260:
+ case 17262:
+ case 17264:
+ case 17266:
+ case 17268:
+ case 17270:
+ case 17272:
+ case 17274:
+ case 17276:
+ case 17278:
+ case 17280:
+ case 17282:
+ case 17284:
+ case 17286:
+ case 17288:
+ case 17290:
+ case 17292:
+ case 17294:
+ case 17296:
+ case 17298:
+ case 17300:
+ case 17302:
+ case 17304:
+ case 17306:
+ case 17308:
+ case 17310:
+ case 17312:
+ case 17314:
+ case 17316:
+ case 17318:
+ case 17320:
+ case 17322:
+ case 17324:
+ case 17326:
+ case 17328:
+ case 17330:
+ case 17332:
+ case 17334:
+ case 17336:
+ case 17338:
+ case 17340:
+ case 17342:
+ case 17344:
+ case 17346:
+ case 17348:
+ case 17350:
+ case 17352:
+ case 17354:
+ case 17356:
+ case 17358:
+ case 17360:
+ case 17362:
+ case 17364:
+ case 17366:
+ case 17368:
+ case 17370:
+ case 17372:
+ case 17374:
+ case 17376:
+ case 17378:
+ case 17380:
+ case 17382:
+ case 17384:
+ case 17386:
+ case 17388:
+ case 17390:
+ case 17392:
+ case 17394:
+ case 17396:
+ case 17398:
+ case 17400:
+ case 17402:
+ case 17404:
+ case 17406:
+ case 17408:
+ case 17410:
+ case 17412:
+ case 17414:
+ case 17416:
+ case 17418:
+ case 17420:
+ case 17422:
+ case 17424:
+ case 17426:
+ case 17428:
+ case 17430:
+ case 17432:
+ case 17434:
+ case 17436:
+ case 17438:
+ case 17440:
+ case 17442:
+ case 17444:
+ case 17446:
+ case 17448:
+ case 17450:
+ case 17452:
+ case 17454:
+ case 17456:
+ case 17458:
+ case 17460:
+ case 17462:
+ case 17464:
+ case 17466:
+ case 17468:
+ case 17470:
+ case 17472:
+ case 17474:
+ case 17476:
+ case 17478:
+ case 17480:
+ case 17482:
+ case 17484:
+ case 17486:
+ case 17488:
+ case 17490:
+ case 17492:
+ case 17494:
+ case 17496:
+ case 17498:
+ case 17500:
+ case 17502:
+ case 17504:
+ case 17506:
+ case 17508:
+ case 17510:
+ case 17512:
+ case 17514:
+ case 17516:
+ case 17518:
+ case 17520:
+ case 17522:
+ case 17524:
+ case 17526:
+ case 17528:
+ case 17530:
+ case 17532:
+ case 17534:
+ case 17536:
+ case 17538:
+ case 17540:
+ case 17542:
+ case 17544:
+ case 17546:
+ case 17548:
+ case 17550:
+ case 17552:
+ case 17554:
+ case 17556:
+ case 17558:
+ case 17560:
+ case 17562:
+ case 17564:
+ case 17566:
+ case 17568:
+ case 17570:
+ case 17572:
+ case 17574:
+ case 17576:
+ case 17578:
+ case 17580:
+ case 17582:
+ case 17584:
+ case 17586:
+ case 17588:
+ case 17590:
+ case 17592:
+ case 17594:
+ case 17596:
+ case 17598:
+ case 17600:
+ case 17602:
+ case 17604:
+ case 17606:
+ case 17608:
+ case 17610:
+ case 17612:
+ case 17614:
+ case 17616:
+ case 17618:
+ case 17620:
+ case 17622:
+ case 17624:
+ case 17626:
+ case 17628:
+ case 17630:
+ case 17632:
+ case 17634:
+ case 17636:
+ case 17638:
+ case 17640:
+ case 17642:
+ case 17644:
+ case 17646:
+ case 17648:
+ case 17650:
+ case 17652:
+ case 17654:
+ case 17656:
+ case 17658:
+ case 17660:
+ case 17662:
+ case 17664:
+ case 17666:
+ case 17668:
+ case 17670:
+ case 17672:
+ case 17674:
+ case 17676:
+ case 17678:
+ case 17680:
+ case 17682:
+ case 17684:
+ case 17686:
+ case 17688:
+ case 17690:
+ case 17692:
+ case 17694:
+ case 17696:
+ case 17698:
+ case 17700:
+ case 17702:
+ case 17704:
+ case 17706:
+ case 17708:
+ case 17710:
+ case 17712:
+ case 17714:
+ case 17716:
+ case 17718:
+ case 17720:
+ case 17722:
+ case 17724:
+ case 17726:
+ case 17728:
+ case 17730:
+ case 17732:
+ case 17734:
+ case 17736:
+ case 17738:
+ case 17740:
+ case 17742:
+ case 17744:
+ case 17746:
+ case 17748:
+ case 17750:
+ case 17752:
+ case 17754:
+ case 17756:
+ case 17758:
+ case 17760:
+ case 17762:
+ case 17764:
+ case 17766:
+ case 17768:
+ case 17770:
+ case 17772:
+ case 17774:
+ case 17776:
+ case 17778:
+ case 17780:
+ case 17782:
+ case 17784:
+ case 17786:
+ case 17788:
+ case 17790:
+ case 17792:
+ case 17794:
+ case 17796:
+ case 17798:
+ case 17800:
+ case 17802:
+ case 17804:
+ case 17806:
+ case 17808:
+ case 17810:
+ case 17812:
+ case 17814:
+ case 17816:
+ case 17818:
+ case 17820:
+ case 17822:
+ case 17824:
+ case 17826:
+ case 17828:
+ case 17830:
+ case 17832:
+ case 17834:
+ case 17836:
+ case 17838:
+ case 17840:
+ case 17842:
+ case 17844:
+ case 17846:
+ case 17848:
+ case 17850:
+ case 17852:
+ case 17854:
+ case 17856:
+ case 17858:
+ case 17860:
+ case 17862:
+ case 17864:
+ case 17866:
+ case 17868:
+ case 17870:
+ case 17872:
+ case 17874:
+ case 17876:
+ case 17878:
+ case 17880:
+ case 17882:
+ case 17884:
+ case 17886:
+ case 17888:
+ case 17890:
+ case 17892:
+ case 17894:
+ case 17896:
+ case 17898:
+ case 17900:
+ case 17902:
+ case 17904:
+ case 17906:
+ case 17908:
+ case 17910:
+ case 17912:
+ case 17914:
+ case 17916:
+ case 17918:
+ case 17920:
+ case 17922:
+ case 17924:
+ case 17926:
+ case 17928:
+ case 17930:
+ case 17932:
+ case 17934:
+ case 17936:
+ case 17938:
+ case 17940:
+ case 17942:
+ case 17944:
+ case 17946:
+ case 17948:
+ case 17950:
+ case 17952:
+ case 17954:
+ case 17956:
+ case 17958:
+ case 17960:
+ case 17962:
+ case 17964:
+ case 17966:
+ case 17968:
+ case 17970:
+ case 17972:
+ case 17974:
+ case 17976:
+ case 17978:
+ case 17980:
+ case 17982:
+ case 17984:
+ case 17986:
+ case 17988:
+ case 17990:
+ case 17992:
+ case 17994:
+ case 17996:
+ case 17998:
+ case 18e3:
+ case 18002:
+ case 18004:
+ case 18006:
+ case 18008:
+ case 18010:
+ case 18012:
+ case 18014:
+ case 18016:
+ case 18018:
+ case 18020:
+ case 18022:
+ case 18024:
+ case 18026:
+ case 18028:
+ case 18030:
+ case 18032:
+ case 18034:
+ case 18036:
+ case 18038:
+ case 18040:
+ case 18042:
+ case 18044:
+ case 18046:
+ case 18048:
+ case 18050:
+ case 18052:
+ case 18054:
+ case 18056:
+ case 18058:
+ case 18060:
+ case 18062:
+ case 18064:
+ case 18066:
+ case 18068:
+ case 18070:
+ case 18072:
+ case 18074:
+ case 18076:
+ case 18078:
+ case 18080:
+ case 18082:
+ case 18084:
+ case 18086:
+ case 18088:
+ case 18090:
+ case 18092:
+ case 18094:
+ case 18096:
+ case 18098:
+ case 18100:
+ case 18102:
+ case 18104:
+ case 18106:
+ case 18108:
+ case 18110:
+ case 18112:
+ case 18114:
+ case 18116:
+ case 18118:
+ case 18120:
+ case 18122:
+ case 18124:
+ case 18126:
+ case 18128:
+ case 18130:
+ case 18132:
+ case 18134:
+ case 18136:
+ case 18138:
+ case 18140:
+ case 18142:
+ case 18144:
+ case 18146:
+ case 18148:
+ case 18150:
+ case 18152:
+ case 18154:
+ case 18156:
+ case 18158:
+ case 18160:
+ case 18162:
+ case 18164:
+ case 18166:
+ case 18168:
+ case 18170:
+ case 18172:
+ case 18174:
+ case 18176:
+ case 18178:
+ case 18180:
+ case 18182:
+ case 18184:
+ case 18186:
+ case 18188:
+ case 18190:
+ case 18192:
+ case 18194:
+ case 18196:
+ case 18198:
+ case 18200:
+ case 18202:
+ case 18204:
+ case 18206:
+ case 18208:
+ case 18210:
+ case 18212:
+ case 18214:
+ case 18216:
+ case 18218:
+ case 18220:
+ case 18222:
+ case 18224:
+ case 18226:
+ case 18228:
+ case 18230:
+ case 18232:
+ case 18234:
+ case 18236:
+ case 18238:
+ case 18240:
+ case 18242:
+ case 18244:
+ case 18246:
+ case 18248:
+ case 18250:
+ case 18252:
+ case 18254:
+ case 18256:
+ case 18258:
+ case 18260:
+ case 18262:
+ case 18264:
+ case 18266:
+ case 18268:
+ case 18270:
+ case 18272:
+ case 18274:
+ case 18276:
+ case 18278:
+ case 18280:
+ case 18282:
+ case 18284:
+ case 18286:
+ case 18288:
+ case 18290:
+ case 18292:
+ case 18294:
+ case 18296:
+ case 18298:
+ case 18300:
+ case 18302:
+ case 18304:
+ case 18306:
+ case 18308:
+ case 18310:
+ case 18312:
+ case 18314:
+ case 18316:
+ case 18318:
+ case 18320:
+ case 18322:
+ case 18324:
+ case 18326:
+ case 18328:
+ case 18330:
+ case 18332:
+ case 18334:
+ case 18336:
+ case 18338:
+ case 18340:
+ case 18342:
+ case 18344:
+ case 18346:
+ case 18348:
+ case 18350:
+ case 18352:
+ case 18354:
+ case 18356:
+ case 18358:
+ case 18360:
+ case 18362:
+ case 18364:
+ case 18366:
+ case 18368:
+ case 18370:
+ case 18372:
+ case 18374:
+ case 18376:
+ case 18378:
+ case 18380:
+ case 18382:
+ case 18384:
+ case 18386:
+ case 18388:
+ case 18390:
+ case 18392:
+ case 18394:
+ case 18396:
+ case 18398:
+ case 18400:
+ case 18402:
+ case 18404:
+ case 18406:
+ case 18408:
+ case 18410:
+ case 18412:
+ case 18414:
+ case 18416:
+ case 18418:
+ case 18420:
+ case 18422:
+ case 18424:
+ case 18426:
+ case 18428:
+ case 18430:
+ case 18432:
+ case 18434:
+ case 18436:
+ case 18438:
+ case 18440:
+ case 18442:
+ case 18444:
+ case 18446:
+ case 18448:
+ case 18450:
+ case 18452:
+ case 18454:
+ case 18456:
+ case 18458:
+ case 18460:
+ case 18462:
+ case 18464:
+ case 18466:
+ case 18468:
+ case 18470:
+ case 18472:
+ case 18474:
+ case 18476:
+ case 18478:
+ case 18480:
+ case 18482:
+ case 18484:
+ case 18486:
+ case 18488:
+ case 18490:
+ case 18492:
+ case 18494:
+ case 18496:
+ case 18498:
+ case 18500:
+ case 18502:
+ case 18504:
+ case 18506:
+ case 18508:
+ case 18510:
+ case 18512:
+ case 18514:
+ case 18516:
+ case 18518:
+ case 18520:
+ case 18522:
+ case 18524:
+ case 18526:
+ case 18528:
+ case 18530:
+ case 18532:
+ case 18534:
+ case 18536:
+ case 18538:
+ case 18540:
+ case 18542:
+ case 18544:
+ case 18546:
+ case 18548:
+ case 18550:
+ case 18552:
+ case 18554:
+ case 18556:
+ case 18558:
+ case 18560:
+ case 18562:
+ case 18564:
+ case 18566:
+ case 18568:
+ case 18570:
+ case 18572:
+ case 18574:
+ case 18576:
+ case 18578:
+ case 18580:
+ case 18582:
+ case 18584:
+ case 18586:
+ case 18588:
+ case 18590:
+ case 18592:
+ case 18594:
+ case 18596:
+ case 18598:
+ case 18600:
+ case 18602:
+ case 18604:
+ case 18606:
+ case 18608:
+ case 18610:
+ case 18612:
+ case 18614:
+ case 18616:
+ case 18618:
+ case 18620:
+ case 18622:
+ case 18624:
+ case 18626:
+ case 18628:
+ case 18630:
+ case 18632:
+ case 18634:
+ case 18636:
+ case 18638:
+ case 18640:
+ case 18642:
+ case 18644:
+ case 18646:
+ case 18648:
+ case 18650:
+ case 18652:
+ case 18654:
+ case 18656:
+ case 18658:
+ case 18660:
+ case 18662:
+ case 18664:
+ case 18666:
+ case 18668:
+ case 18670:
+ case 18672:
+ case 18674:
+ case 18676:
+ case 18678:
+ case 18680:
+ case 18682:
+ case 18684:
+ case 18686:
+ case 18688:
+ case 18690:
+ case 18692:
+ case 18694:
+ case 18696:
+ case 18698:
+ case 18700:
+ case 18702:
+ case 18704:
+ case 18706:
+ case 18708:
+ case 18710:
+ case 18712:
+ case 18714:
+ case 18716:
+ case 18718:
+ case 18720:
+ case 18722:
+ case 18724:
+ case 18726:
+ case 18728:
+ case 18730:
+ case 18732:
+ case 18734:
+ case 18736:
+ case 18738:
+ case 18740:
+ case 18742:
+ case 18744:
+ case 18746:
+ case 18748:
+ case 18750:
+ case 18752:
+ case 18754:
+ case 18756:
+ case 18758:
+ case 18760:
+ case 18762:
+ case 18764:
+ case 18766:
+ case 18768:
+ case 18770:
+ case 18772:
+ case 18774:
+ case 18776:
+ case 18778:
+ case 18780:
+ case 18782:
+ case 18784:
+ case 18786:
+ case 18788:
+ case 18790:
+ case 18792:
+ case 18794:
+ case 18796:
+ case 18798:
+ case 18800:
+ case 18802:
+ case 18804:
+ case 18806:
+ case 18808:
+ case 18810:
+ case 18812:
+ case 18814:
+ case 18816:
+ case 18818:
+ case 18820:
+ case 18822:
+ case 18824:
+ case 18826:
+ case 18828:
+ case 18830:
+ case 18832:
+ case 18834:
+ case 18836:
+ case 18838:
+ case 18840:
+ case 18842:
+ case 18844:
+ case 18846:
+ case 18848:
+ case 18850:
+ case 18852:
+ case 18854:
+ case 18856:
+ case 18858:
+ case 18860:
+ case 18862:
+ case 18864:
+ case 18866:
+ case 18868:
+ case 18870:
+ case 18872:
+ case 18874:
+ case 18876:
+ case 18878:
+ case 18880:
+ case 18882:
+ case 18884:
+ case 18886:
+ case 18888:
+ case 18890:
+ case 18892:
+ case 18894:
+ case 18896:
+ case 18898:
+ case 18900:
+ case 18902:
+ case 18904:
+ case 18906:
+ case 18908:
+ case 18910:
+ case 18912:
+ case 18914:
+ case 18916:
+ case 18918:
+ case 18920:
+ case 18922:
+ case 18924:
+ case 18926:
+ case 18928:
+ case 18930:
+ case 18932:
+ case 18934:
+ case 18936:
+ case 18938:
+ case 18940:
+ case 18942:
+ case 18944:
+ case 18946:
+ case 18948:
+ case 18950:
+ case 18952:
+ case 18954:
+ case 18956:
+ case 18958:
+ case 18960:
+ case 18962:
+ case 18964:
+ case 18966:
+ case 18968:
+ case 18970:
+ case 18972:
+ case 18974:
+ case 18976:
+ case 18978:
+ case 18980:
+ case 18982:
+ case 18984:
+ case 18986:
+ case 18988:
+ case 18990:
+ case 18992:
+ case 18994:
+ case 18996:
+ case 18998:
+ case 19e3:
+ case 19002:
+ case 19004:
+ case 19006:
+ case 19008:
+ case 19010:
+ case 19012:
+ case 19014:
+ case 19016:
+ case 19018:
+ case 19020:
+ case 19022:
+ case 19024:
+ case 19026:
+ case 19028:
+ case 19030:
+ case 19032:
+ case 19034:
+ case 19036:
+ case 19038:
+ case 19040:
+ case 19042:
+ case 19044:
+ case 19046:
+ case 19048:
+ case 19050:
+ case 19052:
+ case 19054:
+ case 19056:
+ case 19058:
+ case 19060:
+ case 19062:
+ case 19064:
+ case 19066:
+ case 19068:
+ case 19070:
+ case 19072:
+ case 19074:
+ case 19076:
+ case 19078:
+ case 19080:
+ case 19082:
+ case 19084:
+ case 19086:
+ case 19088:
+ case 19090:
+ case 19092:
+ case 19094:
+ case 19096:
+ case 19098:
+ case 19100:
+ case 19102:
+ case 19104:
+ case 19106:
+ case 19108:
+ case 19110:
+ case 19112:
+ case 19114:
+ case 19116:
+ case 19118:
+ case 19120:
+ case 19122:
+ case 19124:
+ case 19126:
+ case 19128:
+ case 19130:
+ case 19132:
+ case 19134:
+ case 19136:
+ case 19138:
+ case 19140:
+ case 19142:
+ case 19144:
+ case 19146:
+ case 19148:
+ case 19150:
+ case 19152:
+ case 19154:
+ case 19156:
+ case 19158:
+ case 19160:
+ case 19162:
+ case 19164:
+ case 19166:
+ case 19168:
+ case 19170:
+ case 19172:
+ case 19174:
+ case 19176:
+ case 19178:
+ case 19180:
+ case 19182:
+ case 19184:
+ case 19186:
+ case 19188:
+ case 19190:
+ case 19192:
+ case 19194:
+ case 19196:
+ case 19198:
+ case 19200:
+ case 19202:
+ case 19204:
+ case 19206:
+ case 19208:
+ case 19210:
+ case 19212:
+ case 19214:
+ case 19216:
+ case 19218:
+ case 19220:
+ case 19222:
+ case 19224:
+ case 19226:
+ case 19228:
+ case 19230:
+ case 19232:
+ case 19234:
+ case 19236:
+ case 19238:
+ case 19240:
+ case 19242:
+ case 19244:
+ case 19246:
+ case 19248:
+ case 19250:
+ case 19252:
+ case 19254:
+ case 19256:
+ case 19258:
+ case 19260:
+ case 19262:
+ case 19264:
+ case 19266:
+ case 19268:
+ case 19270:
+ case 19272:
+ case 19274:
+ case 19276:
+ case 19278:
+ case 19280:
+ case 19282:
+ case 19284:
+ case 19286:
+ case 19288:
+ case 19290:
+ case 19292:
+ case 19294:
+ case 19296:
+ case 19298:
+ case 19300:
+ case 19302:
+ case 19304:
+ case 19306:
+ case 19308:
+ case 19310:
+ case 19312:
+ case 19314:
+ case 19316:
+ case 19318:
+ case 19320:
+ case 19322:
+ case 19324:
+ case 19326:
+ case 19328:
+ case 19330:
+ case 19332:
+ case 19334:
+ case 19336:
+ case 19338:
+ case 19340:
+ case 19342:
+ case 19344:
+ case 19346:
+ case 19348:
+ case 19350:
+ case 19352:
+ case 19354:
+ case 19356:
+ case 19358:
+ case 19360:
+ case 19362:
+ case 19364:
+ case 19366:
+ case 19368:
+ case 19370:
+ case 19372:
+ case 19374:
+ case 19376:
+ case 19378:
+ case 19380:
+ case 19382:
+ case 19384:
+ case 19386:
+ case 19388:
+ case 19390:
+ case 19392:
+ case 19394:
+ case 19396:
+ case 19398:
+ case 19400:
+ case 19402:
+ case 19404:
+ case 19406:
+ case 19408:
+ case 19410:
+ case 19412:
+ case 19414:
+ case 19416:
+ case 19418:
+ case 19420:
+ case 19422:
+ case 19424:
+ case 19426:
+ case 19428:
+ case 19430:
+ case 19432:
+ case 19434:
+ case 19436:
+ case 19438:
+ case 19440:
+ case 19442:
+ case 19444:
+ case 19446:
+ case 19448:
+ case 19450:
+ case 19452:
+ case 19454:
+ case 19456:
+ case 19458:
+ case 19460:
+ case 19462:
+ case 19464:
+ case 19466:
+ case 19468:
+ case 19470:
+ case 19472:
+ case 19474:
+ case 19476:
+ case 19478:
+ case 19480:
+ case 19482:
+ case 19484:
+ case 19486:
+ case 19488:
+ case 19490:
+ case 19492:
+ case 19494:
+ case 19496:
+ case 19498:
+ case 19500:
+ case 19502:
+ case 19504:
+ case 19506:
+ case 19508:
+ case 19510:
+ case 19512:
+ case 19514:
+ case 19516:
+ case 19518:
+ case 19520:
+ case 19522:
+ case 19524:
+ case 19526:
+ case 19528:
+ case 19530:
+ case 19532:
+ case 19534:
+ case 19536:
+ case 19538:
+ case 19540:
+ case 19542:
+ case 19544:
+ case 19546:
+ case 19548:
+ case 19550:
+ case 19552:
+ case 19554:
+ case 19556:
+ case 19558:
+ case 19560:
+ case 19562:
+ case 19564:
+ case 19566:
+ case 19568:
+ case 19570:
+ case 19572:
+ case 19574:
+ case 19576:
+ case 19578:
+ case 19580:
+ case 19582:
+ case 19584:
+ case 19586:
+ case 19588:
+ case 19590:
+ case 19592:
+ case 19594:
+ case 19596:
+ case 19598:
+ case 19600:
+ case 19602:
+ case 19604:
+ case 19606:
+ case 19608:
+ case 19610:
+ case 19612:
+ case 19614:
+ case 19616:
+ case 19618:
+ case 19620:
+ case 19622:
+ case 19624:
+ case 19626:
+ case 19628:
+ case 19630:
+ case 19632:
+ case 19634:
+ case 19636:
+ case 19638:
+ case 19640:
+ case 19642:
+ case 19644:
+ case 19646:
+ case 19648:
+ case 19650:
+ case 19652:
+ case 19654:
+ case 19656:
+ case 19658:
+ case 19660:
+ case 19662:
+ case 19664:
+ case 19666:
+ case 19668:
+ case 19670:
+ case 19672:
+ case 19674:
+ case 19676:
+ case 19678:
+ case 19680:
+ case 19682:
+ case 19684:
+ case 19686:
+ case 19688:
+ case 19690:
+ case 19692:
+ case 19694:
+ case 19696:
+ case 19698:
+ case 19700:
+ case 19702:
+ case 19704:
+ case 19706:
+ case 19708:
+ case 19710:
+ case 19712:
+ case 19714:
+ case 19716:
+ case 19718:
+ case 19720:
+ case 19722:
+ case 19724:
+ case 19726:
+ case 19728:
+ case 19730:
+ case 19732:
+ case 19734:
+ case 19736:
+ case 19738:
+ case 19740:
+ case 19742:
+ case 19744:
+ case 19746:
+ case 19748:
+ case 19750:
+ case 19752:
+ case 19754:
+ case 19756:
+ case 19758:
+ case 19760:
+ case 19762:
+ case 19764:
+ case 19766:
+ case 19768:
+ case 19770:
+ case 19772:
+ case 19774:
+ case 19776:
+ case 19778:
+ case 19780:
+ case 19782:
+ case 19784:
+ case 19786:
+ case 19788:
+ case 19790:
+ case 19792:
+ case 19794:
+ case 19796:
+ case 19798:
+ case 19800:
+ case 19802:
+ case 19804:
+ case 19806:
+ case 19808:
+ case 19810:
+ case 19812:
+ case 19814:
+ case 19816:
+ case 19818:
+ case 19820:
+ case 19822:
+ case 19824:
+ case 19826:
+ case 19828:
+ case 19830:
+ case 19832:
+ case 19834:
+ case 19836:
+ case 19838:
+ case 19840:
+ case 19842:
+ case 19844:
+ case 19846:
+ case 19848:
+ case 19850:
+ case 19852:
+ case 19854:
+ case 19856:
+ case 19858:
+ case 19860:
+ case 19862:
+ case 19864:
+ case 19866:
+ case 19868:
+ case 19870:
+ case 19872:
+ case 19874:
+ case 19876:
+ case 19878:
+ case 19880:
+ case 19882:
+ case 19884:
+ case 19886:
+ case 19888:
+ case 19890:
+ case 19892:
+ case 19894:
+ case 19896:
+ case 19898:
+ case 19900:
+ case 19902:
+ case 19904:
+ case 19906:
+ case 19908:
+ case 19910:
+ case 19912:
+ case 19914:
+ case 19916:
+ case 19918:
+ case 19920:
+ case 19922:
+ case 19924:
+ case 19926:
+ case 19928:
+ case 19930:
+ case 19932:
+ case 19934:
+ case 19936:
+ case 19938:
+ case 19940:
+ case 19942:
+ case 19944:
+ case 19946:
+ case 19948:
+ case 19950:
+ case 19952:
+ case 19954:
+ case 19956:
+ case 19958:
+ case 19960:
+ case 19962:
+ case 19964:
+ case 19966:
+ case 19968:
+ case 19970:
+ case 19972:
+ case 19974:
+ case 19976:
+ case 19978:
+ case 19980:
+ case 19982:
+ case 19984:
+ case 19986:
+ case 19988:
+ case 19990:
+ case 19992:
+ case 19994:
+ case 19996:
+ case 19998:
+ case 2e4:
+ case 20002:
+ case 20004:
+ case 20006:
+ case 20008:
+ case 20010:
+ case 20012:
+ case 20014:
+ case 20016:
+ case 20018:
+ case 20020:
+ case 20022:
+ case 20024:
+ case 20026:
+ case 20028:
+ case 20030:
+ case 20032:
+ case 20034:
+ case 20036:
+ case 20038:
+ case 20040:
+ case 20042:
+ case 20044:
+ case 20046:
+ case 20048:
+ case 20050:
+ case 20052:
+ case 20054:
+ case 20056:
+ case 20058:
+ case 20060:
+ case 20062:
+ case 20064:
+ case 20066:
+ case 20068:
+ case 20070:
+ case 20072:
+ case 20074:
+ case 20076:
+ case 20078:
+ case 20080:
+ case 20082:
+ case 20084:
+ case 20086:
+ case 20088:
+ case 20090:
+ case 20092:
+ case 20094:
+ case 20096:
+ case 20098:
+ case 20100:
+ case 20102:
+ case 20104:
+ case 20106:
+ case 20108:
+ case 20110:
+ case 20112:
+ case 20114:
+ case 20116:
+ case 20118:
+ case 20120:
+ case 20122:
+ case 20124:
+ case 20126:
+ case 20128:
+ case 20130:
+ case 20132:
+ case 20134:
+ case 20136:
+ case 20138:
+ case 20140:
+ case 20142:
+ case 20144:
+ case 20146:
+ case 20148:
+ case 20150:
+ case 20152:
+ case 20154:
+ case 20156:
+ case 20158:
+ case 20160:
+ case 20162:
+ case 20164:
+ case 20166:
+ case 20168:
+ case 20170:
+ case 20172:
+ case 20174:
+ case 20176:
+ case 20178:
+ case 20180:
+ case 20182:
+ case 20184:
+ case 20186:
+ case 20188:
+ case 20190:
+ case 20192:
+ case 20194:
+ case 20196:
+ case 20198:
+ case 20200:
+ case 20202:
+ case 20204:
+ case 20206:
+ case 20208:
+ case 20210:
+ case 20212:
+ case 20214:
+ case 20216:
+ case 20218:
+ case 20220:
+ case 20222:
+ case 20224:
+ case 20226:
+ case 20228:
+ case 20230:
+ case 20232:
+ case 20234:
+ case 20236:
+ case 20238:
+ case 20240:
+ case 20242:
+ case 20244:
+ case 20246:
+ case 20248:
+ case 20250:
+ case 20252:
+ case 20254:
+ case 20256:
+ case 20258:
+ case 20260:
+ case 20262:
+ case 20264:
+ case 20266:
+ case 20268:
+ case 20270:
+ case 20272:
+ case 20274:
+ case 20276:
+ case 20278:
+ case 20280:
+ case 20282:
+ case 20284:
+ case 20286:
+ case 20288:
+ case 20290:
+ case 20292:
+ case 20294:
+ case 20296:
+ case 20298:
+ case 20300:
+ case 20302:
+ case 20304:
+ case 20306:
+ case 20308:
+ case 20310:
+ case 20312:
+ case 20314:
+ case 20316:
+ case 20318:
+ case 20320:
+ case 20322:
+ case 20324:
+ case 20326:
+ case 20328:
+ case 20330:
+ case 20332:
+ case 20334:
+ case 20336:
+ case 20338:
+ case 20340:
+ case 20342:
+ case 20344:
+ case 20346:
+ case 20348:
+ case 20350:
+ case 20352:
+ case 20354:
+ case 20356:
+ case 20358:
+ case 20360:
+ case 20362:
+ case 20364:
+ case 20366:
+ case 20368:
+ case 20370:
+ case 20372:
+ case 20374:
+ case 20376:
+ case 20378:
+ case 20380:
+ case 20382:
+ case 20384:
+ case 20386:
+ case 20388:
+ case 20390:
+ case 20392:
+ case 20394:
+ case 20396:
+ case 20398:
+ case 20400:
+ case 20402:
+ case 20404:
+ case 20406:
+ case 20408:
+ case 20410:
+ case 20412:
+ case 20414:
+ case 20416:
+ case 20418:
+ case 20420:
+ case 20422:
+ case 20424:
+ case 20426:
+ case 20428:
+ case 20430:
+ case 20432:
+ case 20434:
+ case 20436:
+ case 20438:
+ case 20440:
+ case 20442:
+ case 20444:
+ case 20446:
+ case 20448:
+ case 20450:
+ case 20452:
+ case 20454:
+ case 20456:
+ case 20458:
+ case 20460:
+ case 20462:
+ case 20464:
+ case 20466:
+ case 20468:
+ case 20470:
+ case 20472:
+ case 20474:
+ case 20476:
+ case 20478:
+ case 20480:
+ case 20482:
+ case 20484:
+ case 20486:
+ case 20488:
+ case 20490:
+ case 20492:
+ case 20494:
+ case 20496:
+ case 20498:
+ case 20500:
+ case 20502:
+ case 20504:
+ case 20506:
+ case 20508:
+ case 20510:
+ case 20512:
+ case 20514:
+ case 20516:
+ case 20518:
+ case 20520:
+ case 20522:
+ case 20524:
+ case 20526:
+ case 20528:
+ case 20530:
+ case 20532:
+ case 20534:
+ case 20536:
+ case 20538:
+ case 20540:
+ case 20542:
+ case 20544:
+ case 20546:
+ case 20548:
+ case 20550:
+ case 20552:
+ case 20554:
+ case 20556:
+ case 20558:
+ case 20560:
+ case 20562:
+ case 20564:
+ case 20566:
+ case 20568:
+ case 20570:
+ case 20572:
+ case 20574:
+ case 20576:
+ case 20578:
+ case 20580:
+ case 20582:
+ case 20584:
+ case 20586:
+ case 20588:
+ case 20590:
+ case 20592:
+ case 20594:
+ case 20596:
+ case 20598:
+ case 20600:
+ case 20602:
+ case 20604:
+ case 20606:
+ case 20608:
+ case 20610:
+ case 20612:
+ case 20614:
+ case 20616:
+ case 20618:
+ case 20620:
+ case 20622:
+ case 20624:
+ case 20626:
+ case 20628:
+ case 20630:
+ case 20632:
+ case 20634:
+ case 20636:
+ case 20638:
+ case 20640:
+ case 20642:
+ case 20644:
+ case 20646:
+ case 20648:
+ case 20650:
+ case 20652:
+ case 20654:
+ case 20656:
+ case 20658:
+ case 20660:
+ case 20662:
+ case 20664:
+ case 20666:
+ case 20668:
+ case 20670:
+ case 20672:
+ case 20674:
+ case 20676:
+ case 20678:
+ case 20680:
+ case 20682:
+ case 20684:
+ case 20686:
+ case 20688:
+ case 20690:
+ case 20692:
+ case 20694:
+ case 20696:
+ case 20698:
+ case 20700:
+ case 20702:
+ case 20704:
+ case 20706:
+ case 20708:
+ case 20710:
+ case 20712:
+ case 20714:
+ case 20716:
+ case 20718:
+ case 20720:
+ case 20722:
+ case 20724:
+ case 20726:
+ case 20728:
+ case 20730:
+ case 20732:
+ case 20734:
+ case 20736:
+ case 20738:
+ case 20740:
+ case 20742:
+ case 20744:
+ case 20746:
+ case 20748:
+ case 20750:
+ case 20752:
+ case 20754:
+ case 20756:
+ case 20758:
+ case 20760:
+ case 20762:
+ case 20764:
+ case 20766:
+ case 20768:
+ case 20770:
+ case 20772:
+ case 20774:
+ case 20776:
+ case 20778:
+ case 20780:
+ case 20782:
+ case 20784:
+ case 20786:
+ case 20788:
+ case 20790:
+ case 20792:
+ case 20794:
+ case 20796:
+ case 20798:
+ case 20800:
+ case 20802:
+ case 20804:
+ case 20806:
+ case 20808:
+ case 20810:
+ case 20812:
+ case 20814:
+ case 20816:
+ case 20818:
+ case 20820:
+ case 20822:
+ case 20824:
+ case 20826:
+ case 20828:
+ case 20830:
+ case 20832:
+ case 20834:
+ case 20836:
+ case 20838:
+ case 20840:
+ case 20842:
+ case 20844:
+ case 20846:
+ case 20848:
+ case 20850:
+ case 20852:
+ case 20854:
+ case 20856:
+ case 20858:
+ case 20860:
+ case 20862:
+ case 20864:
+ case 20866:
+ case 20868:
+ case 20870:
+ case 20872:
+ case 20874:
+ case 20876:
+ case 20878:
+ case 20880:
+ case 20882:
+ case 20884:
+ case 20886:
+ case 20888:
+ case 20890:
+ case 20892:
+ case 20894:
+ case 20896:
+ case 20898:
+ case 20900:
+ case 20902:
+ case 20904:
+ case 20906:
+ case 20908:
+ case 20910:
+ case 20912:
+ case 20914:
+ case 20916:
+ case 20918:
+ case 20920:
+ case 20922:
+ case 20924:
+ case 20926:
+ case 20928:
+ case 20930:
+ case 20932:
+ case 20934:
+ case 20936:
+ case 20938:
+ case 20940:
+ case 20942:
+ case 20944:
+ case 20946:
+ case 20948:
+ case 20950:
+ case 20952:
+ case 20954:
+ case 20956:
+ case 20958:
+ case 20960:
+ case 20962:
+ case 20964:
+ case 20966:
+ case 20968:
+ case 20970:
+ case 20972:
+ case 20974:
+ case 20976:
+ case 20978:
+ case 20980:
+ case 20982:
+ case 20984:
+ case 20986:
+ case 20988:
+ case 20990:
+ case 20992:
+ case 20994:
+ case 20996:
+ case 20998:
+ case 21e3:
+ case 21002:
+ case 21004:
+ case 21006:
+ case 21008:
+ case 21010:
+ case 21012:
+ case 21014:
+ case 21016:
+ case 21018:
+ case 21020:
+ case 21022:
+ case 21024:
+ case 21026:
+ case 21028:
+ case 21030:
+ case 21032:
+ case 21034:
+ case 21036:
+ case 21038:
+ case 21040:
+ case 21042:
+ case 21044:
+ case 21046:
+ case 21048:
+ case 21050:
+ case 21052:
+ case 21054:
+ case 21056:
+ case 21058:
+ case 21060:
+ case 21062:
+ case 21064:
+ case 21066:
+ case 21068:
+ case 21070:
+ case 21072:
+ case 21074:
+ case 21076:
+ case 21078:
+ case 21080:
+ case 21082:
+ case 21084:
+ case 21086:
+ case 21088:
+ case 21090:
+ case 21092:
+ case 21094:
+ case 21096:
+ case 21098:
+ case 21100:
+ case 21102:
+ case 21104:
+ case 21106:
+ case 21108:
+ case 21110:
+ case 21112:
+ case 21114:
+ case 21116:
+ case 21118:
+ case 21120:
+ case 21122:
+ case 21124:
+ case 21126:
+ case 21128:
+ case 21130:
+ case 21132:
+ case 21134:
+ case 21136:
+ case 21138:
+ case 21140:
+ case 21142:
+ case 21144:
+ case 21146:
+ case 21148:
+ case 21150:
+ case 21152:
+ case 21154:
+ case 21156:
+ case 21158:
+ case 21160:
+ case 21162:
+ case 21164:
+ case 21166:
+ case 21168:
+ case 21170:
+ case 21172:
+ case 21174:
+ case 21176:
+ case 21178:
+ case 21180:
+ case 21182:
+ case 21184:
+ case 21186:
+ case 21188:
+ case 21190:
+ case 21192:
+ case 21194:
+ case 21196:
+ case 21198:
+ case 21200:
+ case 21202:
+ case 21204:
+ case 21206:
+ case 21208:
+ case 21210:
+ case 21212:
+ case 21214:
+ case 21216:
+ case 21218:
+ case 21220:
+ case 21222:
+ case 21224:
+ case 21226:
+ case 21228:
+ case 21230:
+ case 21232:
+ case 21234:
+ case 21236:
+ case 21238:
+ case 21240:
+ case 21242:
+ case 21244:
+ case 21246:
+ case 21248:
+ case 21250:
+ case 21252:
+ case 21254:
+ case 21256:
+ case 21258:
+ case 21260:
+ case 21262:
+ case 21264:
+ case 21266:
+ case 21268:
+ case 21270:
+ case 21272:
+ case 21274:
+ case 21276:
+ case 21278:
+ case 21280:
+ case 21282:
+ case 21284:
+ case 21286:
+ case 21288:
+ case 21290:
+ case 21292:
+ case 21294:
+ case 21296:
+ case 21298:
+ case 21300:
+ case 21302:
+ case 21304:
+ case 21306:
+ case 21308:
+ case 21310:
+ case 21312:
+ case 21314:
+ case 21316:
+ case 21318:
+ case 21320:
+ case 21322:
+ case 21324:
+ case 21326:
+ case 21328:
+ case 21330:
+ case 21332:
+ case 21334:
+ case 21336:
+ case 21338:
+ case 21340:
+ case 21342:
+ case 21344:
+ case 21346:
+ case 21348:
+ case 21350:
+ case 21352:
+ case 21354:
+ case 21356:
+ case 21358:
+ case 21360:
+ case 21362:
+ case 21364:
+ case 21366:
+ case 21368:
+ case 21370:
+ case 21372:
+ case 21374:
+ case 21376:
+ case 21378:
+ case 21380:
+ case 21382:
+ case 21384:
+ case 21386:
+ case 21388:
+ case 21390:
+ case 21392:
+ case 21394:
+ case 21396:
+ case 21398:
+ case 21400:
+ case 21402:
+ case 21404:
+ case 21406:
+ case 21408:
+ case 21410:
+ case 21412:
+ case 21414:
+ case 21416:
+ case 21418:
+ case 21420:
+ case 21422:
+ case 21424:
+ case 21426:
+ case 21428:
+ case 21430:
+ case 21432:
+ case 21434:
+ case 21436:
+ case 21438:
+ case 21440:
+ case 21442:
+ case 21444:
+ case 21446:
+ case 21448:
+ case 21450:
+ case 21452:
+ case 21454:
+ case 21456:
+ case 21458:
+ case 21460:
+ case 21462:
+ case 21464:
+ case 21466:
+ case 21468:
+ case 21470:
+ case 21472:
+ case 21474:
+ case 21476:
+ case 21478:
+ case 21480:
+ case 21482:
+ case 21484:
+ case 21486:
+ case 21488:
+ case 21490:
+ case 21492:
+ case 21494:
+ case 21496:
+ case 21498:
+ case 21500:
+ case 21502:
+ case 21504:
+ case 21506:
+ case 21508:
+ case 21510:
+ case 21512:
+ case 21514:
+ case 21516:
+ case 21518:
+ case 21520:
+ case 21522:
+ case 21524:
+ case 21526:
+ case 21528:
+ case 21530:
+ case 21532:
+ case 21534:
+ case 21536:
+ case 21538:
+ case 21540:
+ case 21542:
+ case 21544:
+ case 21546:
+ case 21548:
+ case 21550:
+ case 21552:
+ case 21554:
+ case 21556:
+ case 21558:
+ case 21560:
+ case 21562:
+ case 21564:
+ case 21566:
+ case 21568:
+ case 21570:
+ case 21572:
+ case 21574:
+ case 21576:
+ case 21578:
+ case 21580:
+ case 21582:
+ case 21584:
+ case 21586:
+ case 21588:
+ case 21590:
+ case 21592:
+ case 21594:
+ case 21596:
+ case 21598:
+ case 21600:
+ case 21602:
+ case 21604:
+ case 21606:
+ case 21608:
+ case 21610:
+ case 21612:
+ case 21614:
+ case 21616:
+ case 21618:
+ case 21620:
+ case 21622:
+ case 21624:
+ case 21626:
+ case 21628:
+ case 21630:
+ case 21632:
+ case 21634:
+ case 21636:
+ case 21638:
+ case 21640:
+ case 21642:
+ case 21644:
+ case 21646:
+ case 21648:
+ case 21650:
+ case 21652:
+ case 21654:
+ case 21656:
+ case 21658:
+ case 21660:
+ case 21662:
+ case 21664:
+ case 21666:
+ case 21668:
+ case 21670:
+ case 21672:
+ case 21674:
+ case 21676:
+ case 21678:
+ case 21680:
+ case 21682:
+ case 21684:
+ case 21686:
+ case 21688:
+ case 21690:
+ case 21692:
+ case 21694:
+ case 21696:
+ case 21698:
+ case 21700:
+ case 21702:
+ case 21704:
+ case 21706:
+ case 21708:
+ case 21710:
+ case 21712:
+ case 21714:
+ case 21716:
+ case 21718:
+ case 21720:
+ case 21722:
+ case 21724:
+ case 21726:
+ case 21728:
+ case 21730:
+ case 21732:
+ case 21734:
+ case 21736:
+ case 21738:
+ case 21740:
+ case 21742:
+ case 21744:
+ case 21746:
+ case 21748:
+ case 21750:
+ case 21752:
+ case 21754:
+ case 21756:
+ case 21758:
+ case 21760:
+ case 21762:
+ case 21764:
+ case 21766:
+ case 21768:
+ case 21770:
+ case 21772:
+ case 21774:
+ case 21776:
+ case 21778:
+ case 21780:
+ case 21782:
+ case 21784:
+ case 21786:
+ case 21788:
+ case 21790:
+ case 21792:
+ case 21794:
+ case 21796:
+ case 21798:
+ case 21800:
+ case 21802:
+ case 21804:
+ case 21806:
+ case 21808:
+ case 21810:
+ case 21812:
+ case 21814:
+ case 21816:
+ case 21818:
+ case 21820:
+ case 21822:
+ case 21824:
+ case 21826:
+ case 21828:
+ case 21830:
+ case 21832:
+ case 21834:
+ case 21836:
+ case 21838:
+ case 21840:
+ case 21842:
+ case 21844:
+ case 21846:
+ case 21848:
+ case 21850:
+ case 21852:
+ case 21854:
+ case 21856:
+ case 21858:
+ case 21860:
+ case 21862:
+ case 21864:
+ case 21866:
+ case 21868:
+ case 21870:
+ case 21872:
+ case 21874:
+ case 21876:
+ case 21878:
+ case 21880:
+ case 21882:
+ case 21884:
+ case 21886:
+ case 21888:
+ case 21890:
+ case 21892:
+ case 21894:
+ case 21896:
+ case 21898:
+ case 21900:
+ case 21902:
+ case 21904:
+ case 21906:
+ case 21908:
+ case 21910:
+ case 21912:
+ case 21914:
+ case 21916:
+ case 21918:
+ case 21920:
+ case 21922:
+ case 21924:
+ case 21926:
+ case 21928:
+ case 21930:
+ case 21932:
+ case 21934:
+ case 21936:
+ case 21938:
+ case 21940:
+ case 21942:
+ case 21944:
+ case 21946:
+ case 21948:
+ case 21950:
+ case 21952:
+ case 21954:
+ case 21956:
+ case 21958:
+ case 21960:
+ case 21962:
+ case 21964:
+ case 21966:
+ case 21968:
+ case 21970:
+ case 21972:
+ case 21974:
+ case 21976:
+ case 21978:
+ case 21980:
+ case 21982:
+ case 21984:
+ case 21986:
+ case 21988:
+ case 21990:
+ case 21992:
+ case 21994:
+ case 21996:
+ case 21998:
+ case 22e3:
+ case 22002:
+ case 22004:
+ case 22006:
+ case 22008:
+ case 22010:
+ case 22012:
+ case 22014:
+ case 22016:
+ case 22018:
+ case 22020:
+ case 22022:
+ case 22024:
+ case 22026:
+ case 22028:
+ case 22030:
+ case 22032:
+ case 22034:
+ case 22036:
+ case 22038:
+ case 22040:
+ case 22042:
+ case 22044:
+ case 22046:
+ case 22048:
+ case 22050:
+ case 22052:
+ case 22054:
+ case 22056:
+ case 22058:
+ case 22060:
+ case 22062:
+ case 22064:
+ case 22066:
+ case 22068:
+ case 22070:
+ case 22072:
+ case 22074:
+ case 22076:
+ case 22078:
+ case 22080:
+ case 22082:
+ case 22084:
+ case 22086:
+ case 22088:
+ case 22090:
+ case 22092:
+ case 22094:
+ case 22096:
+ case 22098:
+ case 22100:
+ case 22102:
+ case 22104:
+ case 22106:
+ case 22108:
+ case 22110:
+ case 22112:
+ case 22114:
+ case 22116:
+ case 22118:
+ case 22120:
+ case 22122:
+ case 22124:
+ case 22126:
+ case 22128:
+ case 22130:
+ case 22132:
+ case 22134:
+ case 22136:
+ case 22138:
+ case 22140:
+ case 22142:
+ case 22144:
+ case 22146:
+ case 22148:
+ case 22150:
+ case 22152:
+ case 22154:
+ case 22156:
+ case 22158:
+ case 22160:
+ case 22162:
+ case 22164:
+ case 22166:
+ case 22168:
+ case 22170:
+ case 22172:
+ case 22174:
+ case 22176:
+ case 22178:
+ case 22180:
+ case 22182:
+ case 22184:
+ case 22186:
+ case 22188:
+ case 22190:
+ case 22192:
+ case 22194:
+ case 22196:
+ case 22198:
+ case 22200:
+ case 22202:
+ case 22204:
+ case 22206:
+ case 22208:
+ case 22210:
+ case 22212:
+ case 22214:
+ case 22216:
+ case 22218:
+ case 22220:
+ case 22222:
+ case 22224:
+ case 22226:
+ case 22228:
+ case 22230:
+ case 22232:
+ case 22234:
+ case 22236:
+ case 22238:
+ case 22240:
+ case 22242:
+ case 22244:
+ case 22246:
+ case 22248:
+ case 22250:
+ case 22252:
+ case 22254:
+ case 22256:
+ case 22258:
+ case 22260:
+ case 22262:
+ case 22264:
+ case 22266:
+ case 22268:
+ case 22270:
+ case 22272:
+ case 22274:
+ case 22276:
+ case 22278:
+ case 22280:
+ case 22282:
+ case 22284:
+ case 22286:
+ case 22288:
+ case 22290:
+ case 22292:
+ case 22294:
+ case 22296:
+ case 22298:
+ case 22300:
+ case 22302:
+ case 22304:
+ case 22306:
+ case 22308:
+ case 22310:
+ case 22312:
+ case 22314:
+ case 22316:
+ case 22318:
+ case 22320:
+ case 22322:
+ case 22324:
+ case 22326:
+ case 22328:
+ case 22330:
+ case 22332:
+ case 22334:
+ case 22336:
+ case 22338:
+ case 22340:
+ case 22342:
+ case 22344:
+ case 22346:
+ case 22348:
+ case 22350:
+ case 22352:
+ case 22354:
+ case 22356:
+ case 22358:
+ case 22360:
+ case 22362:
+ case 22364:
+ case 22366:
+ case 22368:
+ case 22370:
+ case 22372:
+ case 22374:
+ case 22376:
+ case 22378:
+ case 22380:
+ case 22382:
+ case 22384:
+ case 22386:
+ case 22388:
+ case 22390:
+ case 22392:
+ case 22394:
+ case 22396:
+ case 22398:
+ case 22400:
+ case 22402:
+ case 22404:
+ case 22406:
+ case 22408:
+ case 22410:
+ case 22412:
+ case 22414:
+ case 22416:
+ case 22418:
+ case 22420:
+ case 22422:
+ case 22424:
+ case 22426:
+ case 22428:
+ case 22430:
+ case 22432:
+ case 22434:
+ case 22436:
+ case 22438:
+ case 22440:
+ case 22442:
+ case 22444:
+ case 22446:
+ case 22448:
+ case 22450:
+ case 22452:
+ case 22454:
+ case 22456:
+ case 22458:
+ case 22460:
+ case 22462:
+ case 22464:
+ case 22466:
+ case 22468:
+ case 22470:
+ case 22472:
+ case 22474:
+ case 22476:
+ case 22478:
+ case 22480:
+ case 22482:
+ case 22484:
+ case 22486:
+ case 22488:
+ case 22490:
+ case 22492:
+ case 22494:
+ case 22496:
+ case 22498:
+ case 22500:
+ case 22502:
+ case 22504:
+ case 22506:
+ case 22508:
+ case 22510:
+ case 22512:
+ case 22514:
+ case 22516:
+ case 22518:
+ case 22520:
+ case 22522:
+ case 22524:
+ case 22526:
+ case 22528:
+ case 22530:
+ case 22532:
+ case 22534:
+ case 22536:
+ case 22538:
+ case 22540:
+ case 22542:
+ case 22544:
+ case 22546:
+ case 22548:
+ case 22550:
+ case 22552:
+ case 22554:
+ case 22556:
+ case 22558:
+ case 22560:
+ case 22562:
+ case 22564:
+ case 22566:
+ case 22568:
+ case 22570:
+ case 22572:
+ case 22574:
+ case 22576:
+ case 22578:
+ case 22580:
+ case 22582:
+ case 22584:
+ case 22586:
+ case 22588:
+ case 22590:
+ case 22592:
+ case 22594:
+ case 22596:
+ case 22598:
+ case 22600:
+ case 22602:
+ case 22604:
+ case 22606:
+ case 22608:
+ case 22610:
+ case 22612:
+ case 22614:
+ case 22616:
+ case 22618:
+ case 22620:
+ case 22622:
+ case 22624:
+ case 22626:
+ case 22628:
+ case 22630:
+ case 22632:
+ case 22634:
+ case 22636:
+ case 22638:
+ case 22640:
+ case 22642:
+ case 22644:
+ case 22646:
+ case 22648:
+ case 22650:
+ case 22652:
+ case 22654:
+ case 22656:
+ case 22658:
+ case 22660:
+ case 22662:
+ case 22664:
+ case 22666:
+ case 22668:
+ case 22670:
+ case 22672:
+ case 22674:
+ case 22676:
+ case 22678:
+ case 22680:
+ case 22682:
+ case 22684:
+ case 22686:
+ case 22688:
+ case 22690:
+ case 22692:
+ case 22694:
+ case 22696:
+ case 22698:
+ case 22700:
+ case 22702:
+ case 22704:
+ case 22706:
+ case 22708:
+ case 22710:
+ case 22712:
+ case 22714:
+ case 22716:
+ case 22718:
+ case 22720:
+ case 22722:
+ case 22724:
+ case 22726:
+ case 22728:
+ case 22730:
+ case 22732:
+ case 22734:
+ case 22736:
+ case 22738:
+ case 22740:
+ case 22742:
+ case 22744:
+ case 22746:
+ case 22748:
+ case 22750:
+ case 22752:
+ case 22754:
+ case 22756:
+ case 22758:
+ case 22760:
+ case 22762:
+ case 22764:
+ case 22766:
+ case 22768:
+ case 22770:
+ case 22772:
+ case 22774:
+ case 22776:
+ case 22778:
+ case 22780:
+ case 22782:
+ case 22784:
+ case 22786:
+ case 22788:
+ case 22790:
+ case 22792:
+ case 22794:
+ case 22796:
+ case 22798:
+ case 22800:
+ case 22802:
+ case 22804:
+ case 22806:
+ case 22808:
+ case 22810:
+ case 22812:
+ case 22814:
+ case 22816:
+ case 22818:
+ case 22820:
+ case 22822:
+ case 22824:
+ case 22826:
+ case 22828:
+ case 22830:
+ case 22832:
+ case 22834:
+ case 22836:
+ case 22838:
+ case 22840:
+ case 22842:
+ case 22844:
+ case 22846:
+ case 22848:
+ case 22850:
+ case 22852:
+ case 22854:
+ case 22856:
+ case 22858:
+ case 22860:
+ case 22862:
+ case 22864:
+ case 22866:
+ case 22868:
+ case 22870:
+ case 22872:
+ case 22874:
+ case 22876:
+ case 22878:
+ case 22880:
+ case 22882:
+ case 22884:
+ case 22886:
+ case 22888:
+ case 22890:
+ case 22892:
+ case 22894:
+ case 22896:
+ case 22898:
+ case 22900:
+ case 22902:
+ case 22904:
+ case 22906:
+ case 22908:
+ case 22910:
+ case 22912:
+ case 22914:
+ case 22916:
+ case 22918:
+ case 22920:
+ case 22922:
+ case 22924:
+ case 22926:
+ case 22928:
+ case 22930:
+ case 22932:
+ case 22934:
+ case 22936:
+ case 22938:
+ case 22940:
+ case 22942:
+ case 22944:
+ case 22946:
+ case 22948:
+ case 22950:
+ case 22952:
+ case 22954:
+ case 22956:
+ case 22958:
+ case 22960:
+ case 22962:
+ case 22964:
+ case 22966:
+ case 22968:
+ case 22970:
+ case 22972:
+ case 22974:
+ case 22976:
+ case 22978:
+ case 22980:
+ case 22982:
+ case 22984:
+ case 22986:
+ case 22988:
+ case 22990:
+ case 22992:
+ case 22994:
+ case 22996:
+ case 22998:
+ case 23e3:
+ case 23002:
+ case 23004:
+ case 23006:
+ case 23008:
+ case 23010:
+ case 23012:
+ case 23014:
+ case 23016:
+ case 23018:
+ case 23020:
+ case 23022:
+ case 23024:
+ case 23026:
+ case 23028:
+ case 23030:
+ case 23032:
+ case 23034:
+ case 23036:
+ case 23038:
+ case 23040:
+ case 23042:
+ case 23044:
+ case 23046:
+ case 23048:
+ case 23050:
+ case 23052:
+ case 23054:
+ case 23056:
+ case 23058:
+ case 23060:
+ case 23062:
+ case 23064:
+ case 23066:
+ case 23068:
+ case 23070:
+ case 23072:
+ case 23074:
+ case 23076:
+ case 23078:
+ case 23080:
+ case 23082:
+ case 23084:
+ case 23086:
+ case 23088:
+ case 23090:
+ case 23092:
+ case 23094:
+ case 23096:
+ case 23098:
+ case 23100:
+ case 23102:
+ case 23104:
+ case 23106:
+ case 23108:
+ case 23110:
+ case 23112:
+ case 23114:
+ case 23116:
+ case 23118:
+ case 23120:
+ case 23122:
+ case 23124:
+ case 23126:
+ case 23128:
+ case 23130:
+ case 23132:
+ case 23134:
+ case 23136:
+ case 23138:
+ case 23140:
+ case 23142:
+ case 23144:
+ case 23146:
+ case 23148:
+ case 23150:
+ case 23152:
+ case 23154:
+ case 23156:
+ case 23158:
+ case 23160:
+ case 23162:
+ case 23164:
+ case 23166:
+ case 23168:
+ case 23170:
+ case 23172:
+ case 23174:
+ case 23176:
+ case 23178:
+ case 23180:
+ case 23182:
+ case 23184:
+ case 23186:
+ case 23188:
+ case 23190:
+ case 23192:
+ case 23194:
+ case 23196:
+ case 23198:
+ case 23200:
+ case 23202:
+ case 23204:
+ case 23206:
+ case 23208:
+ case 23210:
+ case 23212:
+ case 23214:
+ case 23216:
+ case 23218:
+ case 23220:
+ case 23222:
+ case 23224:
+ case 23226:
+ case 23228:
+ case 23230:
+ case 23232:
+ case 23234:
+ case 23236:
+ case 23238:
+ case 23240:
+ case 23242:
+ case 23244:
+ case 23246:
+ case 23248:
+ case 23250:
+ case 23252:
+ case 23254:
+ case 23256:
+ case 23258:
+ case 23260:
+ case 23262:
+ case 23264:
+ case 23266:
+ case 23268:
+ case 23270:
+ case 23272:
+ case 23274:
+ case 23276:
+ case 23278:
+ case 23280:
+ case 23282:
+ case 23284:
+ case 23286:
+ case 23288:
+ case 23290:
+ case 23292:
+ case 23294:
+ case 23296:
+ case 23298:
+ case 23300:
+ case 23302:
+ case 23304:
+ case 23306:
+ case 23308:
+ case 23310:
+ case 23312:
+ case 23314:
+ case 23316:
+ case 23318:
+ case 23320:
+ case 23322:
+ case 23324:
+ case 23326:
+ case 23328:
+ case 23330:
+ case 23332:
+ case 23334:
+ case 23336:
+ case 23338:
+ case 23340:
+ case 23342:
+ case 23344:
+ case 23346:
+ case 23348:
+ case 23350:
+ case 23352:
+ case 23354:
+ case 23356:
+ case 23358:
+ case 23360:
+ case 23362:
+ case 23364:
+ case 23366:
+ case 23368:
+ case 23370:
+ case 23372:
+ case 23374:
+ case 23376:
+ case 23378:
+ case 23380:
+ case 23382:
+ case 23384:
+ case 23386:
+ case 23388:
+ case 23390:
+ case 23392:
+ case 23394:
+ case 23396:
+ case 23398:
+ case 23400:
+ case 23402:
+ case 23404:
+ case 23406:
+ case 23408:
+ case 23410:
+ case 23412:
+ case 23414:
+ case 23416:
+ case 23418:
+ case 23420:
+ case 23422:
+ case 23424:
+ case 23426:
+ case 23428:
+ case 23430:
+ case 23432:
+ case 23434:
+ case 23436:
+ case 23438:
+ case 23440:
+ case 23442:
+ case 23444:
+ case 23446:
+ case 23448:
+ case 23450:
+ case 23452:
+ case 23454:
+ case 23456:
+ case 23458:
+ case 23460:
+ case 23462:
+ case 23464:
+ case 23466:
+ case 23468:
+ case 23470:
+ case 23472:
+ case 23474:
+ case 23476:
+ case 23478:
+ case 23480:
+ case 23482:
+ case 23484:
+ case 23486:
+ case 23488:
+ case 23490:
+ case 23492:
+ case 23494:
+ case 23496:
+ case 23498:
+ case 23500:
+ case 23502:
+ case 23504:
+ case 23506:
+ case 23508:
+ case 23510:
+ case 23512:
+ case 23514:
+ case 23516:
+ case 23518:
+ case 23520:
+ case 23522:
+ case 23524:
+ case 23526:
+ case 23528:
+ case 23530:
+ case 23532:
+ case 23534:
+ case 23536:
+ case 23538:
+ case 23540:
+ case 23542:
+ case 23544:
+ case 23546:
+ case 23548:
+ case 23550:
+ case 23552:
+ case 23554:
+ case 23556:
+ case 23558:
+ case 23560:
+ case 23562:
+ case 23564:
+ case 23566:
+ case 23568:
+ case 23570:
+ case 23572:
+ case 23574:
+ case 23576:
+ case 23578:
+ case 23580:
+ case 23582:
+ case 23584:
+ case 23586:
+ case 23588:
+ case 23590:
+ case 23592:
+ case 23594:
+ case 23596:
+ case 23598:
+ case 23600:
+ case 23602:
+ case 23604:
+ case 23606:
+ case 23608:
+ case 23610:
+ case 23612:
+ case 23614:
+ case 23616:
+ case 23618:
+ case 23620:
+ case 23622:
+ case 23624:
+ case 23626:
+ case 23628:
+ case 23630:
+ case 23632:
+ case 23634:
+ case 23636:
+ case 23638:
+ case 23640:
+ case 23642:
+ case 23644:
+ case 23646:
+ case 23648:
+ case 23650:
+ case 23652:
+ case 23654:
+ case 23656:
+ case 23658:
+ case 23660:
+ case 23662:
+ case 23664:
+ case 23666:
+ case 23668:
+ case 23670:
+ case 23672:
+ case 23674:
+ case 23676:
+ case 23678:
+ case 23680:
+ case 23682:
+ case 23684:
+ case 23686:
+ case 23688:
+ case 23690:
+ case 23692:
+ case 23694:
+ case 23696:
+ case 23698:
+ case 23700:
+ case 23702:
+ case 23704:
+ case 23706:
+ case 23708:
+ case 23710:
+ case 23712:
+ case 23714:
+ case 23716:
+ case 23718:
+ case 23720:
+ case 23722:
+ case 23724:
+ case 23726:
+ case 23728:
+ case 23730:
+ case 23732:
+ case 23734:
+ case 23736:
+ case 23738:
+ case 23740:
+ case 23742:
+ case 23744:
+ case 23746:
+ case 23748:
+ case 23750:
+ case 23752:
+ case 23754:
+ case 23756:
+ case 23758:
+ case 23760:
+ case 23762:
+ case 23764:
+ case 23766:
+ case 23768:
+ case 23770:
+ case 23772:
+ case 23774:
+ case 23776:
+ case 23778:
+ case 23780:
+ case 23782:
+ case 23784:
+ case 23786:
+ case 23788:
+ case 23790:
+ case 23792:
+ case 23794:
+ case 23796:
+ case 23798:
+ case 23800:
+ case 23802:
+ case 23804:
+ case 23806:
+ case 23808:
+ case 23810:
+ case 23812:
+ case 23814:
+ case 23816:
+ case 23818:
+ case 23820:
+ case 23822:
+ case 23824:
+ case 23826:
+ case 23828:
+ case 23830:
+ case 23832:
+ case 23834:
+ case 23836:
+ case 23838:
+ case 23840:
+ case 23842:
+ case 23844:
+ case 23846:
+ case 23848:
+ case 23850:
+ case 23852:
+ case 23854:
+ case 23856:
+ case 23858:
+ case 23860:
+ case 23862:
+ case 23864:
+ case 23866:
+ case 23868:
+ case 23870:
+ case 23872:
+ case 23874:
+ case 23876:
+ case 23878:
+ case 23880:
+ case 23882:
+ case 23884:
+ case 23886:
+ case 23888:
+ case 23890:
+ case 23892:
+ case 23894:
+ case 23896:
+ case 23898:
+ case 23900:
+ case 23902:
+ case 23904:
+ case 23906:
+ case 23908:
+ case 23910:
+ case 23912:
+ case 23914:
+ case 23916:
+ case 23918:
+ case 23920:
+ case 23922:
+ case 23924:
+ case 23926:
+ case 23928:
+ case 23930:
+ case 23932:
+ case 23934:
+ case 23936:
+ case 23938:
+ case 23940:
+ case 23942:
+ case 23944:
+ case 23946:
+ case 23948:
+ case 23950:
+ case 23952:
+ case 23954:
+ case 23956:
+ case 23958:
+ case 23960:
+ case 23962:
+ case 23964:
+ case 23966:
+ case 23968:
+ case 23970:
+ case 23972:
+ case 23974:
+ case 23976:
+ case 23978:
+ case 23980:
+ case 23982:
+ case 23984:
+ case 23986:
+ case 23988:
+ case 23990:
+ case 23992:
+ case 23994:
+ case 23996:
+ case 23998:
+ case 24e3:
+ case 24002:
+ case 24004:
+ case 24006:
+ case 24008:
+ case 24010:
+ case 24012:
+ case 24014:
+ case 24016:
+ case 24018:
+ case 24020:
+ case 24022:
+ case 24024:
+ case 24026:
+ case 24028:
+ case 24030:
+ case 24032:
+ case 24034:
+ case 24036:
+ case 24038:
+ case 24040:
+ case 24042:
+ case 24044:
+ case 24046:
+ case 24048:
+ case 24050:
+ case 24052:
+ case 24054:
+ case 24056:
+ case 24058:
+ case 24060:
+ case 24062:
+ case 24064:
+ case 24066:
+ case 24068:
+ case 24070:
+ case 24072:
+ case 24074:
+ case 24076:
+ case 24078:
+ case 24080:
+ case 24082:
+ case 24084:
+ case 24086:
+ case 24088:
+ case 24090:
+ case 24092:
+ case 24094:
+ case 24096:
+ case 24098:
+ case 24100:
+ case 24102:
+ case 24104:
+ case 24106:
+ case 24108:
+ case 24110:
+ case 24112:
+ case 24114:
+ case 24116:
+ case 24118:
+ case 24120:
+ case 24122:
+ case 24124:
+ case 24126:
+ case 24128:
+ case 24130:
+ case 24132:
+ case 24134:
+ case 24136:
+ case 24138:
+ case 24140:
+ case 24142:
+ case 24144:
+ case 24146:
+ case 24148:
+ case 24150:
+ case 24152:
+ case 24154:
+ case 24156:
+ case 24158:
+ case 24160:
+ case 24162:
+ case 24164:
+ case 24166:
+ case 24168:
+ case 24170:
+ case 24172:
+ case 24174:
+ case 24176:
+ case 24178:
+ case 24180:
+ case 24182:
+ case 24184:
+ case 24186:
+ case 24188:
+ case 24190:
+ case 24192:
+ case 24194:
+ case 24196:
+ case 24198:
+ case 24200:
+ case 24202:
+ case 24204:
+ case 24206:
+ case 24208:
+ case 24210:
+ case 24212:
+ case 24214:
+ case 24216:
+ case 24218:
+ case 24220:
+ case 24222:
+ case 24224:
+ case 24226:
+ case 24228:
+ case 24230:
+ case 24232:
+ case 24234:
+ case 24236:
+ case 24238:
+ case 24240:
+ case 24242:
+ case 24244:
+ case 24246:
+ case 24248:
+ case 24250:
+ case 24252:
+ case 24254:
+ case 24256:
+ case 24258:
+ case 24260:
+ case 24262:
+ case 24264:
+ case 24266:
+ case 24268:
+ case 24270:
+ case 24272:
+ case 24274:
+ case 24276:
+ case 24278:
+ case 24280:
+ case 24282:
+ case 24284:
+ case 24286:
+ case 24288:
+ case 24290:
+ case 24292:
+ case 24294:
+ case 24296:
+ case 24298:
+ case 24300:
+ case 24302:
+ case 24304:
+ case 24306:
+ case 24308:
+ case 24310:
+ case 24312:
+ case 24314:
+ case 24316:
+ case 24318:
+ case 24320:
+ case 24322:
+ case 24324:
+ case 24326:
+ case 24328:
+ case 24330:
+ case 24332:
+ case 24334:
+ case 24336:
+ case 24338:
+ case 24340:
+ case 24342:
+ case 24344:
+ case 24346:
+ case 24348:
+ case 24350:
+ case 24352:
+ case 24354:
+ case 24356:
+ case 24358:
+ case 24360:
+ case 24362:
+ case 24364:
+ case 24366:
+ case 24368:
+ case 24370:
+ case 24372:
+ case 24374:
+ case 24376:
+ case 24378:
+ case 24380:
+ case 24382:
+ case 24384:
+ case 24386:
+ case 24388:
+ case 24390:
+ case 24392:
+ case 24394:
+ case 24396:
+ case 24398:
+ case 24400:
+ case 24402:
+ case 24404:
+ case 24406:
+ case 24408:
+ case 24410:
+ case 24412:
+ case 24414:
+ case 24416:
+ case 24418:
+ case 24420:
+ case 24422:
+ case 24424:
+ case 24426:
+ case 24428:
+ case 24430:
+ case 24432:
+ case 24434:
+ case 24436:
+ case 24438:
+ case 24440:
+ case 24442:
+ case 24444:
+ case 24446:
+ case 24448:
+ case 24450:
+ case 24452:
+ case 24454:
+ case 24456:
+ case 24458:
+ case 24460:
+ case 24462:
+ case 24464:
+ case 24466:
+ case 24468:
+ case 24470:
+ case 24472:
+ case 24474:
+ case 24476:
+ case 24478:
+ case 24480:
+ case 24482:
+ case 24484:
+ case 24486:
+ case 24488:
+ case 24490:
+ case 24492:
+ case 24494:
+ case 24496:
+ case 24498:
+ case 24500:
+ case 24502:
+ case 24504:
+ case 24506:
+ case 24508:
+ case 24510:
+ case 24512:
+ case 24514:
+ case 24516:
+ case 24518:
+ case 24520:
+ case 24522:
+ case 24524:
+ case 24526:
+ case 24528:
+ case 24530:
+ case 24532:
+ case 24534:
+ case 24536:
+ case 24538:
+ case 24540:
+ case 24542:
+ case 24544:
+ case 24546:
+ case 24548:
+ case 24550:
+ case 24552:
+ case 24554:
+ case 24556:
+ case 24558:
+ case 24560:
+ case 24562:
+ case 24564:
+ case 24566:
+ case 24568:
+ case 24570:
+ case 24572:
+ case 24574:
+ case 24576:
+ case 24578:
+ case 24580:
+ case 24582:
+ case 24584:
+ case 24586:
+ case 24588:
+ case 24590:
+ case 24592:
+ case 24594:
+ case 24596:
+ case 24598:
+ case 24600:
+ case 24602:
+ case 24604:
+ case 24606:
+ case 24608:
+ case 24610:
+ case 24612:
+ case 24614:
+ break block10;
+ default:
+ break block;
+ };
+ }
+ return 0 | 0;
+ }
+ return 1 | 0;
+ }
+
+ function $20() {
+ return 3 | 0;
+ }
+
+ function $21() {
+ return 4 | 0;
+ }
+
+ function $22() {
+ return 5 | 0;
+ }
+
+ function $23() {
+ return 9 | 0;
+ }
+
+ function $25() {
+ return 8 | 0;
+ }
+
+ function $28() {
+ return 10 | 0;
+ }
+
+ function $29() {
+ return 11 | 0;
+ }
+
+ function $30() {
+ return 7 | 0;
+ }
+
+ function $32($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ if ($0) {
+ $1_1 = 3
+ }
+ return $1_1 | 0;
+ }
+
+ function $33($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ if (!$0) {
+ $1_1 = 4
+ }
+ return $1_1 | 0;
+ }
+
+ function $34($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ return 5 | 0;
+ }
+
+ function $35($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ return 6 | 0;
+ }
+
+ function $38() {
+ return 12 | 0;
+ }
+
+ function $39() {
+ return 13 | 0;
+ }
+
+ function $40() {
+ return 14 | 0;
+ }
+
+ function $41() {
+ return 20 | 0;
+ }
+
+ function $42() {
+ return 21 | 0;
+ }
+
+ function $43() {
+ return 22 | 0;
+ }
+
+ function $44() {
+ return 23 | 0;
+ }
+
+ function $45() {
+ return 17 | 0;
+ }
+
+ function $47() {
+ return 30 | 0;
+ }
+
+ function $49() {
+ return 31 | 0;
+ }
+
+ function $50() {
+ return 32 | 0;
+ }
+
+ function $51() {
+ return 33 | 0;
+ }
+
+ function $54() {
+ return 45 | 0;
+ }
+
+ function $55() {
+ return 44 | 0;
+ }
+
+ function $56() {
+ return 43 | 0;
+ }
+
+ function $57() {
+ return 42 | 0;
+ }
+
+ function $58() {
+ return 41 | 0;
+ }
+
+ function $59() {
+ return 40 | 0;
+ }
+
+ function $60($0) {
+ $0 = $0 | 0;
+ var $1_1 = 0, $2 = 0, $3 = 0;
+ $1_1 = 16;
+ $2 = $1_1;
+ $3 = $1_1;
+ block : {
+ block11 : {
+ block12 : {
+ switch ($0 | 0) {
+ case 1:
+ break block11;
+ case 0:
+ break block12;
+ default:
+ break block;
+ };
+ }
+ $3 = $1_1 + 2 | 0;
+ }
+ $2 = $3 + 1 | 0;
+ }
+ return $2 | 0;
+ }
+
+ function $61($0) {
+ $0 = $0 | 0;
+ var $1_1 = 0, $2 = 0;
+ $1_1 = 8;
+ $2 = $1_1;
+ block : {
+ block13 : {
+ block14 : {
+ switch ($0 | 0) {
+ case 0:
+ break block;
+ case 1:
+ break block13;
+ default:
+ break block14;
+ };
+ }
+ $1_1 = 16;
+ }
+ $2 = $1_1 + 1 | 0;
+ }
+ return $2 | 0;
+ }
+
+ function $62($0) {
+ $0 = $0 | 0;
+ var $1_1 = 0, $2 = 0;
+ $1_1 = 8;
+ $2 = $1_1;
+ block : {
+ block15 : {
+ block16 : {
+ switch ($0 | 0) {
+ case 1:
+ break block15;
+ case 0:
+ break block16;
+ default:
+ break block;
+ };
+ }
+ $1_1 = 16;
+ }
+ $2 = $1_1 + 1 | 0;
+ }
+ return $2 | 0;
+ }
+
+ function $63($0) {
+ $0 = $0 | 0;
+ var $1_1 = 0, $2 = 0;
+ block : {
+ $2 = 8;
+ $1_1 = $2;
+ if (!($0 - 1 | 0)) {
+ break block
+ }
+ $1_1 = $2 + 1 | 0;
+ }
+ return $1_1 | 0;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "type_i32": $1,
+ "type_i64": $1,
+ "type_f32": $1,
+ "type_f64": $1,
+ "type_i32_value": $5,
+ "type_i64_value": $6,
+ "type_f32_value": $7,
+ "type_f64_value": $8,
+ "empty": $9,
+ "empty_value": $10,
+ "singleton": $11,
+ "singleton_value": $12,
+ "multiple": $13,
+ "multiple_value": $14,
+ "large": $15,
+ "as_block_first": $1,
+ "as_block_mid": $1,
+ "as_block_last": $1,
+ "as_block_value": $6,
+ "as_loop_first": $20,
+ "as_loop_mid": $21,
+ "as_loop_last": $22,
+ "as_br_value": $23,
+ "as_br_if_cond": $1,
+ "as_br_if_value": $25,
+ "as_br_if_value_cond": $23,
+ "as_br_table_index": $1,
+ "as_br_table_value": $28,
+ "as_br_table_value_index": $29,
+ "as_return_value": $30,
+ "as_if_cond": $6,
+ "as_if_then": $32,
+ "as_if_else": $33,
+ "as_select_first": $34,
+ "as_select_second": $35,
+ "as_select_cond": $30,
+ "as_call_first": $38,
+ "as_call_mid": $39,
+ "as_call_last": $40,
+ "as_call_indirect_first": $41,
+ "as_call_indirect_mid": $42,
+ "as_call_indirect_last": $43,
+ "as_call_indirect_func": $44,
+ "as_local_set_value": $45,
+ "as_load_address": $6,
+ "as_loadN_address": $47,
+ "as_store_address": $47,
+ "as_store_value": $49,
+ "as_storeN_address": $50,
+ "as_storeN_value": $51,
+ "as_unary_operand": $20,
+ "as_binary_left": $20,
+ "as_binary_right": $54,
+ "as_test_operand": $55,
+ "as_compare_left": $56,
+ "as_compare_right": $57,
+ "as_convert_operand": $58,
+ "as_grow_memory_size": $59,
+ "nested_block_value": $60,
+ "nested_br_value": $61,
+ "nested_br_if_value": $62,
+ "nested_br_if_value_cond": $63,
+ "nested_br_table_value": $62,
+ "nested_br_table_value_index": $63
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var type_i32 = retasmFunc.type_i32;
+export var type_i64 = retasmFunc.type_i64;
+export var type_f32 = retasmFunc.type_f32;
+export var type_f64 = retasmFunc.type_f64;
+export var type_i32_value = retasmFunc.type_i32_value;
+export var type_i64_value = retasmFunc.type_i64_value;
+export var type_f32_value = retasmFunc.type_f32_value;
+export var type_f64_value = retasmFunc.type_f64_value;
+export var empty = retasmFunc.empty;
+export var empty_value = retasmFunc.empty_value;
+export var singleton = retasmFunc.singleton;
+export var singleton_value = retasmFunc.singleton_value;
+export var multiple = retasmFunc.multiple;
+export var multiple_value = retasmFunc.multiple_value;
+export var large = retasmFunc.large;
+export var as_block_first = retasmFunc.as_block_first;
+export var as_block_mid = retasmFunc.as_block_mid;
+export var as_block_last = retasmFunc.as_block_last;
+export var as_block_value = retasmFunc.as_block_value;
+export var as_loop_first = retasmFunc.as_loop_first;
+export var as_loop_mid = retasmFunc.as_loop_mid;
+export var as_loop_last = retasmFunc.as_loop_last;
+export var as_br_value = retasmFunc.as_br_value;
+export var as_br_if_cond = retasmFunc.as_br_if_cond;
+export var as_br_if_value = retasmFunc.as_br_if_value;
+export var as_br_if_value_cond = retasmFunc.as_br_if_value_cond;
+export var as_br_table_index = retasmFunc.as_br_table_index;
+export var as_br_table_value = retasmFunc.as_br_table_value;
+export var as_br_table_value_index = retasmFunc.as_br_table_value_index;
+export var as_return_value = retasmFunc.as_return_value;
+export var as_if_cond = retasmFunc.as_if_cond;
+export var as_if_then = retasmFunc.as_if_then;
+export var as_if_else = retasmFunc.as_if_else;
+export var as_select_first = retasmFunc.as_select_first;
+export var as_select_second = retasmFunc.as_select_second;
+export var as_select_cond = retasmFunc.as_select_cond;
+export var as_call_first = retasmFunc.as_call_first;
+export var as_call_mid = retasmFunc.as_call_mid;
+export var as_call_last = retasmFunc.as_call_last;
+export var as_call_indirect_first = retasmFunc.as_call_indirect_first;
+export var as_call_indirect_mid = retasmFunc.as_call_indirect_mid;
+export var as_call_indirect_last = retasmFunc.as_call_indirect_last;
+export var as_call_indirect_func = retasmFunc.as_call_indirect_func;
+export var as_local_set_value = retasmFunc.as_local_set_value;
+export var as_load_address = retasmFunc.as_load_address;
+export var as_loadN_address = retasmFunc.as_loadN_address;
+export var as_store_address = retasmFunc.as_store_address;
+export var as_store_value = retasmFunc.as_store_value;
+export var as_storeN_address = retasmFunc.as_storeN_address;
+export var as_storeN_value = retasmFunc.as_storeN_value;
+export var as_unary_operand = retasmFunc.as_unary_operand;
+export var as_binary_left = retasmFunc.as_binary_left;
+export var as_binary_right = retasmFunc.as_binary_right;
+export var as_test_operand = retasmFunc.as_test_operand;
+export var as_compare_left = retasmFunc.as_compare_left;
+export var as_compare_right = retasmFunc.as_compare_right;
+export var as_convert_operand = retasmFunc.as_convert_operand;
+export var as_grow_memory_size = retasmFunc.as_grow_memory_size;
+export var nested_block_value = retasmFunc.nested_block_value;
+export var nested_br_value = retasmFunc.nested_br_value;
+export var nested_br_if_value = retasmFunc.nested_br_if_value;
+export var nested_br_if_value_cond = retasmFunc.nested_br_if_value_cond;
+export var nested_br_table_value = retasmFunc.nested_br_table_value;
+export var nested_br_table_value_index = retasmFunc.nested_br_table_value_index;
diff --git a/test/wasm2js/br_table_to_loop.2asm.js b/test/wasm2js/br_table_to_loop.2asm.js
index 0158cc8ea..0e3257559 100644
--- a/test/wasm2js/br_table_to_loop.2asm.js
+++ b/test/wasm2js/br_table_to_loop.2asm.js
@@ -26,7 +26,7 @@ function asmFunc(global, env, buffer) {
loop : while (1) {
switch (1 | 0) {
case 1:
- continue;
+ continue loop;
default:
break block;
};
@@ -41,7 +41,7 @@ function asmFunc(global, env, buffer) {
case 1:
break block;
default:
- continue;
+ continue loop;
};
};
}
diff --git a/test/wasm2js/br_table_to_loop.2asm.js.opt b/test/wasm2js/br_table_to_loop.2asm.js.opt
new file mode 100644
index 000000000..47e7dbea3
--- /dev/null
+++ b/test/wasm2js/br_table_to_loop.2asm.js.opt
@@ -0,0 +1,42 @@
+
+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;
+ function $0() {
+ loop : while (1) continue;
+ }
+
+ function $1() {
+
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "exp1": $0,
+ "exp2": $1
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var exp1 = retasmFunc.exp1;
+export var exp2 = retasmFunc.exp2;
diff --git a/test/wasm2js/call.2asm.js b/test/wasm2js/call.2asm.js
index 986856e32..06025681f 100644
--- a/test/wasm2js/call.2asm.js
+++ b/test/wasm2js/call.2asm.js
@@ -25,120 +25,135 @@ function asmFunc(global, env, buffer) {
var setTempRet0 = env.setTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function const_i32() {
- return 306;
+ return 306 | 0;
}
function const_i64() {
i64toi32_i32$HIGH_BITS = 0;
- return 356;
+ return 356 | 0;
}
function const_f32() {
- return Math_fround(3890.0);
+ return Math_fround(Math_fround(3890.0));
}
function const_f64() {
- return 3940.0;
+ return +(3940.0);
}
function id_i32($0) {
- return $0;
+ $0 = $0 | 0;
+ return $0 | 0;
}
function id_i64($0, $0$hi) {
+ $0 = $0 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$0 = 0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return $0;
+ return $0 | 0;
}
function id_f32($0) {
- return $0;
+ $0 = Math_fround($0);
+ return Math_fround($0);
}
function id_f64($0) {
- return $0;
+ $0 = +$0;
+ return +$0;
}
function f32_i32($0, $1) {
- return $1;
+ $0 = Math_fround($0);
+ $1 = $1 | 0;
+ return $1 | 0;
}
function i32_i64($0, $1, $1$hi) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $1$hi = $1$hi | 0;
var i64toi32_i32$0 = 0;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return $1;
+ return $1 | 0;
}
function f64_f32($0, $1) {
- return $1;
+ $0 = +$0;
+ $1 = Math_fround($1);
+ return Math_fround($1);
}
function i64_f64($0, $0$hi, $1) {
- return $1;
+ $0 = $0 | 0;
+ $0$hi = $0$hi | 0;
+ $1 = +$1;
+ return +$1;
}
function $12() {
- return const_i32() | 0;
+ return const_i32() | 0 | 0;
}
function $13() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- i64toi32_i32$0 = const_i64();
+ i64toi32_i32$0 = const_i64() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
function $14() {
- return Math_fround(const_f32());
+ return Math_fround(Math_fround(const_f32()));
}
function $15() {
- return +const_f64();
+ return +(+const_f64());
}
function $16() {
- return id_i32(32) | 0;
+ return id_i32(32 | 0) | 0 | 0;
}
function $17() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = 0;
- i64toi32_i32$0 = id_i64(64, i64toi32_i32$0);
+ i64toi32_i32$0 = id_i64(64 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
function $18() {
- return Math_fround(id_f32(Math_fround(1.3200000524520874)));
+ return Math_fround(Math_fround(id_f32(Math_fround(Math_fround(1.3200000524520874)))));
}
function $19() {
- return +id_f64(1.64);
+ return +(+id_f64(+(1.64)));
}
function $20() {
- return f32_i32(Math_fround(32.099998474121094), 32) | 0;
+ return f32_i32(Math_fround(Math_fround(32.099998474121094)), 32 | 0) | 0 | 0;
}
function $21() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = 0;
- i64toi32_i32$0 = i32_i64(32, 64, i64toi32_i32$0);
+ i64toi32_i32$0 = i32_i64(32 | 0, 64 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
function $22() {
- return Math_fround(f64_f32(64.0, Math_fround(32.0)));
+ return Math_fround(Math_fround(f64_f32(+(64.0), Math_fround(Math_fround(32.0)))));
}
function $23() {
- return +i64_f64(64, 0, 64.1);
+ return +(+i64_f64(64 | 0, 0 | 0, +(64.1)));
}
function fac($0, $0$hi) {
@@ -146,7 +161,7 @@ function asmFunc(global, env, buffer) {
$0$hi = $0$hi | 0;
var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $8 = 0, $8$hi = 0, i64toi32_i32$3 = 0, $6 = 0, $6$hi = 0;
i64toi32_i32$0 = $0$hi;
- if (!($0 | i64toi32_i32$0)) {
+ if (!($0 | i64toi32_i32$0 | 0)) {
{
i64toi32_i32$0 = 0;
$8 = 1;
@@ -159,13 +174,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = 1;
i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + 0 | 0;
i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0;
- i64toi32_i32$5 = fac(i64toi32_i32$2 - i64toi32_i32$3 | 0, i64toi32_i32$5);
+ i64toi32_i32$5 = fac(i64toi32_i32$2 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
$6 = i64toi32_i32$5;
$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$5 = $6$hi;
- i64toi32_i32$5 = __wasm_i64_mul($0, i64toi32_i32$0, $6, i64toi32_i32$5);
+ i64toi32_i32$5 = __wasm_i64_mul($0 | 0, i64toi32_i32$0 | 0, $6 | 0, i64toi32_i32$5 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
$8 = i64toi32_i32$5;
$8$hi = i64toi32_i32$2;
@@ -184,7 +199,7 @@ function asmFunc(global, env, buffer) {
$1$hi = $1$hi | 0;
var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $11 = 0, $11$hi = 0, i64toi32_i32$3 = 0, $6 = 0, $6$hi = 0, $9 = 0, $9$hi = 0;
i64toi32_i32$0 = $0$hi;
- if (!($0 | i64toi32_i32$0)) {
+ if (!($0 | i64toi32_i32$0 | 0)) {
{
i64toi32_i32$0 = $1$hi;
$11 = $1;
@@ -203,13 +218,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = $1$hi;
i64toi32_i32$5 = i64toi32_i32$0;
i64toi32_i32$2 = $1$hi;
- i64toi32_i32$2 = __wasm_i64_mul($0, i64toi32_i32$5, $1, i64toi32_i32$2);
+ i64toi32_i32$2 = __wasm_i64_mul($0 | 0, i64toi32_i32$5 | 0, $1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$5 = i64toi32_i32$HIGH_BITS;
$9 = i64toi32_i32$2;
$9$hi = i64toi32_i32$5;
i64toi32_i32$5 = $6$hi;
i64toi32_i32$2 = $9$hi;
- i64toi32_i32$2 = fac_acc($6, i64toi32_i32$5, $9, i64toi32_i32$2);
+ i64toi32_i32$2 = fac_acc($6 | 0, i64toi32_i32$5 | 0, $9 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$5 = i64toi32_i32$HIGH_BITS;
$11 = i64toi32_i32$2;
$11$hi = i64toi32_i32$5;
@@ -229,7 +244,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 1;
- if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) {
+ if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) {
{
i64toi32_i32$2 = 0;
$10 = 1;
@@ -245,7 +260,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0;
i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0;
- i64toi32_i32$5 = fib(i64toi32_i32$4, i64toi32_i32$5);
+ i64toi32_i32$5 = fib(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0;
i64toi32_i32$3 = i64toi32_i32$HIGH_BITS;
$5 = i64toi32_i32$5;
$5$hi = i64toi32_i32$3;
@@ -258,7 +273,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0;
i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0;
i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0;
- i64toi32_i32$4 = fib(i64toi32_i32$0, i64toi32_i32$4);
+ i64toi32_i32$4 = fib(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
$8 = i64toi32_i32$4;
$8$hi = i64toi32_i32$2;
@@ -286,7 +301,7 @@ function asmFunc(global, env, buffer) {
$0$hi = $0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $6 = 0, i64toi32_i32$3 = 0;
i64toi32_i32$0 = $0$hi;
- if (!($0 | i64toi32_i32$0)) {
+ if (!($0 | i64toi32_i32$0 | 0)) {
$6 = 44
} else {
{
@@ -294,7 +309,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = 1;
i64toi32_i32$5 = ($0 >>> 0 < i64toi32_i32$3 >>> 0) + 0 | 0;
i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0;
- $6 = odd($0 - i64toi32_i32$3 | 0, i64toi32_i32$5);
+ $6 = odd($0 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0) | 0;
}
}
return $6 | 0;
@@ -305,7 +320,7 @@ function asmFunc(global, env, buffer) {
$0$hi = $0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $6 = 0, i64toi32_i32$3 = 0;
i64toi32_i32$0 = $0$hi;
- if (!($0 | i64toi32_i32$0)) {
+ if (!($0 | i64toi32_i32$0 | 0)) {
$6 = 99
} else {
{
@@ -313,7 +328,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = 1;
i64toi32_i32$5 = ($0 >>> 0 < i64toi32_i32$3 >>> 0) + 0 | 0;
i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0;
- $6 = even($0 - i64toi32_i32$3 | 0, i64toi32_i32$5);
+ $6 = even($0 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0) | 0;
}
}
return $6 | 0;
@@ -333,83 +348,85 @@ function asmFunc(global, env, buffer) {
function legalstub$13() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $13();
+ i64toi32_i32$0 = $13() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$17() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $17();
+ i64toi32_i32$0 = $17() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$21() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $21();
+ i64toi32_i32$0 = $21() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$fac($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -418,16 +435,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -435,32 +452,36 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = fac(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = fac(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$fac_acc($0, $1, $2, $3) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2 = $2 | 0;
+ $3 = $3 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $10 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6 = $0;
@@ -469,16 +490,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -486,8 +507,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2;
@@ -496,16 +517,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -513,36 +534,38 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = fac_acc($10, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = fac_acc($10 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4;
+ return $4 | 0;
}
function legalstub$fib($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -551,16 +574,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -568,32 +591,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = fib(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = fib(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$even($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3 = $0;
@@ -602,16 +627,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -619,11 +644,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return even(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return even(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$odd($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3 = $0;
@@ -632,16 +659,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -649,33 +676,37 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return odd(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return odd(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21_1 = 0, $22_1 = 0, var$6 = 0, $24 = 0, $17_1 = 0, $18_1 = 0, $23_1 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17_1 = Math_imul(var$4, var$5);
$18_1 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23_1 = $17_1 + Math_imul($18_1, $21_1) | 0;
@@ -683,39 +714,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29 = $23_1 + Math_imul($22_1, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45 = $29 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45 = $29 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -724,23 +755,27 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/call_indirect.2asm.js b/test/wasm2js/call_indirect.2asm.js
index e4dfd0451..93c3e9999 100644
--- a/test/wasm2js/call_indirect.2asm.js
+++ b/test/wasm2js/call_indirect.2asm.js
@@ -38,7 +38,7 @@ function asmFunc(global, env, buffer) {
}
function const_f64() {
- return 3940.0;
+ return +(3940.0);
}
function id_i32($0) {
@@ -119,7 +119,7 @@ function asmFunc(global, env, buffer) {
}
function $16() {
- return FUNCTION_TABLE[0]() | 0;
+ return FUNCTION_TABLE[0]() | 0 | 0;
}
function $17() {
@@ -135,7 +135,7 @@ function asmFunc(global, env, buffer) {
}
function $19() {
- return +FUNCTION_TABLE[3]();
+ return +(+FUNCTION_TABLE[3]());
}
function $20() {
@@ -148,7 +148,7 @@ function asmFunc(global, env, buffer) {
}
function $21() {
- return FUNCTION_TABLE[4](32) | 0;
+ return FUNCTION_TABLE[4](32) | 0 | 0;
}
function $22() {
@@ -165,11 +165,11 @@ function asmFunc(global, env, buffer) {
}
function $24() {
- return +FUNCTION_TABLE[7](1.64);
+ return +(+FUNCTION_TABLE[7](1.64));
}
function $25() {
- return FUNCTION_TABLE[8](Math_fround(32.099998474121094), 32) | 0;
+ return FUNCTION_TABLE[8](Math_fround(32.099998474121094), 32) | 0 | 0;
}
function $26() {
@@ -186,7 +186,7 @@ function asmFunc(global, env, buffer) {
}
function $28() {
- return +FUNCTION_TABLE[11](64, 0, 64.1);
+ return +(+FUNCTION_TABLE[11](64, 0, 64.1));
}
function $29($0, $1, $1$hi) {
@@ -216,7 +216,7 @@ function asmFunc(global, env, buffer) {
$0$hi = $0$hi | 0;
var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $8 = 0, $8$hi = 0, i64toi32_i32$3 = 0, $6 = 0, $6$hi = 0;
i64toi32_i32$0 = $0$hi;
- if (!($0 | i64toi32_i32$0)) {
+ if (!($0 | i64toi32_i32$0 | 0)) {
{
i64toi32_i32$0 = 0;
$8 = 1;
@@ -235,7 +235,7 @@ function asmFunc(global, env, buffer) {
$6$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$5 = $6$hi;
- i64toi32_i32$5 = __wasm_i64_mul($0, i64toi32_i32$0, $6, i64toi32_i32$5);
+ i64toi32_i32$5 = __wasm_i64_mul($0 | 0, i64toi32_i32$0 | 0, $6 | 0, i64toi32_i32$5 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
$8 = i64toi32_i32$5;
$8$hi = i64toi32_i32$2;
@@ -255,7 +255,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 1;
- if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) {
+ if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) {
{
i64toi32_i32$2 = 0;
$10 = 1;
@@ -343,109 +343,112 @@ function asmFunc(global, env, buffer) {
function legalstub$17() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $17();
+ i64toi32_i32$0 = $17() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$20() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $20();
+ i64toi32_i32$0 = $20() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$22() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $22();
+ i64toi32_i32$0 = $22() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$26() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $26();
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$29($0, $1, $2) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2 = $2 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $14 = 0, $15 = 0, $4 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $3 = 0, $3$hi = 0;
$4 = $0;
i64toi32_i32$0 = 0;
@@ -455,16 +458,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $2;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$14 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $14 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -472,58 +475,61 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $14;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $29($4, i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $29($4 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$3 = i64toi32_i32$2;
$3$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $15 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $15 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $15 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $15 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($15 | 0);
i64toi32_i32$2 = $3$hi;
- return $3;
+ return $3 | 0;
}
function legalstub$30($0) {
+ $0 = $0 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $30($0);
+ i64toi32_i32$0 = $30($0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($8 | 0);
i64toi32_i32$0 = $1$hi;
- return $1;
+ return $1 | 0;
}
function legalstub$fac($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -532,16 +538,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -549,32 +555,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = fac(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = fac(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$fib($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -583,16 +591,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -600,54 +608,58 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = fib(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = fib(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21_1 = 0, $22_1 = 0, var$6 = 0, $24_1 = 0, $17_1 = 0, $18_1 = 0, $23_1 = 0, $29_1 = 0, $45 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17_1 = Math_imul(var$4, var$5);
$18_1 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23_1 = $17_1 + Math_imul($18_1, $21_1) | 0;
@@ -655,39 +667,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29_1 = $23_1 + Math_imul($22_1, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45 = $29_1 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45 = $29_1 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -696,23 +708,27 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24_1;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
var FUNCTION_TABLE = [const_i32, const_i64, const_f32, const_f64, id_i32, id_i64, id_f32, id_f64, f32_i32, i32_i64, f64_f32, i64_f64, fac, fib, even, odd, runaway, mutual_runaway1, mutual_runaway2, over_i32_duplicate, over_i64_duplicate, over_f32_duplicate, over_f64_duplicate];
diff --git a/test/wasm2js/conversions-modified.2asm.js b/test/wasm2js/conversions-modified.2asm.js
index d866d9cdf..5dd0ca074 100644
--- a/test/wasm2js/conversions-modified.2asm.js
+++ b/test/wasm2js/conversions-modified.2asm.js
@@ -58,7 +58,7 @@ function asmFunc(global, env, buffer) {
x = x | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0;
i64toi32_i32$1 = x;
- i64toi32_i32$0 = i64toi32_i32$1 >> 31;
+ i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
@@ -84,7 +84,7 @@ function asmFunc(global, env, buffer) {
function $4(x) {
x = Math_fround(x);
- return ~~x >>> 0;
+ return ~~x >>> 0 | 0;
}
function $5(x) {
@@ -94,7 +94,7 @@ function asmFunc(global, env, buffer) {
function $6(x) {
x = +x;
- return ~~x >>> 0;
+ return ~~x >>> 0 | 0;
}
function $7(x) {
@@ -200,7 +200,7 @@ function asmFunc(global, env, buffer) {
function $13(x) {
x = x | 0;
- return +(x | 0);
+ return +(+(x | 0));
}
function $14(x, x$hi) {
@@ -226,7 +226,7 @@ function asmFunc(global, env, buffer) {
function $17(x) {
x = x | 0;
- return +(x >>> 0);
+ return +(+(x >>> 0));
}
function $18(x, x$hi) {
@@ -239,7 +239,7 @@ function asmFunc(global, env, buffer) {
function $19(x) {
x = Math_fround(x);
- return +x;
+ return +(+x);
}
function $20(x) {
@@ -259,7 +259,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
wasm2js_scratch_store_i32(0 | 0, x | 0);
wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
- return +wasm2js_scratch_load_f64();
+ return +(+wasm2js_scratch_load_f64());
}
function $23(x) {
@@ -278,58 +278,62 @@ function asmFunc(global, env, buffer) {
}
function legalstub$0($0_1) {
+ $0_1 = $0_1 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $0($0_1);
+ i64toi32_i32$0 = $0($0_1 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8_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($8_1 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$1($0_1) {
+ $0_1 = $0_1 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $1($0_1);
+ i64toi32_i32$0 = $1($0_1 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8_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($8_1 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0_1;
@@ -338,16 +342,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -355,115 +359,121 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$7($0_1) {
+ $0_1 = Math_fround($0_1);
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $7($0_1);
+ i64toi32_i32$0 = $7(Math_fround($0_1)) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8_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($8_1 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$8($0_1) {
+ $0_1 = Math_fround($0_1);
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $8($0_1);
+ i64toi32_i32$0 = $8(Math_fround($0_1)) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8_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($8_1 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$9($0_1) {
+ $0_1 = +$0_1;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $9($0_1);
+ i64toi32_i32$0 = $9(+$0_1) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8_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($8_1 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$10($0_1) {
+ $0_1 = +$0_1;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $10($0_1);
+ i64toi32_i32$0 = $10(+$0_1) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8_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($8_1 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$12($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0_1;
@@ -472,16 +482,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -489,11 +499,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $12(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return Math_fround(Math_fround($12(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0)));
}
function legalstub$14($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0_1;
@@ -502,16 +514,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -519,11 +531,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $14(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return +(+$14(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0));
}
function legalstub$16($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0_1;
@@ -532,16 +546,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -549,11 +563,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $16(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return Math_fround(Math_fround($16(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0)));
}
function legalstub$18($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0_1;
@@ -562,16 +578,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -579,11 +595,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $18(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return +(+$18(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0));
}
function legalstub$22($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0_1;
@@ -592,16 +610,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -609,34 +627,35 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $22(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return +(+$22(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0));
}
function legalstub$24($0_1) {
+ $0_1 = +$0_1;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $24($0_1);
+ i64toi32_i32$0 = $24(+$0_1) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8_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($8_1 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/conversions-modified.2asm.js.opt b/test/wasm2js/conversions-modified.2asm.js.opt
new file mode 100644
index 000000000..1e9b23fb5
--- /dev/null
+++ b/test/wasm2js/conversions-modified.2asm.js.opt
@@ -0,0 +1,282 @@
+import { setTempRet0 } from 'env';
+
+
+ var scratchBuffer = new ArrayBuffer(8);
+ var i32ScratchView = new Int32Array(scratchBuffer);
+ var f32ScratchView = new Float32Array(scratchBuffer);
+ var f64ScratchView = new Float64Array(scratchBuffer);
+
+ function wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
+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 $3($0) {
+ $0 = Math_fround($0);
+ return ~~$0 | 0;
+ }
+
+ function $4($0) {
+ $0 = Math_fround($0);
+ return ~~$0 >>> 0;
+ }
+
+ function $5($0) {
+ $0 = +$0;
+ return ~~$0 | 0;
+ }
+
+ function $6($0) {
+ $0 = +$0;
+ return ~~$0 >>> 0;
+ }
+
+ function $7($0) {
+ $0 = Math_fround($0);
+ var $1 = 0, $2 = 0, $3_1 = 0;
+ $3_1 = ~~$0 >>> 0;
+ if (Math_fround(Math_abs($0)) >= Math_fround(1.0)) {
+ {
+ if ($0 > Math_fround(0.0)) {
+ $1 = ~~Math_fround(Math_min(Math_fround(Math_floor(Math_fround($0 / Math_fround(4294967296.0)))), Math_fround(4294967296.0))) >>> 0
+ } else {
+ $1 = ~~Math_fround(Math_ceil(Math_fround(Math_fround($0 - Math_fround(~~$0 >>> 0 >>> 0)) / Math_fround(4294967296.0)))) >>> 0
+ }
+ $2 = $1;
+ }
+ } else {
+ $2 = 0
+ }
+ i64toi32_i32$HIGH_BITS = $2;
+ return $3_1 | 0;
+ }
+
+ function $9($0) {
+ $0 = +$0;
+ var $1 = 0, $2 = 0, $3_1 = 0;
+ $3_1 = ~~$0 >>> 0;
+ if (Math_abs($0) >= 1.0) {
+ {
+ if ($0 > 0.0) {
+ $1 = ~~Math_min(Math_floor($0 / 4294967296.0), 4294967295.0) >>> 0
+ } else {
+ $1 = ~~Math_ceil(($0 - +(~~$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0
+ }
+ $2 = $1;
+ }
+ } else {
+ $2 = 0
+ }
+ i64toi32_i32$HIGH_BITS = $2;
+ return $3_1 | 0;
+ }
+
+ function $11($0) {
+ $0 = $0 | 0;
+ return Math_fround(Math_fround($0 | 0));
+ }
+
+ function $13($0) {
+ $0 = $0 | 0;
+ return +($0 | 0);
+ }
+
+ function $15($0) {
+ $0 = $0 | 0;
+ return Math_fround(Math_fround($0 >>> 0));
+ }
+
+ function $17($0) {
+ $0 = $0 | 0;
+ return +($0 >>> 0);
+ }
+
+ function $19($0) {
+ $0 = Math_fround($0);
+ return +$0;
+ }
+
+ function $20($0) {
+ $0 = +$0;
+ return Math_fround(Math_fround($0));
+ }
+
+ function $21($0) {
+ $0 = $0 | 0;
+ return Math_fround((wasm2js_scratch_store_i32(0, $0), wasm2js_scratch_load_f32()));
+ }
+
+ function $23($0) {
+ $0 = Math_fround($0);
+ return (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(0)) | 0;
+ }
+
+ function legalstub$0($0) {
+ i64toi32_i32$HIGH_BITS = $0 >> 31;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0;
+ }
+
+ function legalstub$1($0) {
+ i64toi32_i32$HIGH_BITS = 0;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0;
+ }
+
+ function legalstub$2($0, $1) {
+ return $0;
+ }
+
+ function legalstub$7($0) {
+ var $1 = 0, $2 = 0, $3_1 = 0, $4_1 = 0;
+ $2 = $7($0);
+ $3_1 = i64toi32_i32$HIGH_BITS;
+ $4_1 = 32;
+ $1 = $4_1 & 31;
+ setTempRet0((32 >>> 0 <= $4_1 >>> 0 ? $3_1 >>> $1 : ((1 << $1) - 1 & $3_1) << 32 - $1 | $2 >>> $1) | 0);
+ return $2;
+ }
+
+ function legalstub$9($0) {
+ var $1 = 0, $2 = 0, $3_1 = 0, $4_1 = 0;
+ $2 = $9($0);
+ $3_1 = i64toi32_i32$HIGH_BITS;
+ $4_1 = 32;
+ $1 = $4_1 & 31;
+ setTempRet0((32 >>> 0 <= $4_1 >>> 0 ? $3_1 >>> $1 : ((1 << $1) - 1 & $3_1) << 32 - $1 | $2 >>> $1) | 0);
+ return $2;
+ }
+
+ function legalstub$12($0, $1) {
+ return Math_fround(+($0 >>> 0) + 4294967296.0 * +($1 | 0));
+ }
+
+ function legalstub$14($0, $1) {
+ return +($0 >>> 0) + 4294967296.0 * +($1 | 0);
+ }
+
+ function legalstub$16($0, $1) {
+ return Math_fround(+($0 >>> 0) + 4294967296.0 * +($1 >>> 0));
+ }
+
+ function legalstub$18($0, $1) {
+ return +($0 >>> 0) + 4294967296.0 * +($1 >>> 0);
+ }
+
+ function legalstub$22($0, $1) {
+ wasm2js_scratch_store_i32(0 | 0, $0 | 0);
+ wasm2js_scratch_store_i32(1 | 0, $1 | 0);
+ return +wasm2js_scratch_load_f64();
+ }
+
+ function legalstub$24($0) {
+ var $1 = 0, $2 = 0;
+ wasm2js_scratch_store_f64(+$0);
+ $1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $2 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $1;
+ $1 = $2;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $1;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "i64_extend_s_i32": legalstub$0,
+ "i64_extend_u_i32": legalstub$1,
+ "i32_wrap_i64": legalstub$2,
+ "i32_trunc_s_f32": $3,
+ "i32_trunc_u_f32": $4,
+ "i32_trunc_s_f64": $5,
+ "i32_trunc_u_f64": $6,
+ "i64_trunc_s_f32": legalstub$7,
+ "i64_trunc_u_f32": legalstub$7,
+ "i64_trunc_s_f64": legalstub$9,
+ "i64_trunc_u_f64": legalstub$9,
+ "f32_convert_s_i32": $11,
+ "f32_convert_s_i64": legalstub$12,
+ "f64_convert_s_i32": $13,
+ "f64_convert_s_i64": legalstub$14,
+ "f32_convert_u_i32": $15,
+ "f32_convert_u_i64": legalstub$16,
+ "f64_convert_u_i32": $17,
+ "f64_convert_u_i64": legalstub$18,
+ "f64_promote_f32": $19,
+ "f32_demote_f64": $20,
+ "f32_reinterpret_i32": $21,
+ "f64_reinterpret_i64": legalstub$22,
+ "i32_reinterpret_f32": $23,
+ "i64_reinterpret_f64": legalstub$24
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+export var i64_extend_s_i32 = retasmFunc.i64_extend_s_i32;
+export var i64_extend_u_i32 = retasmFunc.i64_extend_u_i32;
+export var i32_wrap_i64 = retasmFunc.i32_wrap_i64;
+export var i32_trunc_s_f32 = retasmFunc.i32_trunc_s_f32;
+export var i32_trunc_u_f32 = retasmFunc.i32_trunc_u_f32;
+export var i32_trunc_s_f64 = retasmFunc.i32_trunc_s_f64;
+export var i32_trunc_u_f64 = retasmFunc.i32_trunc_u_f64;
+export var i64_trunc_s_f32 = retasmFunc.i64_trunc_s_f32;
+export var i64_trunc_u_f32 = retasmFunc.i64_trunc_u_f32;
+export var i64_trunc_s_f64 = retasmFunc.i64_trunc_s_f64;
+export var i64_trunc_u_f64 = retasmFunc.i64_trunc_u_f64;
+export var f32_convert_s_i32 = retasmFunc.f32_convert_s_i32;
+export var f32_convert_s_i64 = retasmFunc.f32_convert_s_i64;
+export var f64_convert_s_i32 = retasmFunc.f64_convert_s_i32;
+export var f64_convert_s_i64 = retasmFunc.f64_convert_s_i64;
+export var f32_convert_u_i32 = retasmFunc.f32_convert_u_i32;
+export var f32_convert_u_i64 = retasmFunc.f32_convert_u_i64;
+export var f64_convert_u_i32 = retasmFunc.f64_convert_u_i32;
+export var f64_convert_u_i64 = retasmFunc.f64_convert_u_i64;
+export var f64_promote_f32 = retasmFunc.f64_promote_f32;
+export var f32_demote_f64 = retasmFunc.f32_demote_f64;
+export var f32_reinterpret_i32 = retasmFunc.f32_reinterpret_i32;
+export var f64_reinterpret_i64 = retasmFunc.f64_reinterpret_i64;
+export var i32_reinterpret_f32 = retasmFunc.i32_reinterpret_f32;
+export var i64_reinterpret_f64 = retasmFunc.i64_reinterpret_f64;
diff --git a/test/wasm2js/dynamicLibrary.2asm.js.opt b/test/wasm2js/dynamicLibrary.2asm.js.opt
new file mode 100644
index 000000000..2eebc6f98
--- /dev/null
+++ b/test/wasm2js/dynamicLibrary.2asm.js.opt
@@ -0,0 +1,60 @@
+import { memoryBase } from 'env';
+import { tableBase } from 'env';
+
+function asmFunc(global, env, buffer) {
+ "almost asm";
+ var memory = env.memory;
+ 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 import$memoryBase = env.memoryBase | 0;
+ var import$tableBase = env.tableBase | 0;
+ function foo() {
+
+ }
+
+ var FUNCTION_TABLE = [];
+ FUNCTION_TABLE[import$tableBase + 0] = foo;
+ FUNCTION_TABLE[import$tableBase + 1] = foo;
+ return {
+ "baz": foo
+ };
+}
+
+var memasmFunc = new ArrayBuffer(16777216);
+var assignasmFunc = (
+ function(mem) {
+ var _mem = new Uint8Array(mem);
+ return function(offset, s) {
+ if (typeof Buffer === 'undefined') {
+ var bytes = atob(s);
+ for (var i = 0; i < bytes.length; i++)
+ _mem[offset + i] = bytes.charCodeAt(i);
+ } else {
+ var bytes = Buffer.from(s, 'base64');
+ for (var i = 0; i < bytes.length; i++)
+ _mem[offset + i] = bytes[i];
+ }
+ }
+ }
+ )(memasmFunc);
+assignasmFunc(memoryBase, "ZHluYW1pYyBkYXRh");
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var baz = retasmFunc.baz;
diff --git a/test/wasm2js/emscripten.2asm.js b/test/wasm2js/emscripten.2asm.js
index 52828f46e..79da32b8f 100644
--- a/test/wasm2js/emscripten.2asm.js
+++ b/test/wasm2js/emscripten.2asm.js
@@ -29,10 +29,10 @@ function asmFunc(global, env, buffer) {
function main() {
syscall$6(1 | 0, 2 | 0) | 0;
syscall$54(3 | 0, 4 | 0) | 0;
- FUNCTION_TABLE[HEAP32[0 + 1030 >> 2]]();
- internal(1);
- tabled(1);
- exported(1);
+ FUNCTION_TABLE[HEAP32[(0 + 1030 | 0) >> 2] | 0]();
+ internal(1 | 0) | 0;
+ tabled(1 | 0) | 0;
+ exported(1 | 0) | 0;
}
function other() {
@@ -44,15 +44,15 @@ function asmFunc(global, env, buffer) {
}
function bar() {
- HEAPU8[128 | 0];
- HEAP8[128 | 0];
- HEAPU16[128 >> 1];
- HEAP16[128 >> 1];
- HEAP32[16 >> 2] = 1 + 2;
- HEAPF32[16 >> 2] = Math_fround(3.0) + Math_fround(4.0);
+ HEAPU8[128 >> 0] | 0;
+ HEAP8[128 >> 0] | 0;
+ HEAPU16[128 >> 1] | 0;
+ HEAP16[128 >> 1] | 0;
+ HEAP32[16 >> 2] = 1 + 2 | 0;
+ HEAPF32[16 >> 2] = Math_fround(Math_fround(3.0) + Math_fround(4.0));
HEAPF64[16 >> 3] = 5.0 + 6.0;
- HEAP8[16 | 0] = 7 + 8;
- HEAP16[16 >> 1] = 9 + 10;
+ HEAP8[16 >> 0] = 7 + 8 | 0;
+ HEAP16[16 >> 1] = 9 + 10 | 0;
}
function __growWasmMemory($0) {
@@ -61,7 +61,8 @@ function asmFunc(global, env, buffer) {
}
function internal(x) {
- return x;
+ x = x | 0;
+ return x | 0;
}
function tabled(x) {
@@ -76,7 +77,7 @@ function asmFunc(global, env, buffer) {
function sub_zero(x) {
x = x | 0;
- return x + 5 | 0;
+ return x - -5 | 0 | 0;
}
// EMSCRIPTEN_END_FUNCS;
diff --git a/test/wasm2js/emscripten.2asm.js.opt b/test/wasm2js/emscripten.2asm.js.opt
new file mode 100644
index 000000000..ae1c9c53d
--- /dev/null
+++ b/test/wasm2js/emscripten.2asm.js.opt
@@ -0,0 +1,131 @@
+function instantiate(asmLibraryArg, wasmMemory, FUNCTION_TABLE) {
+
+function asmFunc(global, env, buffer) {
+ "almost asm";
+ var memory = env.memory;
+ 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 syscall$6 = env.__syscall6;
+ var syscall$54 = env.__syscall54;
+ // EMSCRIPTEN_START_FUNCS;
+ function main() {
+ syscall$6(1 | 0, 2 | 0) | 0;
+ syscall$54(3 | 0, 4 | 0) | 0;
+ FUNCTION_TABLE[HEAP32[1030 >> 2]]();
+ }
+
+ function other() {
+ main();
+ }
+
+ function foo() {
+ abort();
+ }
+
+ function bar() {
+ HEAPU8[128 | 0];
+ HEAP8[128 | 0];
+ HEAPU16[128 >> 1];
+ HEAP16[128 >> 1];
+ HEAP32[16 >> 2] = 3;
+ HEAPF32[16 >> 2] = 7;
+ HEAPF64[16 >> 3] = 11;
+ HEAP8[16 | 0] = 15;
+ HEAP16[16 >> 1] = 19;
+ }
+
+ function __growWasmMemory($0) {
+ $0 = $0 | 0;
+ return abort() | 0;
+ }
+
+ function internal($0) {
+ return $0;
+ }
+
+ function sub_zero($0) {
+ $0 = $0 | 0;
+ return $0 + 5 | 0;
+ }
+
+ // EMSCRIPTEN_END_FUNCS;
+ FUNCTION_TABLE[1] = foo;
+ FUNCTION_TABLE[2] = bar;
+ FUNCTION_TABLE[3] = internal;
+ return {
+ "main": main,
+ "other": other,
+ "__growWasmMemory": __growWasmMemory,
+ "exported": internal,
+ "sub_zero": sub_zero
+ };
+}
+
+var writeSegment = (
+ function(mem) {
+ var _mem = new Uint8Array(mem);
+ return function(offset, s) {
+ if (typeof Buffer === 'undefined') {
+ var bytes = atob(s);
+ for (var i = 0; i < bytes.length; i++)
+ _mem[offset + i] = bytes.charCodeAt(i);
+ } else {
+ var bytes = Buffer.from(s, 'base64');
+ for (var i = 0; i < bytes.length; i++)
+ _mem[offset + i] = bytes[i];
+ }
+ }
+ }
+ )(wasmMemory.buffer);
+writeSegment(1024, "aGVsbG8sIHdvcmxkIQoAAJwMAAAtKyAgIDBYMHgAKG51bGwp");
+writeSegment(1072, "EQAKABEREQAAAAAFAAAAAAAACQAAAAAL");
+writeSegment(1104, "EQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERER");
+writeSegment(1153, "Cw==");
+writeSegment(1162, "EQAKChEREQAKAAACAAkLAAAACQALAAAL");
+writeSegment(1211, "DA==");
+writeSegment(1223, "DAAAAAAMAAAAAAkMAAAAAAAMAAAM");
+writeSegment(1269, "Dg==");
+writeSegment(1281, "DQAAAAQNAAAAAAkOAAAAAAAOAAAO");
+writeSegment(1327, "EA==");
+writeSegment(1339, "DwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhIS");
+writeSegment(1394, "EgAAABISEgAAAAAAAAk=");
+writeSegment(1443, "Cw==");
+writeSegment(1455, "CgAAAAAKAAAAAAkLAAAAAAALAAAL");
+writeSegment(1501, "DA==");
+writeSegment(1513, "DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGLTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu");
+return asmFunc({
+ 'Int8Array': Int8Array,
+ 'Int16Array': Int16Array,
+ 'Int32Array': Int32Array,
+ 'Uint8Array': Uint8Array,
+ 'Uint16Array': Uint16Array,
+ 'Uint32Array': Uint32Array,
+ 'Float32Array': Float32Array,
+ 'Float64Array': Float64Array,
+ 'NaN': NaN,
+ 'Infinity': Infinity,
+ 'Math': Math
+ },
+ asmLibraryArg,
+ wasmMemory.buffer
+)
+
+} \ No newline at end of file
diff --git a/test/wasm2js/endianness.2asm.js b/test/wasm2js/endianness.2asm.js
index 2ce7c3f63..81cf13022 100644
--- a/test/wasm2js/endianness.2asm.js
+++ b/test/wasm2js/endianness.2asm.js
@@ -55,65 +55,75 @@ function asmFunc(global, env, buffer) {
var setTempRet0 = env.setTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function i16_store_little(address, value) {
- HEAP8[address | 0] = value;
- HEAP8[address + 1 | 0] = value >>> 8;
+ address = address | 0;
+ value = value | 0;
+ HEAP8[address >> 0] = value;
+ HEAP8[(address + 1 | 0) >> 0] = value >>> 8 | 0;
}
function i32_store_little(address, value) {
- i16_store_little(address, value);
- i16_store_little(address + 2 | 0, value >>> 16);
+ address = address | 0;
+ value = value | 0;
+ i16_store_little(address | 0, value | 0);
+ i16_store_little(address + 2 | 0 | 0, value >>> 16 | 0 | 0);
}
function i64_store_little(address, value, value$hi) {
+ address = address | 0;
+ value = value | 0;
+ value$hi = value$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $6_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = value$hi;
- i32_store_little(address, value);
+ i32_store_little(address | 0, value | 0);
$6_1 = address + 4 | 0;
i64toi32_i32$2 = value;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $9_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $9_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $9_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $9_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;
}
}
- i32_store_little($6_1, $9_1);
+ i32_store_little($6_1 | 0, $9_1 | 0);
}
function i16_load_little(address) {
- return HEAPU8[address | 0] | HEAPU8[address + 1 | 0] << 8;
+ address = address | 0;
+ return HEAPU8[address >> 0] | 0 | ((HEAPU8[(address + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | 0;
}
function i32_load_little(address) {
- return i16_load_little(address) | i16_load_little(address + 2 | 0) << 16;
+ address = address | 0;
+ return i16_load_little(address | 0) | 0 | ((i16_load_little(address + 2 | 0 | 0) | 0) << 16 | 0) | 0 | 0;
}
function i64_load_little(address) {
+ address = address | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $3 = 0, $3$hi = 0, $8$hi = 0;
i64toi32_i32$0 = 0;
- $3 = i32_load_little(address);
+ $3 = i32_load_little(address | 0) | 0;
$3$hi = i64toi32_i32$0;
i64toi32_i32$0 = 0;
- i64toi32_i32$2 = i32_load_little(address + 4 | 0);
+ i64toi32_i32$2 = i32_load_little(address + 4 | 0 | 0) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$9_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $9_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $9_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -121,28 +131,28 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $9_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function $6(value) {
value = value | 0;
- i16_store_little(0, value);
- return HEAP16[0 >> 1] | 0;
+ i16_store_little(0 | 0, value | 0);
+ return HEAP16[0 >> 1] | 0 | 0;
}
function $7(value) {
value = value | 0;
- i16_store_little(0, value);
- return HEAPU16[0 >> 1] | 0;
+ i16_store_little(0 | 0, value | 0);
+ return HEAPU16[0 >> 1] | 0 | 0;
}
function $8(value) {
value = value | 0;
- i32_store_little(0, value);
- return HEAP32[0 >> 2] | 0;
+ i32_store_little(0 | 0, value | 0);
+ return HEAP32[0 >> 2] | 0 | 0;
}
function $9(value, value$hi) {
@@ -150,9 +160,9 @@ function asmFunc(global, env, buffer) {
value$hi = value$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = value$hi;
- i16_store_little(0, value);
- i64toi32_i32$0 = HEAP16[0 >> 1];
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
+ i16_store_little(0 | 0, value | 0);
+ i64toi32_i32$0 = HEAP16[0 >> 1] | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
@@ -162,8 +172,8 @@ function asmFunc(global, env, buffer) {
value$hi = value$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = value$hi;
- i16_store_little(0, value);
- i64toi32_i32$0 = HEAPU16[0 >> 1];
+ i16_store_little(0 | 0, value | 0);
+ i64toi32_i32$0 = HEAPU16[0 >> 1] | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
@@ -174,9 +184,9 @@ function asmFunc(global, env, buffer) {
value$hi = value$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = value$hi;
- i32_store_little(0, value);
- i64toi32_i32$0 = HEAP32[0 >> 2];
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
+ i32_store_little(0 | 0, value | 0);
+ i64toi32_i32$0 = HEAP32[0 >> 2] | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
@@ -186,8 +196,8 @@ function asmFunc(global, env, buffer) {
value$hi = value$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = value$hi;
- i32_store_little(0, value);
- i64toi32_i32$0 = HEAP32[0 >> 2];
+ i32_store_little(0 | 0, value | 0);
+ i64toi32_i32$0 = HEAP32[0 >> 2] | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
@@ -198,18 +208,18 @@ function asmFunc(global, env, buffer) {
value$hi = value$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = value$hi;
- i64_store_little(0, value, i64toi32_i32$0);
+ i64_store_little(0 | 0, value | 0, i64toi32_i32$0 | 0);
i64toi32_i32$2 = 0;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2];
- i64toi32_i32$1 = HEAP32[i64toi32_i32$2 + 4 >> 2];
+ i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
+ i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
function $14(value) {
value = Math_fround(value);
- i32_store_little(0, (wasm2js_scratch_store_f32(value), wasm2js_scratch_load_i32(0)));
- return Math_fround(HEAPF32[0 >> 2]);
+ i32_store_little(0 | 0, (wasm2js_scratch_store_f32(value), wasm2js_scratch_load_i32(0)) | 0);
+ return Math_fround(Math_fround(HEAPF32[0 >> 2]));
}
function $15(value) {
@@ -217,20 +227,20 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0;
wasm2js_scratch_store_f64(+value);
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
- i64_store_little(0, wasm2js_scratch_load_i32(0 | 0) | 0, i64toi32_i32$0);
- return +HEAPF64[0 >> 3];
+ i64_store_little(0 | 0, wasm2js_scratch_load_i32(0 | 0) | 0 | 0, i64toi32_i32$0 | 0);
+ return +(+HEAPF64[0 >> 3]);
}
function $16(value) {
value = value | 0;
HEAP16[0 >> 1] = value;
- return i16_load_little(0) | 0;
+ return i16_load_little(0 | 0) | 0 | 0;
}
function $17(value) {
value = value | 0;
HEAP32[0 >> 2] = value;
- return i32_load_little(0) | 0;
+ return i32_load_little(0 | 0) | 0 | 0;
}
function $18(value, value$hi) {
@@ -240,7 +250,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = value$hi;
HEAP16[0 >> 1] = value;
i64toi32_i32$0 = 0;
- i64toi32_i32$1 = i16_load_little(0);
+ i64toi32_i32$1 = i16_load_little(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
@@ -252,7 +262,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = value$hi;
HEAP32[0 >> 2] = value;
i64toi32_i32$0 = 0;
- i64toi32_i32$1 = i32_load_little(0);
+ i64toi32_i32$1 = i32_load_little(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
@@ -264,8 +274,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = value$hi;
i64toi32_i32$1 = 0;
HEAP32[i64toi32_i32$1 >> 2] = value;
- HEAP32[i64toi32_i32$1 + 4 >> 2] = i64toi32_i32$0;
- i64toi32_i32$0 = i64_load_little(0);
+ HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0;
+ i64toi32_i32$0 = i64_load_little(0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
@@ -274,21 +284,23 @@ function asmFunc(global, env, buffer) {
function $21(value) {
value = Math_fround(value);
HEAPF32[0 >> 2] = value;
- return Math_fround((wasm2js_scratch_store_i32(0, i32_load_little(0)), wasm2js_scratch_load_f32()));
+ return Math_fround((wasm2js_scratch_store_i32(0, i32_load_little(0 | 0) | 0), wasm2js_scratch_load_f32()));
}
function $22(value) {
value = +value;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
HEAPF64[0 >> 3] = value;
- i64toi32_i32$0 = i64_load_little(0);
+ i64toi32_i32$0 = i64_load_little(0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 | 0);
wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0);
- return +wasm2js_scratch_load_f64();
+ return +(+wasm2js_scratch_load_f64());
}
function legalstub$9($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -297,16 +309,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -314,32 +326,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $9(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $9(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$10($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -348,16 +362,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -365,32 +379,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $10(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $10(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$11($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -399,16 +415,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -416,32 +432,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $11(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $11(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$12($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -450,16 +468,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -467,32 +485,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $12(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $12(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$13($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -501,16 +521,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -518,32 +538,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $13(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $13(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$18($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -552,16 +574,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -569,32 +591,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $18(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $18(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$19($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -603,16 +627,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -620,32 +644,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $19(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $19(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$20($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -654,16 +680,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -671,29 +697,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $20(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $20(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/f32.2asm.js b/test/wasm2js/f32.2asm.js
index d136a94af..291b64124 100644
--- a/test/wasm2js/f32.2asm.js
+++ b/test/wasm2js/f32.2asm.js
@@ -96,12 +96,12 @@ function asmFunc(global, env, buffer) {
function $9(x) {
x = Math_fround(x);
- return Math_fround(__wasm_trunc_f32(x));
+ return Math_fround(Math_fround(__wasm_trunc_f32(Math_fround(x))));
}
function $10(x) {
x = Math_fround(x);
- return Math_fround(__wasm_nearest_f32(x));
+ return Math_fround(Math_fround(__wasm_nearest_f32(Math_fround(x))));
}
function $11(x) {
@@ -117,10 +117,11 @@ function asmFunc(global, env, buffer) {
function $13(x, y) {
x = Math_fround(x);
y = Math_fround(y);
- return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_scratch_store_f32(x), wasm2js_scratch_load_i32(0)) & 2147483647 | (wasm2js_scratch_store_f32(y), wasm2js_scratch_load_i32(0)) & -2147483648), wasm2js_scratch_load_f32()));
+ return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_scratch_store_f32(x), wasm2js_scratch_load_i32(0)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32(y), wasm2js_scratch_load_i32(0)) & -2147483648 | 0) | 0), wasm2js_scratch_load_f32()));
}
function __wasm_nearest_f32(var$0) {
+ var$0 = Math_fround(var$0);
var var$1 = Math_fround(0), var$2 = Math_fround(0);
var$1 = Math_fround(Math_floor(var$0));
var$2 = Math_fround(var$0 - var$1);
@@ -128,17 +129,18 @@ function asmFunc(global, env, buffer) {
{
var$0 = Math_fround(Math_ceil(var$0));
if (var$2 > Math_fround(.5)) {
- return var$0
+ return Math_fround(var$0)
}
var$2 = Math_fround(var$1 * Math_fround(.5));
var$1 = Math_fround(var$2 - Math_fround(Math_floor(var$2))) == Math_fround(0.0) ? var$1 : var$0;
}
}
- return var$1;
+ return Math_fround(var$1);
}
function __wasm_trunc_f32(var$0) {
- return var$0 < Math_fround(0.0) ? Math_fround(Math_ceil(var$0)) : Math_fround(Math_floor(var$0));
+ var$0 = Math_fround(var$0);
+ return Math_fround(var$0 < Math_fround(0.0) ? Math_fround(Math_ceil(var$0)) : Math_fround(Math_floor(var$0)));
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/f64.2asm.js b/test/wasm2js/f64.2asm.js
index 727bd7dc4..fff7f7c47 100644
--- a/test/wasm2js/f64.2asm.js
+++ b/test/wasm2js/f64.2asm.js
@@ -96,12 +96,12 @@ function asmFunc(global, env, buffer) {
function $9(x) {
x = +x;
- return +__wasm_trunc_f64(x);
+ return +(+__wasm_trunc_f64(+x));
}
function $10(x) {
x = +x;
- return +__wasm_nearest_f64(x);
+ return +(+__wasm_nearest_f64(+x));
}
function $11(x) {
@@ -123,28 +123,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$1 = 2147483647;
i64toi32_i32$3 = -1;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- $4_1 = i64toi32_i32$2 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ $4_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
$4$hi = i64toi32_i32$1;
wasm2js_scratch_store_f64(+y);
i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$2 = -2147483648;
i64toi32_i32$3 = 0;
- i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2;
- $7_1 = i64toi32_i32$0 & i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0;
+ $7_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$1 = $4_1;
i64toi32_i32$0 = $7$hi;
i64toi32_i32$3 = $7_1;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3);
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0);
wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
- return +wasm2js_scratch_load_f64();
+ return +(+wasm2js_scratch_load_f64());
}
function __wasm_nearest_f64(var$0) {
+ var$0 = +var$0;
var var$1 = 0.0, var$2 = 0.0;
var$1 = Math_floor(var$0);
var$2 = var$0 - var$1;
@@ -152,17 +153,18 @@ function asmFunc(global, env, buffer) {
{
var$0 = Math_ceil(var$0);
if (var$2 > .5) {
- return var$0
+ return +var$0
}
var$2 = var$1 * .5;
var$1 = var$2 - Math_floor(var$2) == 0.0 ? var$1 : var$0;
}
}
- return var$1;
+ return +var$1;
}
function __wasm_trunc_f64(var$0) {
- return var$0 < 0.0 ? Math_ceil(var$0) : Math_floor(var$0);
+ var$0 = +var$0;
+ return +(var$0 < 0.0 ? Math_ceil(var$0) : Math_floor(var$0));
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/fac.2asm.js b/test/wasm2js/fac.2asm.js
index 58365051f..8b712028b 100644
--- a/test/wasm2js/fac.2asm.js
+++ b/test/wasm2js/fac.2asm.js
@@ -30,7 +30,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $8 = 0, $8$hi = 0, $6 = 0, $6$hi = 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if (($0_1 | 0) == (i64toi32_i32$3 | 0) & ($0$hi | 0) == (i64toi32_i32$1 | 0)) {
+ if (($0_1 | 0) == (i64toi32_i32$3 | 0) & ($0$hi | 0) == (i64toi32_i32$1 | 0) | 0) {
{
$8 = 1;
$8$hi = 0;
@@ -41,13 +41,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = 1;
i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + 0 | 0;
i64toi32_i32$5 = $0$hi - i64toi32_i32$5 | 0;
- i64toi32_i32$5 = $0(i64toi32_i32$3 - i64toi32_i32$1 | 0, i64toi32_i32$5);
+ i64toi32_i32$5 = $0(i64toi32_i32$3 - i64toi32_i32$1 | 0 | 0, i64toi32_i32$5 | 0) | 0;
i64toi32_i32$3 = i64toi32_i32$HIGH_BITS;
$6 = i64toi32_i32$5;
$6$hi = i64toi32_i32$3;
i64toi32_i32$3 = $0$hi;
i64toi32_i32$5 = $6$hi;
- i64toi32_i32$5 = __wasm_i64_mul($0_1, $0$hi, $6, i64toi32_i32$5);
+ i64toi32_i32$5 = __wasm_i64_mul($0_1 | 0, $0$hi | 0, $6 | 0, i64toi32_i32$5 | 0) | 0;
i64toi32_i32$3 = i64toi32_i32$HIGH_BITS;
$8 = i64toi32_i32$5;
$8$hi = i64toi32_i32$3;
@@ -65,7 +65,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, $8 = 0, $8$hi = 0, $6 = 0, $6$hi = 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if ((n | 0) == (i64toi32_i32$3 | 0) & (n$hi | 0) == (i64toi32_i32$1 | 0)) {
+ if ((n | 0) == (i64toi32_i32$3 | 0) & (n$hi | 0) == (i64toi32_i32$1 | 0) | 0) {
{
$8 = 1;
$8$hi = 0;
@@ -76,13 +76,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = 1;
i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + 0 | 0;
i64toi32_i32$5 = n$hi - i64toi32_i32$5 | 0;
- i64toi32_i32$5 = fac_rec_named(i64toi32_i32$3 - i64toi32_i32$1 | 0, i64toi32_i32$5);
+ i64toi32_i32$5 = fac_rec_named(i64toi32_i32$3 - i64toi32_i32$1 | 0 | 0, i64toi32_i32$5 | 0) | 0;
i64toi32_i32$3 = i64toi32_i32$HIGH_BITS;
$6 = i64toi32_i32$5;
$6$hi = i64toi32_i32$3;
i64toi32_i32$3 = n$hi;
i64toi32_i32$5 = $6$hi;
- i64toi32_i32$5 = __wasm_i64_mul(n, n$hi, $6, i64toi32_i32$5);
+ i64toi32_i32$5 = __wasm_i64_mul(n | 0, n$hi | 0, $6 | 0, i64toi32_i32$5 | 0) | 0;
i64toi32_i32$3 = i64toi32_i32$HIGH_BITS;
$8 = i64toi32_i32$5;
$8$hi = i64toi32_i32$3;
@@ -110,7 +110,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0)) {
+ if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break block
} else {
{
@@ -118,7 +118,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $2$hi;
i64toi32_i32$2 = $1$hi;
i64toi32_i32$0 = $2$hi;
- i64toi32_i32$0 = __wasm_i64_mul($1, i64toi32_i32$2, $2_1, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul($1 | 0, i64toi32_i32$2 | 0, $2_1 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$0;
$2$hi = i64toi32_i32$2;
@@ -132,7 +132,7 @@ function asmFunc(global, env, buffer) {
$1$hi = i64toi32_i32$5;
}
}
- continue;
+ continue loop_in;
};
}
i64toi32_i32$5 = $2$hi;
@@ -157,7 +157,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = i;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0)) {
+ if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break done
} else {
{
@@ -165,7 +165,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = res$hi;
i64toi32_i32$2 = i$hi;
i64toi32_i32$0 = res$hi;
- i64toi32_i32$0 = __wasm_i64_mul(i, i64toi32_i32$2, res, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul(i | 0, i64toi32_i32$2 | 0, res | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
res = i64toi32_i32$0;
res$hi = i64toi32_i32$2;
@@ -179,7 +179,7 @@ function asmFunc(global, env, buffer) {
i$hi = i64toi32_i32$5;
}
}
- continue;
+ continue loop;
};
}
i64toi32_i32$5 = res$hi;
@@ -227,7 +227,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $0$hi;
i64toi32_i32$2 = $1$hi;
i64toi32_i32$0 = $0$hi;
- i64toi32_i32$0 = __wasm_i64_mul($1, i64toi32_i32$2, $0_1, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul($1 | 0, i64toi32_i32$2 | 0, $0_1 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$2;
@@ -265,9 +265,9 @@ function asmFunc(global, env, buffer) {
}
}
if ($13) {
- continue
+ continue loop_in
}
- break;
+ break loop_in;
};
}
i64toi32_i32$2 = $1$hi;
@@ -277,6 +277,8 @@ function asmFunc(global, env, buffer) {
}
function legalstub$0($0_1, $1) {
+ $0_1 = $0_1 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -285,16 +287,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -302,32 +304,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $0(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $0(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$fac_rec_named($0_1, $1) {
+ $0_1 = $0_1 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -336,16 +340,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -353,32 +357,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = fac_rec_named(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = fac_rec_named(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$2($0_1, $1) {
+ $0_1 = $0_1 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -387,16 +393,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -404,32 +410,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1) {
+ $0_1 = $0_1 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -438,16 +446,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -455,32 +463,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$4($0_1, $1) {
+ $0_1 = $0_1 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -489,16 +499,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -506,54 +516,58 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $4(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $4(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21 = 0, $22 = 0, var$6 = 0, $24 = 0, $17 = 0, $18 = 0, $23 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17 = Math_imul(var$4, var$5);
$18 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23 = $17 + Math_imul($18, $21) | 0;
@@ -561,39 +575,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29 = $23 + Math_imul($22, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45 = $29 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45 = $29 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -602,23 +616,27 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/float-ops.2asm.js b/test/wasm2js/float-ops.2asm.js
index ce5149482..93d79f7e5 100644
--- a/test/wasm2js/float-ops.2asm.js
+++ b/test/wasm2js/float-ops.2asm.js
@@ -167,7 +167,7 @@ function asmFunc(global, env, buffer) {
function $25($0) {
$0 = Math_fround($0);
- return +$0;
+ return +(+$0);
}
function $26($0) {
@@ -212,7 +212,7 @@ function asmFunc(global, env, buffer) {
function $36($0) {
$0 = $0 | 0;
- return +($0 | 0);
+ return +(+($0 | 0));
}
function $37($0) {
@@ -222,7 +222,7 @@ function asmFunc(global, env, buffer) {
function $38($0) {
$0 = $0 | 0;
- return +($0 >>> 0);
+ return +(+($0 >>> 0));
}
function $39($0) {
@@ -237,12 +237,12 @@ function asmFunc(global, env, buffer) {
function $41($0) {
$0 = Math_fround($0);
- return ~~$0 >>> 0;
+ return ~~$0 >>> 0 | 0;
}
function $42($0) {
$0 = +$0;
- return ~~$0 >>> 0;
+ return ~~$0 >>> 0 | 0;
}
function $43($0, $0$hi) {
@@ -294,7 +294,7 @@ function asmFunc(global, env, buffer) {
$4_1 = 0
}
i64toi32_i32$1 = $4_1;
- return ~~i64toi32_i32$0 >>> 0 == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0);
+ return (~~i64toi32_i32$0 >>> 0 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0) | 0 | 0;
}
function $48($0) {
@@ -314,7 +314,7 @@ function asmFunc(global, env, buffer) {
$4_1 = 0
}
i64toi32_i32$1 = $4_1;
- return ~~i64toi32_i32$0 >>> 0 == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0);
+ return (~~i64toi32_i32$0 >>> 0 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0) | 0 | 0;
}
function $49($0) {
@@ -334,7 +334,7 @@ function asmFunc(global, env, buffer) {
$4_1 = 0
}
i64toi32_i32$1 = $4_1;
- return ~~i64toi32_i32$0 >>> 0 == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0);
+ return (~~i64toi32_i32$0 >>> 0 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0) | 0 | 0;
}
function $50($0) {
@@ -354,10 +354,12 @@ function asmFunc(global, env, buffer) {
$4_1 = 0
}
i64toi32_i32$1 = $4_1;
- return ~~i64toi32_i32$0 >>> 0 == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0);
+ return (~~i64toi32_i32$0 >>> 0 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0) | 0 | 0;
}
function legalstub$43($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0;
@@ -366,16 +368,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -383,11 +385,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $43(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return Math_fround(Math_fround($43(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0)));
}
function legalstub$44($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0;
@@ -396,16 +400,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -413,11 +417,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $44(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return +(+$44(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0));
}
function legalstub$45($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0;
@@ -426,16 +432,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -443,11 +449,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $45(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return Math_fround(Math_fround($45(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0)));
}
function legalstub$46($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0;
@@ -456,16 +464,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -473,8 +481,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $46(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return +(+$46(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0));
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/float-ops.2asm.js.opt b/test/wasm2js/float-ops.2asm.js.opt
new file mode 100644
index 000000000..aaaea1dce
--- /dev/null
+++ b/test/wasm2js/float-ops.2asm.js.opt
@@ -0,0 +1,404 @@
+
+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;
+ function $1($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return Math_fround(Math_fround($0 + $1_1));
+ }
+
+ function $2($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return Math_fround(Math_fround($0 - $1_1));
+ }
+
+ function $3($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return Math_fround(Math_fround($0 * $1_1));
+ }
+
+ function $4($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return Math_fround(Math_fround($0 / $1_1));
+ }
+
+ function $5($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return +($0 + $1_1);
+ }
+
+ function $6($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return +($0 - $1_1);
+ }
+
+ function $7($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return +($0 * $1_1);
+ }
+
+ function $8($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return +($0 / $1_1);
+ }
+
+ function $9($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return $0 == $1_1 | 0;
+ }
+
+ function $10($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return $0 != $1_1 | 0;
+ }
+
+ function $11($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return $0 >= $1_1 | 0;
+ }
+
+ function $12($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return $0 > $1_1 | 0;
+ }
+
+ function $13($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return $0 <= $1_1 | 0;
+ }
+
+ function $14($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return $0 < $1_1 | 0;
+ }
+
+ function $15($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return $0 == $1_1 | 0;
+ }
+
+ function $16($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return $0 != $1_1 | 0;
+ }
+
+ function $17($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return $0 >= $1_1 | 0;
+ }
+
+ function $18($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return $0 > $1_1 | 0;
+ }
+
+ function $19($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return $0 <= $1_1 | 0;
+ }
+
+ function $20($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return $0 < $1_1 | 0;
+ }
+
+ function $21($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return Math_fround(Math_fround(Math_min($0, $1_1)));
+ }
+
+ function $22($0, $1_1) {
+ $0 = Math_fround($0);
+ $1_1 = Math_fround($1_1);
+ return Math_fround(Math_fround(Math_max($0, $1_1)));
+ }
+
+ function $23($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return +Math_min($0, $1_1);
+ }
+
+ function $24($0, $1_1) {
+ $0 = +$0;
+ $1_1 = +$1_1;
+ return +Math_max($0, $1_1);
+ }
+
+ function $25($0) {
+ $0 = Math_fround($0);
+ return +$0;
+ }
+
+ function $26($0) {
+ $0 = +$0;
+ return Math_fround(Math_fround($0));
+ }
+
+ function $27($0) {
+ $0 = Math_fround($0);
+ return Math_fround(Math_fround(Math_floor($0)));
+ }
+
+ function $28($0) {
+ $0 = Math_fround($0);
+ return Math_fround(Math_fround(Math_ceil($0)));
+ }
+
+ function $29($0) {
+ $0 = +$0;
+ return +Math_floor($0);
+ }
+
+ function $30($0) {
+ $0 = +$0;
+ return +Math_ceil($0);
+ }
+
+ function $31($0) {
+ $0 = Math_fround($0);
+ return Math_fround(Math_fround(Math_sqrt($0)));
+ }
+
+ function $32($0) {
+ $0 = +$0;
+ return +Math_sqrt($0);
+ }
+
+ function $35($0) {
+ $0 = $0 | 0;
+ return Math_fround(Math_fround($0 | 0));
+ }
+
+ function $36($0) {
+ $0 = $0 | 0;
+ return +($0 | 0);
+ }
+
+ function $37($0) {
+ $0 = $0 | 0;
+ return Math_fround(Math_fround($0 >>> 0));
+ }
+
+ function $38($0) {
+ $0 = $0 | 0;
+ return +($0 >>> 0);
+ }
+
+ function $39($0) {
+ $0 = Math_fround($0);
+ return ~~$0 | 0;
+ }
+
+ function $40($0) {
+ $0 = +$0;
+ return ~~$0 | 0;
+ }
+
+ function $41($0) {
+ $0 = Math_fround($0);
+ return ~~$0 >>> 0;
+ }
+
+ function $42($0) {
+ $0 = +$0;
+ return ~~$0 >>> 0;
+ }
+
+ function $47($0) {
+ $0 = Math_fround($0);
+ var $1_1 = 0, $2_1 = 0, $3_1 = 0;
+ $3_1 = ~~$0 >>> 0;
+ if (Math_fround(Math_abs($0)) >= Math_fround(1.0)) {
+ {
+ if ($0 > Math_fround(0.0)) {
+ $1_1 = ~~Math_fround(Math_min(Math_fround(Math_floor(Math_fround($0 / Math_fround(4294967296.0)))), Math_fround(4294967296.0))) >>> 0
+ } else {
+ $1_1 = ~~Math_fround(Math_ceil(Math_fround(Math_fround($0 - Math_fround(~~$0 >>> 0 >>> 0)) / Math_fround(4294967296.0)))) >>> 0
+ }
+ $2_1 = $1_1;
+ }
+ } else {
+ $2_1 = 0
+ }
+ return !($3_1 | $2_1) | 0;
+ }
+
+ function $48($0) {
+ $0 = +$0;
+ var $1_1 = 0, $2_1 = 0, $3_1 = 0;
+ $3_1 = ~~$0 >>> 0;
+ if (Math_abs($0) >= 1.0) {
+ {
+ if ($0 > 0.0) {
+ $1_1 = ~~Math_min(Math_floor($0 / 4294967296.0), 4294967295.0) >>> 0
+ } else {
+ $1_1 = ~~Math_ceil(($0 - +(~~$0 >>> 0 >>> 0)) / 4294967296.0) >>> 0
+ }
+ $2_1 = $1_1;
+ }
+ } else {
+ $2_1 = 0
+ }
+ return !($3_1 | $2_1) | 0;
+ }
+
+ function legalstub$43($0, $1_1) {
+ return Math_fround(+($0 >>> 0) + 4294967296.0 * +($1_1 | 0));
+ }
+
+ function legalstub$44($0, $1_1) {
+ return +($0 >>> 0) + 4294967296.0 * +($1_1 | 0);
+ }
+
+ function legalstub$45($0, $1_1) {
+ return Math_fround(+($0 >>> 0) + 4294967296.0 * +($1_1 >>> 0));
+ }
+
+ function legalstub$46($0, $1_1) {
+ return +($0 >>> 0) + 4294967296.0 * +($1_1 >>> 0);
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "f32_add": $1,
+ "f32_sub": $2,
+ "f32_mul": $3,
+ "f32_div": $4,
+ "f64_add": $5,
+ "f64_sub": $6,
+ "f64_mul": $7,
+ "f64_div": $8,
+ "f32_eq": $9,
+ "f32_ne": $10,
+ "f32_ge": $11,
+ "f32_gt": $12,
+ "f32_le": $13,
+ "f32_lt": $14,
+ "f64_eq": $15,
+ "f64_ne": $16,
+ "f64_ge": $17,
+ "f64_gt": $18,
+ "f64_le": $19,
+ "f64_lt": $20,
+ "f32_min": $21,
+ "f32_max": $22,
+ "f64_min": $23,
+ "f64_max": $24,
+ "f64_promote": $25,
+ "f32_demote": $26,
+ "f32_floor": $27,
+ "f32_ceil": $28,
+ "f64_floor": $29,
+ "f64_ceil": $30,
+ "f32_sqrt": $31,
+ "f64_sqrt": $32,
+ "i32_to_f32": $35,
+ "i32_to_f64": $36,
+ "u32_to_f32": $37,
+ "u32_to_f64": $38,
+ "f32_to_i32": $39,
+ "f64_to_i32": $40,
+ "f32_to_u32": $41,
+ "f64_to_u32": $42,
+ "i64_to_f32": legalstub$43,
+ "i64_to_f64": legalstub$44,
+ "u64_to_f32": legalstub$45,
+ "u64_to_f64": legalstub$46,
+ "f32_to_i64": $47,
+ "f64_to_i64": $48,
+ "f32_to_u64": $47,
+ "f64_to_u64": $48
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var f32_add = retasmFunc.f32_add;
+export var f32_sub = retasmFunc.f32_sub;
+export var f32_mul = retasmFunc.f32_mul;
+export var f32_div = retasmFunc.f32_div;
+export var f64_add = retasmFunc.f64_add;
+export var f64_sub = retasmFunc.f64_sub;
+export var f64_mul = retasmFunc.f64_mul;
+export var f64_div = retasmFunc.f64_div;
+export var f32_eq = retasmFunc.f32_eq;
+export var f32_ne = retasmFunc.f32_ne;
+export var f32_ge = retasmFunc.f32_ge;
+export var f32_gt = retasmFunc.f32_gt;
+export var f32_le = retasmFunc.f32_le;
+export var f32_lt = retasmFunc.f32_lt;
+export var f64_eq = retasmFunc.f64_eq;
+export var f64_ne = retasmFunc.f64_ne;
+export var f64_ge = retasmFunc.f64_ge;
+export var f64_gt = retasmFunc.f64_gt;
+export var f64_le = retasmFunc.f64_le;
+export var f64_lt = retasmFunc.f64_lt;
+export var f32_min = retasmFunc.f32_min;
+export var f32_max = retasmFunc.f32_max;
+export var f64_min = retasmFunc.f64_min;
+export var f64_max = retasmFunc.f64_max;
+export var f64_promote = retasmFunc.f64_promote;
+export var f32_demote = retasmFunc.f32_demote;
+export var f32_floor = retasmFunc.f32_floor;
+export var f32_ceil = retasmFunc.f32_ceil;
+export var f64_floor = retasmFunc.f64_floor;
+export var f64_ceil = retasmFunc.f64_ceil;
+export var f32_sqrt = retasmFunc.f32_sqrt;
+export var f64_sqrt = retasmFunc.f64_sqrt;
+export var i32_to_f32 = retasmFunc.i32_to_f32;
+export var i32_to_f64 = retasmFunc.i32_to_f64;
+export var u32_to_f32 = retasmFunc.u32_to_f32;
+export var u32_to_f64 = retasmFunc.u32_to_f64;
+export var f32_to_i32 = retasmFunc.f32_to_i32;
+export var f64_to_i32 = retasmFunc.f64_to_i32;
+export var f32_to_u32 = retasmFunc.f32_to_u32;
+export var f64_to_u32 = retasmFunc.f64_to_u32;
+export var i64_to_f32 = retasmFunc.i64_to_f32;
+export var i64_to_f64 = retasmFunc.i64_to_f64;
+export var u64_to_f32 = retasmFunc.u64_to_f32;
+export var u64_to_f64 = retasmFunc.u64_to_f64;
+export var f32_to_i64 = retasmFunc.f32_to_i64;
+export var f64_to_i64 = retasmFunc.f64_to_i64;
+export var f32_to_u64 = retasmFunc.f32_to_u64;
+export var f64_to_u64 = retasmFunc.f64_to_u64;
diff --git a/test/wasm2js/float_literals-modified.2asm.js b/test/wasm2js/float_literals-modified.2asm.js
index 176e13730..7a623b5e9 100644
--- a/test/wasm2js/float_literals-modified.2asm.js
+++ b/test/wasm2js/float_literals-modified.2asm.js
@@ -164,7 +164,7 @@ function asmFunc(global, env, buffer) {
function $30() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(nan);
+ wasm2js_scratch_store_f64(+(nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -173,7 +173,7 @@ function asmFunc(global, env, buffer) {
function $31() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(nan);
+ wasm2js_scratch_store_f64(+(nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -182,7 +182,7 @@ function asmFunc(global, env, buffer) {
function $32() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(-nan);
+ wasm2js_scratch_store_f64(+(-nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -191,7 +191,7 @@ function asmFunc(global, env, buffer) {
function $33() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(nan);
+ wasm2js_scratch_store_f64(+(nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -200,7 +200,7 @@ function asmFunc(global, env, buffer) {
function $34() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(nan);
+ wasm2js_scratch_store_f64(+(nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -209,7 +209,7 @@ function asmFunc(global, env, buffer) {
function $35() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(-nan);
+ wasm2js_scratch_store_f64(+(-nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -218,7 +218,7 @@ function asmFunc(global, env, buffer) {
function $36() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(nan);
+ wasm2js_scratch_store_f64(+(nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -227,7 +227,7 @@ function asmFunc(global, env, buffer) {
function $37() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(nan);
+ wasm2js_scratch_store_f64(+(nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -236,7 +236,7 @@ function asmFunc(global, env, buffer) {
function $38() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(-nan);
+ wasm2js_scratch_store_f64(+(-nan));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -245,7 +245,7 @@ function asmFunc(global, env, buffer) {
function $39() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(infinity);
+ wasm2js_scratch_store_f64(+(infinity));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -254,7 +254,7 @@ function asmFunc(global, env, buffer) {
function $40() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(infinity);
+ wasm2js_scratch_store_f64(+(infinity));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -263,7 +263,7 @@ function asmFunc(global, env, buffer) {
function $41() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(-infinity);
+ wasm2js_scratch_store_f64(+(-infinity));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -272,7 +272,7 @@ function asmFunc(global, env, buffer) {
function $42() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(0.0);
+ wasm2js_scratch_store_f64(+(0.0));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -281,7 +281,7 @@ function asmFunc(global, env, buffer) {
function $43() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(0.0);
+ wasm2js_scratch_store_f64(+(0.0));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -290,7 +290,7 @@ function asmFunc(global, env, buffer) {
function $44() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(-0.0);
+ wasm2js_scratch_store_f64(+(-0.0));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -299,7 +299,7 @@ function asmFunc(global, env, buffer) {
function $45() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(6.283185307179586);
+ wasm2js_scratch_store_f64(+(6.283185307179586));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -308,7 +308,7 @@ function asmFunc(global, env, buffer) {
function $46() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(5.0e-324);
+ wasm2js_scratch_store_f64(+(5.0e-324));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -317,7 +317,7 @@ function asmFunc(global, env, buffer) {
function $47() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(2.2250738585072014e-308);
+ wasm2js_scratch_store_f64(+(2.2250738585072014e-308));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -326,7 +326,7 @@ function asmFunc(global, env, buffer) {
function $48() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(2.225073858507201e-308);
+ wasm2js_scratch_store_f64(+(2.225073858507201e-308));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -335,7 +335,7 @@ function asmFunc(global, env, buffer) {
function $49() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(1797693134862315708145274.0e284);
+ wasm2js_scratch_store_f64(+(1797693134862315708145274.0e284));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -344,7 +344,7 @@ function asmFunc(global, env, buffer) {
function $50() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(1267650600228229401496703.0e6);
+ wasm2js_scratch_store_f64(+(1267650600228229401496703.0e6));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -353,7 +353,7 @@ function asmFunc(global, env, buffer) {
function $51() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(0.0);
+ wasm2js_scratch_store_f64(+(0.0));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -362,7 +362,7 @@ function asmFunc(global, env, buffer) {
function $52() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(0.0);
+ wasm2js_scratch_store_f64(+(0.0));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -371,7 +371,7 @@ function asmFunc(global, env, buffer) {
function $53() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(-0.0);
+ wasm2js_scratch_store_f64(+(-0.0));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -380,7 +380,7 @@ function asmFunc(global, env, buffer) {
function $54() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(6.283185307179586);
+ wasm2js_scratch_store_f64(+(6.283185307179586));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -389,7 +389,7 @@ function asmFunc(global, env, buffer) {
function $55() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(5.0e-324);
+ wasm2js_scratch_store_f64(+(5.0e-324));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -398,7 +398,7 @@ function asmFunc(global, env, buffer) {
function $56() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(2.2250738585072014e-308);
+ wasm2js_scratch_store_f64(+(2.2250738585072014e-308));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -407,7 +407,7 @@ function asmFunc(global, env, buffer) {
function $57() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(2.225073858507201e-308);
+ wasm2js_scratch_store_f64(+(2.225073858507201e-308));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -416,7 +416,7 @@ function asmFunc(global, env, buffer) {
function $58() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(1797693134862315708145274.0e284);
+ wasm2js_scratch_store_f64(+(1797693134862315708145274.0e284));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -425,7 +425,7 @@ function asmFunc(global, env, buffer) {
function $59() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
- wasm2js_scratch_store_f64(1.e+100);
+ wasm2js_scratch_store_f64(+(1.e+100));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
@@ -434,782 +434,782 @@ function asmFunc(global, env, buffer) {
function legalstub$30() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $30();
+ i64toi32_i32$0 = $30() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$31() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $31();
+ i64toi32_i32$0 = $31() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$32() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $32();
+ i64toi32_i32$0 = $32() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$33() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $33();
+ i64toi32_i32$0 = $33() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$34() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $34();
+ i64toi32_i32$0 = $34() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$35() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $35();
+ i64toi32_i32$0 = $35() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$36() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $36();
+ i64toi32_i32$0 = $36() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$37() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $37();
+ i64toi32_i32$0 = $37() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$38() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $38();
+ i64toi32_i32$0 = $38() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$39() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $39();
+ i64toi32_i32$0 = $39() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$40() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $40();
+ i64toi32_i32$0 = $40() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$41() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $41();
+ i64toi32_i32$0 = $41() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$42() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $42();
+ i64toi32_i32$0 = $42() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$43() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $43();
+ i64toi32_i32$0 = $43() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$44() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $44();
+ i64toi32_i32$0 = $44() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$45() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $45();
+ i64toi32_i32$0 = $45() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$46() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $46();
+ i64toi32_i32$0 = $46() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$47() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $47();
+ i64toi32_i32$0 = $47() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$48() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $48();
+ i64toi32_i32$0 = $48() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$49() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $49();
+ i64toi32_i32$0 = $49() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$50() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $50();
+ i64toi32_i32$0 = $50() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$51() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $51();
+ i64toi32_i32$0 = $51() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$52() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $52();
+ i64toi32_i32$0 = $52() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$53() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $53();
+ i64toi32_i32$0 = $53() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$54() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $54();
+ i64toi32_i32$0 = $54() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$55() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $55();
+ i64toi32_i32$0 = $55() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$56() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $56();
+ i64toi32_i32$0 = $56() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$57() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $57();
+ i64toi32_i32$0 = $57() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$58() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $58();
+ i64toi32_i32$0 = $58() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$59() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $59();
+ i64toi32_i32$0 = $59() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/float_literals-modified.2asm.js.opt b/test/wasm2js/float_literals-modified.2asm.js.opt
new file mode 100644
index 000000000..f04b3059b
--- /dev/null
+++ b/test/wasm2js/float_literals-modified.2asm.js.opt
@@ -0,0 +1,437 @@
+import { setTempRet0 } from 'env';
+
+
+ var scratchBuffer = new ArrayBuffer(8);
+ var i32ScratchView = new Int32Array(scratchBuffer);
+ var f32ScratchView = new Float32Array(scratchBuffer);
+ var f64ScratchView = new Float64Array(scratchBuffer);
+
+ function wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+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 $0() {
+ return 2143289344 | 0;
+ }
+
+ function $2() {
+ return -4194304 | 0;
+ }
+
+ function $4() {
+ return 2141192192 | 0;
+ }
+
+ function $5() {
+ return -1 | 0;
+ }
+
+ function $6() {
+ return 2139169605 | 0;
+ }
+
+ function $7() {
+ return 2142257232 | 0;
+ }
+
+ function $8() {
+ return -5587746 | 0;
+ }
+
+ function $9() {
+ return 2139095040 | 0;
+ }
+
+ function $11() {
+ return -8388608 | 0;
+ }
+
+ function $12() {
+ return 0 | 0;
+ }
+
+ function $14() {
+ return -2147483648 | 0;
+ }
+
+ function $15() {
+ return 1086918619 | 0;
+ }
+
+ function $16() {
+ return 1 | 0;
+ }
+
+ function $17() {
+ return 8388608 | 0;
+ }
+
+ function $18() {
+ return 2139095039 | 0;
+ }
+
+ function $19() {
+ return 8388607 | 0;
+ }
+
+ function $20() {
+ return 1149239296 | 0;
+ }
+
+ function $29() {
+ return 1343554297 | 0;
+ }
+
+ function legalstub$30() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(nan);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$32() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(-nan);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$34() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(nan);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$35() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(-nan);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$36() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(nan);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$37() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(nan);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$38() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(-nan);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$39() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(infinity);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$41() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(-infinity);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$42() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(0.0);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$44() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(-0.0);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$45() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(6.283185307179586);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$46() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(5.0e-324);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$47() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(2.2250738585072014e-308);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$48() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(2.225073858507201e-308);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$49() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(1797693134862315708145274.0e284);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$50() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(1267650600228229401496703.0e6);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$59() {
+ var $0_1 = 0, $1 = 0;
+ wasm2js_scratch_store_f64(1.e+100);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ $1 = wasm2js_scratch_load_i32(0 | 0) | 0;
+ i64toi32_i32$HIGH_BITS = $0_1;
+ $0_1 = $1;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "f32_nan": $0,
+ "f32_positive_nan": $0,
+ "f32_negative_nan": $2,
+ "f32_plain_nan": $0,
+ "f32_informally_known_as_plain_snan": $4,
+ "f32_all_ones_nan": $5,
+ "f32_misc_nan": $6,
+ "f32_misc_positive_nan": $7,
+ "f32_misc_negative_nan": $8,
+ "f32_infinity": $9,
+ "f32_positive_infinity": $9,
+ "f32_negative_infinity": $11,
+ "f32_zero": $12,
+ "f32_positive_zero": $12,
+ "f32_negative_zero": $14,
+ "f32_misc": $15,
+ "f32_min_positive": $16,
+ "f32_min_normal": $17,
+ "f32_max_finite": $18,
+ "f32_max_subnormal": $19,
+ "f32_trailing_dot": $20,
+ "f32_dec_zero": $12,
+ "f32_dec_positive_zero": $12,
+ "f32_dec_negative_zero": $14,
+ "f32_dec_misc": $15,
+ "f32_dec_min_positive": $16,
+ "f32_dec_min_normal": $17,
+ "f32_dec_max_subnormal": $19,
+ "f32_dec_max_finite": $18,
+ "f32_dec_trailing_dot": $29,
+ "f64_nan": legalstub$30,
+ "f64_positive_nan": legalstub$30,
+ "f64_negative_nan": legalstub$32,
+ "f64_plain_nan": legalstub$30,
+ "f64_informally_known_as_plain_snan": legalstub$34,
+ "f64_all_ones_nan": legalstub$35,
+ "f64_misc_nan": legalstub$36,
+ "f64_misc_positive_nan": legalstub$37,
+ "f64_misc_negative_nan": legalstub$38,
+ "f64_infinity": legalstub$39,
+ "f64_positive_infinity": legalstub$39,
+ "f64_negative_infinity": legalstub$41,
+ "f64_zero": legalstub$42,
+ "f64_positive_zero": legalstub$42,
+ "f64_negative_zero": legalstub$44,
+ "f64_misc": legalstub$45,
+ "f64_min_positive": legalstub$46,
+ "f64_min_normal": legalstub$47,
+ "f64_max_subnormal": legalstub$48,
+ "f64_max_finite": legalstub$49,
+ "f64_trailing_dot": legalstub$50,
+ "f64_dec_zero": legalstub$42,
+ "f64_dec_positive_zero": legalstub$42,
+ "f64_dec_negative_zero": legalstub$44,
+ "f64_dec_misc": legalstub$45,
+ "f64_dec_min_positive": legalstub$46,
+ "f64_dec_min_normal": legalstub$47,
+ "f64_dec_max_subnormal": legalstub$48,
+ "f64_dec_max_finite": legalstub$49,
+ "f64_dec_trailing_dot": legalstub$59
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+export var f32_nan = retasmFunc.f32_nan;
+export var f32_positive_nan = retasmFunc.f32_positive_nan;
+export var f32_negative_nan = retasmFunc.f32_negative_nan;
+export var f32_plain_nan = retasmFunc.f32_plain_nan;
+export var f32_informally_known_as_plain_snan = retasmFunc.f32_informally_known_as_plain_snan;
+export var f32_all_ones_nan = retasmFunc.f32_all_ones_nan;
+export var f32_misc_nan = retasmFunc.f32_misc_nan;
+export var f32_misc_positive_nan = retasmFunc.f32_misc_positive_nan;
+export var f32_misc_negative_nan = retasmFunc.f32_misc_negative_nan;
+export var f32_infinity = retasmFunc.f32_infinity;
+export var f32_positive_infinity = retasmFunc.f32_positive_infinity;
+export var f32_negative_infinity = retasmFunc.f32_negative_infinity;
+export var f32_zero = retasmFunc.f32_zero;
+export var f32_positive_zero = retasmFunc.f32_positive_zero;
+export var f32_negative_zero = retasmFunc.f32_negative_zero;
+export var f32_misc = retasmFunc.f32_misc;
+export var f32_min_positive = retasmFunc.f32_min_positive;
+export var f32_min_normal = retasmFunc.f32_min_normal;
+export var f32_max_finite = retasmFunc.f32_max_finite;
+export var f32_max_subnormal = retasmFunc.f32_max_subnormal;
+export var f32_trailing_dot = retasmFunc.f32_trailing_dot;
+export var f32_dec_zero = retasmFunc.f32_dec_zero;
+export var f32_dec_positive_zero = retasmFunc.f32_dec_positive_zero;
+export var f32_dec_negative_zero = retasmFunc.f32_dec_negative_zero;
+export var f32_dec_misc = retasmFunc.f32_dec_misc;
+export var f32_dec_min_positive = retasmFunc.f32_dec_min_positive;
+export var f32_dec_min_normal = retasmFunc.f32_dec_min_normal;
+export var f32_dec_max_subnormal = retasmFunc.f32_dec_max_subnormal;
+export var f32_dec_max_finite = retasmFunc.f32_dec_max_finite;
+export var f32_dec_trailing_dot = retasmFunc.f32_dec_trailing_dot;
+export var f64_nan = retasmFunc.f64_nan;
+export var f64_positive_nan = retasmFunc.f64_positive_nan;
+export var f64_negative_nan = retasmFunc.f64_negative_nan;
+export var f64_plain_nan = retasmFunc.f64_plain_nan;
+export var f64_informally_known_as_plain_snan = retasmFunc.f64_informally_known_as_plain_snan;
+export var f64_all_ones_nan = retasmFunc.f64_all_ones_nan;
+export var f64_misc_nan = retasmFunc.f64_misc_nan;
+export var f64_misc_positive_nan = retasmFunc.f64_misc_positive_nan;
+export var f64_misc_negative_nan = retasmFunc.f64_misc_negative_nan;
+export var f64_infinity = retasmFunc.f64_infinity;
+export var f64_positive_infinity = retasmFunc.f64_positive_infinity;
+export var f64_negative_infinity = retasmFunc.f64_negative_infinity;
+export var f64_zero = retasmFunc.f64_zero;
+export var f64_positive_zero = retasmFunc.f64_positive_zero;
+export var f64_negative_zero = retasmFunc.f64_negative_zero;
+export var f64_misc = retasmFunc.f64_misc;
+export var f64_min_positive = retasmFunc.f64_min_positive;
+export var f64_min_normal = retasmFunc.f64_min_normal;
+export var f64_max_subnormal = retasmFunc.f64_max_subnormal;
+export var f64_max_finite = retasmFunc.f64_max_finite;
+export var f64_trailing_dot = retasmFunc.f64_trailing_dot;
+export var f64_dec_zero = retasmFunc.f64_dec_zero;
+export var f64_dec_positive_zero = retasmFunc.f64_dec_positive_zero;
+export var f64_dec_negative_zero = retasmFunc.f64_dec_negative_zero;
+export var f64_dec_misc = retasmFunc.f64_dec_misc;
+export var f64_dec_min_positive = retasmFunc.f64_dec_min_positive;
+export var f64_dec_min_normal = retasmFunc.f64_dec_min_normal;
+export var f64_dec_max_subnormal = retasmFunc.f64_dec_max_subnormal;
+export var f64_dec_max_finite = retasmFunc.f64_dec_max_finite;
+export var f64_dec_trailing_dot = retasmFunc.f64_dec_trailing_dot;
diff --git a/test/wasm2js/float_misc.2asm.js b/test/wasm2js/float_misc.2asm.js
index b977cbede..7557c8fdc 100644
--- a/test/wasm2js/float_misc.2asm.js
+++ b/test/wasm2js/float_misc.2asm.js
@@ -93,7 +93,7 @@ function asmFunc(global, env, buffer) {
function $7(x, y) {
x = Math_fround(x);
y = Math_fround(y);
- return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_scratch_store_f32(x), wasm2js_scratch_load_i32(0)) & 2147483647 | (wasm2js_scratch_store_f32(y), wasm2js_scratch_load_i32(0)) & -2147483648), wasm2js_scratch_load_f32()));
+ return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_scratch_store_f32(x), wasm2js_scratch_load_i32(0)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32(y), wasm2js_scratch_load_i32(0)) & -2147483648 | 0) | 0), wasm2js_scratch_load_f32()));
}
function $8(x) {
@@ -108,12 +108,12 @@ function asmFunc(global, env, buffer) {
function $10(x) {
x = Math_fround(x);
- return Math_fround(__wasm_trunc_f32(x));
+ return Math_fround(Math_fround(__wasm_trunc_f32(Math_fround(x))));
}
function $11(x) {
x = Math_fround(x);
- return Math_fround(__wasm_nearest_f32(x));
+ return Math_fround(Math_fround(__wasm_nearest_f32(Math_fround(x))));
}
function $12(x, y) {
@@ -176,25 +176,25 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$1 = 2147483647;
i64toi32_i32$3 = -1;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- $4_1 = i64toi32_i32$2 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ $4_1 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
$4$hi = i64toi32_i32$1;
wasm2js_scratch_store_f64(+y);
i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$2 = -2147483648;
i64toi32_i32$3 = 0;
- i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2;
- $7_1 = i64toi32_i32$0 & i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0;
+ $7_1 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$1 = $4_1;
i64toi32_i32$0 = $7$hi;
i64toi32_i32$3 = $7_1;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3);
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0);
wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
- return +wasm2js_scratch_load_f64();
+ return +(+wasm2js_scratch_load_f64());
}
function $22(x) {
@@ -209,12 +209,12 @@ function asmFunc(global, env, buffer) {
function $24(x) {
x = +x;
- return +__wasm_trunc_f64(x);
+ return +(+__wasm_trunc_f64(+x));
}
function $25(x) {
x = +x;
- return +__wasm_nearest_f64(x);
+ return +(+__wasm_nearest_f64(+x));
}
function $26(x, y) {
@@ -230,6 +230,7 @@ function asmFunc(global, env, buffer) {
}
function __wasm_nearest_f32(var$0) {
+ var$0 = Math_fround(var$0);
var var$1 = Math_fround(0), var$2 = Math_fround(0);
var$1 = Math_fround(Math_floor(var$0));
var$2 = Math_fround(var$0 - var$1);
@@ -237,16 +238,17 @@ function asmFunc(global, env, buffer) {
{
var$0 = Math_fround(Math_ceil(var$0));
if (var$2 > Math_fround(.5)) {
- return var$0
+ return Math_fround(var$0)
}
var$2 = Math_fround(var$1 * Math_fround(.5));
var$1 = Math_fround(var$2 - Math_fround(Math_floor(var$2))) == Math_fround(0.0) ? var$1 : var$0;
}
}
- return var$1;
+ return Math_fround(var$1);
}
function __wasm_nearest_f64(var$0) {
+ var$0 = +var$0;
var var$1 = 0.0, var$2 = 0.0;
var$1 = Math_floor(var$0);
var$2 = var$0 - var$1;
@@ -254,21 +256,23 @@ function asmFunc(global, env, buffer) {
{
var$0 = Math_ceil(var$0);
if (var$2 > .5) {
- return var$0
+ return +var$0
}
var$2 = var$1 * .5;
var$1 = var$2 - Math_floor(var$2) == 0.0 ? var$1 : var$0;
}
}
- return var$1;
+ return +var$1;
}
function __wasm_trunc_f32(var$0) {
- return var$0 < Math_fround(0.0) ? Math_fround(Math_ceil(var$0)) : Math_fround(Math_floor(var$0));
+ var$0 = Math_fround(var$0);
+ return Math_fround(var$0 < Math_fround(0.0) ? Math_fround(Math_ceil(var$0)) : Math_fround(Math_floor(var$0)));
}
function __wasm_trunc_f64(var$0) {
- return var$0 < 0.0 ? Math_ceil(var$0) : Math_floor(var$0);
+ var$0 = +var$0;
+ return +(var$0 < 0.0 ? Math_ceil(var$0) : Math_floor(var$0));
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/forward.2asm.js b/test/wasm2js/forward.2asm.js
index 788ba8b8c..1fd671e49 100644
--- a/test/wasm2js/forward.2asm.js
+++ b/test/wasm2js/forward.2asm.js
@@ -27,7 +27,7 @@ function asmFunc(global, env, buffer) {
if ((n | 0) == (0 | 0)) {
$6 = 1
} else {
- $6 = odd(n - 1 | 0)
+ $6 = odd(n - 1 | 0 | 0) | 0
}
return $6 | 0;
}
@@ -38,7 +38,7 @@ function asmFunc(global, env, buffer) {
if ((n | 0) == (0 | 0)) {
$6 = 0
} else {
- $6 = even(n - 1 | 0)
+ $6 = even(n - 1 | 0 | 0) | 0
}
return $6 | 0;
}
diff --git a/test/wasm2js/func-ptr-offset.2asm.js b/test/wasm2js/func-ptr-offset.2asm.js
index 5789e47d4..05250ed74 100644
--- a/test/wasm2js/func-ptr-offset.2asm.js
+++ b/test/wasm2js/func-ptr-offset.2asm.js
@@ -35,7 +35,7 @@ function asmFunc(global, env, buffer) {
function $3($0) {
$0 = $0 | 0;
- return FUNCTION_TABLE[$0]() | 0;
+ return FUNCTION_TABLE[$0]() | 0 | 0;
}
var FUNCTION_TABLE = [null, t1, t2, t3];
diff --git a/test/wasm2js/func-ptr-offset.2asm.js.opt b/test/wasm2js/func-ptr-offset.2asm.js.opt
new file mode 100644
index 000000000..5789e47d4
--- /dev/null
+++ b/test/wasm2js/func-ptr-offset.2asm.js.opt
@@ -0,0 +1,49 @@
+
+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;
+ function t1() {
+ return 1 | 0;
+ }
+
+ function t2() {
+ return 2 | 0;
+ }
+
+ function t3() {
+ return 3 | 0;
+ }
+
+ function $3($0) {
+ $0 = $0 | 0;
+ return FUNCTION_TABLE[$0]() | 0;
+ }
+
+ var FUNCTION_TABLE = [null, t1, t2, t3];
+ return {
+ "call": $3
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var call = retasmFunc.call;
diff --git a/test/wasm2js/func.2asm.js b/test/wasm2js/func.2asm.js
index 693433c26..c2d422b2e 100644
--- a/test/wasm2js/func.2asm.js
+++ b/test/wasm2js/func.2asm.js
@@ -179,7 +179,7 @@ function asmFunc(global, env, buffer) {
}
function $46() {
- return 77.77;
+ return +(77.77);
}
function $47() {
@@ -210,7 +210,7 @@ function asmFunc(global, env, buffer) {
}
function $53() {
- return 78.78;
+ return +(78.78);
}
function $54() {
@@ -419,57 +419,61 @@ function asmFunc(global, env, buffer) {
function legalstub$24() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $24();
+ i64toi32_i32$0 = $24() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$28() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $28();
+ i64toi32_i32$0 = $28() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$33($0, $1, $2_1, $3) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21 = 0, $22 = 0, $23_1 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $10 = 0, $10$hi = 0, $12 = 0, $12$hi = 0, $15$hi = 0, $16 = 0, $16$hi = 0, $4 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6 = $0;
@@ -478,16 +482,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -495,8 +499,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12 = $2_1;
@@ -505,16 +509,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -522,36 +526,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $33($10, i64toi32_i32$1, $16, i64toi32_i32$2);
+ i64toi32_i32$2 = $33($10 | 0, i64toi32_i32$1 | 0, $16 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4;
+ return $4 | 0;
}
function legalstub$37($0, $1, $2_1, $3) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21 = 0, $22 = 0, $23_1 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $10 = 0, $10$hi = 0, $12 = 0, $12$hi = 0, $15$hi = 0, $16 = 0, $16$hi = 0, $4 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6 = $0;
@@ -560,16 +568,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -577,8 +585,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12 = $2_1;
@@ -587,16 +595,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -604,36 +612,43 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $37($10, i64toi32_i32$1, $16, i64toi32_i32$2);
+ i64toi32_i32$2 = $37($10 | 0, i64toi32_i32$1 | 0, $16 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4;
+ return $4 | 0;
}
function legalstub$40($0, $1, $2_1, $3, $4, $5, $6) {
+ $0 = Math_fround($0);
+ $1 = $1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = +$5;
+ $6 = $6 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $17 = 0, $7 = Math_fround(0), $8 = 0, $10 = 0, $10$hi = 0, $13$hi = 0;
$7 = $0;
$8 = $1;
@@ -644,16 +659,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$17 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $17 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $17 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$13$hi = i64toi32_i32$1;
@@ -661,112 +676,112 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $10;
i64toi32_i32$2 = $13$hi;
i64toi32_i32$3 = $17;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $40($7, $8, i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2, $4, $5, $6);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return +(+$40(Math_fround($7), $8 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4 | 0, +$5, $6 | 0));
}
function legalstub$44() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $44();
+ i64toi32_i32$0 = $44() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$51() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $51();
+ i64toi32_i32$0 = $51() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$57() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $57();
+ i64toi32_i32$0 = $57() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
function legalstub$68() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $68();
+ i64toi32_i32$0 = $68() | 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $7 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($7 | 0);
i64toi32_i32$0 = $0$hi;
- return $0;
+ return $0 | 0;
}
var FUNCTION_TABLE = [complex_sig_3, empty_sig_2, complex_sig_1, complex_sig_3, empty_sig_1];
diff --git a/test/wasm2js/func_ptrs.2asm.js b/test/wasm2js/func_ptrs.2asm.js
index 708879e51..5ad0aff27 100644
--- a/test/wasm2js/func_ptrs.2asm.js
+++ b/test/wasm2js/func_ptrs.2asm.js
@@ -29,12 +29,12 @@ function asmFunc(global, env, buffer) {
function $4($0) {
$0 = $0 | 0;
- return $0 + 1 | 0;
+ return $0 + 1 | 0 | 0;
}
function $5(a) {
a = a | 0;
- return a - 2 | 0;
+ return a - 2 | 0 | 0;
}
function $6($0) {
@@ -102,12 +102,12 @@ function asmFunc(global, env, buffer) {
function $5(i) {
i = i | 0;
- return FUNCTION_TABLE[i]() | 0;
+ return FUNCTION_TABLE[i]() | 0 | 0;
}
function $6(i) {
i = i | 0;
- return FUNCTION_TABLE[i]() | 0;
+ return FUNCTION_TABLE[i]() | 0 | 0;
}
var FUNCTION_TABLE = [t1, t2, t3, u1, u2, t1, t3];
@@ -154,7 +154,7 @@ function asmFunc(global, env, buffer) {
function $2(i) {
i = i | 0;
- return FUNCTION_TABLE[i]() | 0;
+ return FUNCTION_TABLE[i]() | 0 | 0;
}
var FUNCTION_TABLE = [t1, t2];
diff --git a/test/wasm2js/get-set-local.2asm.js b/test/wasm2js/get-set-local.2asm.js
index 3c69b3652..06ccfb3b3 100644
--- a/test/wasm2js/get-set-local.2asm.js
+++ b/test/wasm2js/get-set-local.2asm.js
@@ -31,10 +31,13 @@ function asmFunc(global, env, buffer) {
$9$hi = i64toi32_i32$0;
i64toi32_i32$0 = r$hi;
i64toi32_i32$0 = $9$hi;
- return ($0 | 0) == (r | 0) & (i64toi32_i32$0 | 0) == (r$hi | 0);
+ return ($0 | 0) == (r | 0) & (i64toi32_i32$0 | 0) == (r$hi | 0) | 0 | 0;
}
function legalstub$1($0, $1_1, $2) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2 = $2 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $12 = 0, $3 = 0, $5 = 0, $5$hi = 0, $8$hi = 0;
$3 = $0;
i64toi32_i32$0 = 0;
@@ -44,16 +47,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $2;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -61,8 +64,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $1($3, i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return $1($3 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/get-set-local.2asm.js.opt b/test/wasm2js/get-set-local.2asm.js.opt
new file mode 100644
index 000000000..c0436d8fb
--- /dev/null
+++ b/test/wasm2js/get-set-local.2asm.js.opt
@@ -0,0 +1,36 @@
+
+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;
+ function legalstub$1($0, $1, $2) {
+ return !$2 & ($0 | 0) == ($1 | 0);
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "check_extend_ui32": legalstub$1
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var check_extend_ui32 = retasmFunc.check_extend_ui32;
diff --git a/test/wasm2js/get_local.2asm.js b/test/wasm2js/get_local.2asm.js
index ddf0c30fa..782be9fba 100644
--- a/test/wasm2js/get_local.2asm.js
+++ b/test/wasm2js/get_local.2asm.js
@@ -106,31 +106,33 @@ function asmFunc(global, env, buffer) {
function legalstub$1() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $1();
+ i64toi32_i32$0 = $1() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$5($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -139,16 +141,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -156,32 +158,38 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $5(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $5(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$8($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = Math_fround($2_1);
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0;
i64toi32_i32$0 = 0;
$7_1 = $0_1;
@@ -190,16 +198,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$14 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $14 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -207,11 +215,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7_1;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $14;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $8(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2, $2_1, $3_1, $4_1, $5_1);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $8(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0);
}
function legalstub$9($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = Math_fround($2_1);
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0;
i64toi32_i32$0 = 0;
$7_1 = $0_1;
@@ -220,16 +234,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$14 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $14 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -237,8 +251,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7_1;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $14;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $9(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2, $2_1, $3_1, $4_1, $5_1);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return +(+$9(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0));
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/global_i64.2asm.js b/test/wasm2js/global_i64.2asm.js
index bdd72a121..3c0e13ec8 100644
--- a/test/wasm2js/global_i64.2asm.js
+++ b/test/wasm2js/global_i64.2asm.js
@@ -24,13 +24,14 @@ function asmFunc(global, env, buffer) {
var f = -1412567121;
var f$hi = 305419896;
function call($0, $0$hi) {
-
+ $0 = $0 | 0;
+ $0$hi = $0$hi | 0;
}
function $1() {
var i64toi32_i32$0 = 0;
i64toi32_i32$0 = f$hi;
- call(f, i64toi32_i32$0);
+ call(f | 0, i64toi32_i32$0 | 0);
i64toi32_i32$0 = 287454020;
f = 1432778632;
f$hi = i64toi32_i32$0;
diff --git a/test/wasm2js/global_i64.2asm.js.opt b/test/wasm2js/global_i64.2asm.js.opt
new file mode 100644
index 000000000..5cebbca7d
--- /dev/null
+++ b/test/wasm2js/global_i64.2asm.js.opt
@@ -0,0 +1,39 @@
+
+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 f = -1412567121;
+ var f$hi = 305419896;
+ function $1() {
+ f = 1432778632;
+ f$hi = 287454020;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "exp": $1
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var exp = retasmFunc.exp;
diff --git a/test/wasm2js/grow-memory-tricky.2asm.js b/test/wasm2js/grow-memory-tricky.2asm.js
index ba6d59ced..da4995072 100644
--- a/test/wasm2js/grow-memory-tricky.2asm.js
+++ b/test/wasm2js/grow-memory-tricky.2asm.js
@@ -24,17 +24,17 @@ function asmFunc(global, env, buffer) {
function $0() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
(wasm2js_i32$0 = 0, wasm2js_i32$1 = __wasm_grow_memory(1 | 0)), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- return HEAP32[0 >> 2] | 0;
+ return HEAP32[0 >> 2] | 0 | 0;
}
function $1() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
- (wasm2js_i32$0 = 0, wasm2js_i32$1 = grow()), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- return HEAP32[0 >> 2] | 0;
+ (wasm2js_i32$0 = 0, wasm2js_i32$1 = grow() | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
+ return HEAP32[0 >> 2] | 0 | 0;
}
function grow() {
- return __wasm_grow_memory(1 | 0);
+ return __wasm_grow_memory(1 | 0) | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/grow-memory-tricky.2asm.js.opt b/test/wasm2js/grow-memory-tricky.2asm.js.opt
new file mode 100644
index 000000000..73ac15b09
--- /dev/null
+++ b/test/wasm2js/grow-memory-tricky.2asm.js.opt
@@ -0,0 +1,79 @@
+
+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;
+ function $0() {
+ var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
+ (wasm2js_i32$0 = 0, wasm2js_i32$1 = __wasm_grow_memory(1 | 0)), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
+ return HEAP32[0 >> 2] | 0;
+ }
+
+ var FUNCTION_TABLE = [];
+ function __wasm_grow_memory(pagesToAdd) {
+ pagesToAdd = pagesToAdd | 0;
+ var oldPages = __wasm_current_memory() | 0;
+ var newPages = oldPages + pagesToAdd | 0;
+ if ((oldPages < newPages) && (newPages < 65536)) {
+ {
+ var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536));
+ var newHEAP8 = new global.Int8Array(newBuffer);
+ newHEAP8.set(HEAP8);
+ HEAP8 = newHEAP8;
+ HEAP16 = new global.Int16Array(newBuffer);
+ HEAP32 = new global.Int32Array(newBuffer);
+ HEAPU8 = new global.Uint8Array(newBuffer);
+ HEAPU16 = new global.Uint16Array(newBuffer);
+ HEAPU32 = new global.Uint32Array(newBuffer);
+ HEAPF32 = new global.Float32Array(newBuffer);
+ HEAPF64 = new global.Float64Array(newBuffer);
+ buffer = newBuffer;
+ }
+ }
+ return oldPages;
+ }
+
+ function __wasm_current_memory() {
+ return buffer.byteLength / 65536 | 0;
+ }
+
+ return {
+ "memory": Object.create(Object.prototype, {
+ "grow": {
+ "value": __wasm_grow_memory
+ },
+ "buffer": {
+ "get": function () {
+ return buffer;
+ }
+
+ }
+ }),
+ "f1": $0,
+ "f2": $0
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var memory = retasmFunc.memory;
+export var f1 = retasmFunc.f1;
+export var f2 = retasmFunc.f2;
diff --git a/test/wasm2js/hello_world.2asm.js b/test/wasm2js/hello_world.2asm.js
index e8d54b239..45dc5d7db 100644
--- a/test/wasm2js/hello_world.2asm.js
+++ b/test/wasm2js/hello_world.2asm.js
@@ -24,7 +24,7 @@ function asmFunc(global, env, buffer) {
function add(x, y) {
x = x | 0;
y = y | 0;
- return x + y | 0;
+ return x + y | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/i32.2asm.js b/test/wasm2js/i32.2asm.js
index f3325de7e..f049b6b4e 100644
--- a/test/wasm2js/i32.2asm.js
+++ b/test/wasm2js/i32.2asm.js
@@ -24,13 +24,13 @@ function asmFunc(global, env, buffer) {
function $0(x, y) {
x = x | 0;
y = y | 0;
- return x + y | 0;
+ return x + y | 0 | 0;
}
function $1(x, y) {
x = x | 0;
y = y | 0;
- return x - y | 0;
+ return x - y | 0 | 0;
}
function $2(x, y) {
@@ -42,73 +42,73 @@ function asmFunc(global, env, buffer) {
function $3(x, y) {
x = x | 0;
y = y | 0;
- return (x | 0) / (y | 0) | 0;
+ return (x | 0) / (y | 0) | 0 | 0;
}
function $4(x, y) {
x = x | 0;
y = y | 0;
- return (x >>> 0) / (y >>> 0) | 0;
+ return (x >>> 0) / (y >>> 0) | 0 | 0;
}
function $5(x, y) {
x = x | 0;
y = y | 0;
- return (x | 0) % (y | 0) | 0;
+ return (x | 0) % (y | 0) | 0 | 0;
}
function $6(x, y) {
x = x | 0;
y = y | 0;
- return (x >>> 0) % (y >>> 0) | 0;
+ return (x >>> 0) % (y >>> 0) | 0 | 0;
}
function $7(x, y) {
x = x | 0;
y = y | 0;
- return x & y;
+ return x & y | 0 | 0;
}
function $8(x, y) {
x = x | 0;
y = y | 0;
- return x | y;
+ return x | y | 0 | 0;
}
function $9(x, y) {
x = x | 0;
y = y | 0;
- return x ^ y;
+ return x ^ y | 0 | 0;
}
function $10(x, y) {
x = x | 0;
y = y | 0;
- return x << y;
+ return x << y | 0 | 0;
}
function $11(x, y) {
x = x | 0;
y = y | 0;
- return x >> y;
+ return x >> y | 0 | 0;
}
function $12(x, y) {
x = x | 0;
y = y | 0;
- return x >>> y;
+ return x >>> y | 0 | 0;
}
function $13(x, y) {
x = x | 0;
y = y | 0;
- return __wasm_rotl_i32(x, y) | 0;
+ return __wasm_rotl_i32(x | 0, y | 0) | 0 | 0;
}
function $14(x, y) {
x = x | 0;
y = y | 0;
- return __wasm_rotr_i32(x, y) | 0;
+ return __wasm_rotr_i32(x | 0, y | 0) | 0 | 0;
}
function $15(x) {
@@ -118,12 +118,12 @@ function asmFunc(global, env, buffer) {
function $16(x) {
x = x | 0;
- return __wasm_ctz_i32(x) | 0;
+ return __wasm_ctz_i32(x | 0) | 0 | 0;
}
function $17(x) {
x = x | 0;
- return __wasm_popcnt_i32(x) | 0;
+ return __wasm_popcnt_i32(x | 0) | 0 | 0;
}
function $18(x) {
@@ -192,13 +192,15 @@ function asmFunc(global, env, buffer) {
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
function __wasm_popcnt_i32(var$0) {
+ var$0 = var$0 | 0;
var var$1 = 0, $5_1 = 0;
label$1 : {
label$2 : while (1) {
@@ -206,26 +208,30 @@ function asmFunc(global, env, buffer) {
if (!var$0) {
break label$1
}
- var$0 = var$0 & var$0 - 1;
+ var$0 = var$0 & (var$0 - 1 | 0) | 0;
var$1 = var$1 + 1 | 0;
- continue;
+ continue label$2;
};
}
- return $5_1;
+ return $5_1 | 0;
}
function __wasm_rotl_i32(var$0, var$1) {
+ var$0 = var$0 | 0;
+ var$1 = var$1 | 0;
var var$2 = 0;
- var$2 = var$1 & 31;
- var$1 = 0 - var$1 & 31;
- return (-1 >>> var$2 & var$0) << var$2 | (-1 << var$1 & var$0) >>> var$1;
+ var$2 = var$1 & 31 | 0;
+ var$1 = (0 - var$1 | 0) & 31 | 0;
+ return ((-1 >>> var$2 | 0) & var$0 | 0) << var$2 | 0 | (((-1 << var$1 | 0) & var$0 | 0) >>> var$1 | 0) | 0 | 0;
}
function __wasm_rotr_i32(var$0, var$1) {
+ var$0 = var$0 | 0;
+ var$1 = var$1 | 0;
var var$2 = 0;
- var$2 = var$1 & 31;
- var$1 = 0 - var$1 & 31;
- return (-1 << var$2 & var$0) >>> var$2 | (-1 >>> var$1 & var$0) << var$1;
+ var$2 = var$1 & 31 | 0;
+ var$1 = (0 - var$1 | 0) & 31 | 0;
+ return ((-1 << var$2 | 0) & var$0 | 0) >>> var$2 | 0 | (((-1 >>> var$1 | 0) & var$0 | 0) << var$1 | 0) | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/i64-add-sub.2asm.js b/test/wasm2js/i64-add-sub.2asm.js
index d1e8aef27..d27bbe3e4 100644
--- a/test/wasm2js/i64-add-sub.2asm.js
+++ b/test/wasm2js/i64-add-sub.2asm.js
@@ -39,7 +39,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = r$hi;
i64toi32_i32$5 = $5$hi;
i64toi32_i32$3 = r;
- return (i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (r$hi | 0);
+ return (i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (r$hi | 0) | 0 | 0;
}
function $2($0, $0$hi, $1_1, $1$hi, r, r$hi) {
@@ -63,10 +63,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$2 = r$hi;
i64toi32_i32$3 = r;
- return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0);
+ return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$1($0, $1_1, $2_1, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
i64toi32_i32$0 = 0;
$7 = $0;
@@ -75,16 +81,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$26 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $26 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -92,8 +98,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $26;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $11 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$11$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$13 = $2_1;
@@ -102,16 +108,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$27 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $27 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$16$hi = i64toi32_i32$0;
@@ -119,8 +125,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $13;
i64toi32_i32$1 = $16$hi;
i64toi32_i32$3 = $27;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $17 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$17$hi = i64toi32_i32$1;
i64toi32_i32$1 = 0;
$19 = $4;
@@ -129,16 +135,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$28 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $28 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
$22$hi = i64toi32_i32$2;
@@ -146,16 +152,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19;
i64toi32_i32$0 = $22$hi;
i64toi32_i32$3 = $28;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- $23 = i64toi32_i32$1 | i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
$23$hi = i64toi32_i32$0;
i64toi32_i32$0 = $11$hi;
i64toi32_i32$1 = $17$hi;
i64toi32_i32$2 = $23$hi;
- return $1($11, i64toi32_i32$0, $17, i64toi32_i32$1, $23, i64toi32_i32$2);
+ return $1($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$2($0, $1_1, $2_1, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
i64toi32_i32$0 = 0;
$7 = $0;
@@ -164,16 +176,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$26 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $26 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -181,8 +193,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $26;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $11 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$11$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$13 = $2_1;
@@ -191,16 +203,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$27 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $27 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$16$hi = i64toi32_i32$0;
@@ -208,8 +220,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $13;
i64toi32_i32$1 = $16$hi;
i64toi32_i32$3 = $27;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $17 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$17$hi = i64toi32_i32$1;
i64toi32_i32$1 = 0;
$19 = $4;
@@ -218,16 +230,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$28 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $28 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
$22$hi = i64toi32_i32$2;
@@ -235,13 +247,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19;
i64toi32_i32$0 = $22$hi;
i64toi32_i32$3 = $28;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- $23 = i64toi32_i32$1 | i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
$23$hi = i64toi32_i32$0;
i64toi32_i32$0 = $11$hi;
i64toi32_i32$1 = $17$hi;
i64toi32_i32$2 = $23$hi;
- return $2($11, i64toi32_i32$0, $17, i64toi32_i32$1, $23, i64toi32_i32$2);
+ return $2($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/i64-add-sub.2asm.js.opt b/test/wasm2js/i64-add-sub.2asm.js.opt
new file mode 100644
index 000000000..5036c2acf
--- /dev/null
+++ b/test/wasm2js/i64-add-sub.2asm.js.opt
@@ -0,0 +1,110 @@
+
+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;
+ function $1($0, $1_1, $2, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2 = $2 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
+ $1_1 = $1_1 + $3 | 0;
+ $0 = $0 + $2 | 0;
+ if ($0 >>> 0 < $2 >>> 0) {
+ $1_1 = $1_1 + 1 | 0
+ }
+ return ($0 | 0) == ($4 | 0) & ($1_1 | 0) == ($5 | 0);
+ }
+
+ function legalstub$1($0, $1_1, $2, $3, $4, $5) {
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ $11 = $0;
+ $7 = 32;
+ $0 = $7 & 31;
+ if (32 >>> 0 <= $7 >>> 0) {
+ {
+ $6 = $1_1 << $0;
+ $8 = 0;
+ }
+ } else {
+ {
+ $6 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $6 << $0;
+ $8 = $1_1 << $0;
+ }
+ }
+ $12 = $11 | $8;
+ $13 = $6 | $17;
+ $14 = $2;
+ $2 = 0;
+ $1_1 = $3;
+ $3 = 32;
+ $0 = $3 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2 = $1_1 << $0;
+ $9 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $2 << $0;
+ $9 = $1_1 << $0;
+ }
+ }
+ $15 = $14 | $9;
+ $16 = $2 | $18;
+ $2 = 0;
+ $1_1 = $5;
+ $0 = 32 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2 = $1_1 << $0;
+ $10 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $2 << $0;
+ $10 = $1_1 << $0;
+ }
+ }
+ return $1($12, $13, $15, $16, $10 | $4, $2 | $19);
+ }
+
+ function legalstub$2($0, $1_1, $2, $3, $4, $5) {
+ var $6 = 0;
+ $6 = $2;
+ $2 = $3;
+ $3 = $6 | 0;
+ return ($4 | 0) == ($0 - $3 | 0) & ($5 | 0) == ($1_1 - (($0 >>> 0 < $3 >>> 0) + $2 | 0) | 0);
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "check_add_i64": legalstub$1,
+ "check_sub_i64": legalstub$2
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var check_add_i64 = retasmFunc.check_add_i64;
+export var check_sub_i64 = retasmFunc.check_sub_i64;
diff --git a/test/wasm2js/i64-ctz.2asm.js b/test/wasm2js/i64-ctz.2asm.js
index b95e2ebb5..6e08b3906 100644
--- a/test/wasm2js/i64-ctz.2asm.js
+++ b/test/wasm2js/i64-ctz.2asm.js
@@ -29,7 +29,7 @@ function asmFunc(global, env, buffer) {
$0$hi = $0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = $0$hi;
- i64toi32_i32$0 = __wasm_popcnt_i64($0, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_popcnt_i64($0 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
@@ -40,13 +40,15 @@ function asmFunc(global, env, buffer) {
$0$hi = $0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = $0$hi;
- i64toi32_i32$0 = __wasm_ctz_i64($0, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_ctz_i64($0 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
function legalstub$popcnt64($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -55,16 +57,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -72,32 +74,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = popcnt64(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = popcnt64(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalstub$ctz64($0, $1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0;
@@ -106,16 +110,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -123,35 +127,37 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = ctz64(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = ctz64(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function __wasm_ctz_i64(var$0, var$0$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $10 = 0, $5$hi = 0, $8$hi = 0;
i64toi32_i32$0 = var$0$hi;
- if (!!(var$0 | i64toi32_i32$0)) {
+ if (!!(var$0 | i64toi32_i32$0 | 0)) {
{
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
@@ -168,8 +174,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$3 = Math_clz32(i64toi32_i32$2);
i64toi32_i32$5 = 0;
if ((i64toi32_i32$3 | 0) == (32 | 0)) {
@@ -187,22 +193,24 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0;
i64toi32_i32$0 = i64toi32_i32$1;
i64toi32_i32$HIGH_BITS = i64toi32_i32$4;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
}
i64toi32_i32$0 = 0;
i64toi32_i32$4 = 64;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function __wasm_popcnt_i64(var$0, var$0$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, var$1$hi = 0, var$1 = 0, $5 = 0, $5$hi = 0, $4 = 0, $9$hi = 0;
label$1 : {
label$2 : while (1) {
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
- $4 = !(var$0 | i64toi32_i32$0);
+ $4 = !(var$0 | i64toi32_i32$0 | 0);
i64toi32_i32$0 = var$1$hi;
$5 = var$1;
$5$hi = i64toi32_i32$0;
@@ -222,8 +230,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = i64toi32_i32$4;
- i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2;
- var$0 = i64toi32_i32$0 & i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0;
+ var$0 = i64toi32_i32$0 & i64toi32_i32$4 | 0;
var$0$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$5 = var$1;
@@ -236,13 +244,13 @@ function asmFunc(global, env, buffer) {
}
var$1 = i64toi32_i32$1;
var$1$hi = i64toi32_i32$4;
- continue;
+ continue label$2;
};
}
i64toi32_i32$4 = $5$hi;
i64toi32_i32$5 = $5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$4;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/i64-ctz.2asm.js.opt b/test/wasm2js/i64-ctz.2asm.js.opt
new file mode 100644
index 000000000..a43a10482
--- /dev/null
+++ b/test/wasm2js/i64-ctz.2asm.js.opt
@@ -0,0 +1,98 @@
+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 legalstub$popcnt64($0, $1) {
+ $0 = __wasm_popcnt_i64($0, $1);
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0;
+ }
+
+ function legalstub$ctz64($0, $1) {
+ $0 = __wasm_ctz_i64($0, $1);
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0;
+ }
+
+ function __wasm_ctz_i64($0, $1) {
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ if ($0 | $1) {
+ {
+ $3 = 63;
+ $6 = $3;
+ $2 = $1 + -1 | 0;
+ $4 = -1;
+ $5 = $4 + $0 | 0;
+ if ($5 >>> 0 < $4 >>> 0) {
+ $2 = $2 + 1 | 0
+ }
+ $7 = Math_clz32($0 ^ $5) + 32 | 0;
+ $0 = Math_clz32($1 ^ $2);
+ $0 = ($0 | 0) == (32 | 0) ? $7 : $0;
+ $1 = $6 - $0 | 0;
+ i64toi32_i32$HIGH_BITS = 0 - ($3 >>> 0 < $0 >>> 0) | 0;
+ return $1;
+ }
+ }
+ i64toi32_i32$HIGH_BITS = 0;
+ return 64;
+ }
+
+ function __wasm_popcnt_i64($0, $1) {
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0;
+ label$2 : while (1) {
+ $3 = $4;
+ $2 = $5;
+ if ($0 | $1) {
+ {
+ $2 = $0;
+ $3 = 1;
+ $0 = $2 - $3 & $2;
+ $1 = $1 - ($2 >>> 0 < $3 >>> 0) & $1;
+ $2 = 1 + $4 | 0;
+ if ($2 >>> 0 < $3 >>> 0) {
+ $5 = $5 + 1 | 0
+ }
+ $4 = $2;
+ continue;
+ }
+ }
+ break;
+ };
+ i64toi32_i32$HIGH_BITS = $2;
+ return $3;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "a": legalstub$popcnt64,
+ "b": legalstub$ctz64
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+export var a = retasmFunc.a;
+export var b = retasmFunc.b;
diff --git a/test/wasm2js/i64-lowering.2asm.js b/test/wasm2js/i64-lowering.2asm.js
index 60e9bb134..6c676d7f8 100644
--- a/test/wasm2js/i64-lowering.2asm.js
+++ b/test/wasm2js/i64-lowering.2asm.js
@@ -30,7 +30,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
- return ($0 | 0) == ($1_1 | 0) & (i64toi32_i32$0 | 0) == ($1$hi | 0);
+ return ($0 | 0) == ($1_1 | 0) & (i64toi32_i32$0 | 0) == ($1$hi | 0) | 0 | 0;
}
function $2($0, $0$hi, $1_1, $1$hi) {
@@ -42,7 +42,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
- return ($0 | 0) != ($1_1 | 0) | (i64toi32_i32$0 | 0) != ($1$hi | 0);
+ return ($0 | 0) != ($1_1 | 0) | (i64toi32_i32$0 | 0) != ($1$hi | 0) | 0 | 0;
}
function $3($0, $0$hi, $1_1, $1$hi) {
@@ -190,7 +190,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
- return i64toi32_i32$0 >>> 0 > $1$hi >>> 0 | (i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 >= $1_1 >>> 0;
+ return i64toi32_i32$0 >>> 0 > $1$hi >>> 0 | ((i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 >= $1_1 >>> 0 | 0) | 0 | 0;
}
function $8($0, $0$hi, $1_1, $1$hi) {
@@ -202,7 +202,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
- return i64toi32_i32$0 >>> 0 > $1$hi >>> 0 | (i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 > $1_1 >>> 0;
+ return i64toi32_i32$0 >>> 0 > $1$hi >>> 0 | ((i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 > $1_1 >>> 0 | 0) | 0 | 0;
}
function $9($0, $0$hi, $1_1, $1$hi) {
@@ -214,7 +214,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
- return i64toi32_i32$0 >>> 0 < $1$hi >>> 0 | (i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 <= $1_1 >>> 0;
+ return i64toi32_i32$0 >>> 0 < $1$hi >>> 0 | ((i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 <= $1_1 >>> 0 | 0) | 0 | 0;
}
function $10($0, $0$hi, $1_1, $1$hi) {
@@ -226,10 +226,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
- return i64toi32_i32$0 >>> 0 < $1$hi >>> 0 | (i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 < $1_1 >>> 0;
+ return i64toi32_i32$0 >>> 0 < $1$hi >>> 0 | ((i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 < $1_1 >>> 0 | 0) | 0 | 0;
}
function legalstub$1($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -238,16 +242,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -255,8 +259,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -265,16 +269,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -282,15 +286,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $1($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $1($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$2($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -299,16 +307,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -316,8 +324,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -326,16 +334,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -343,15 +351,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $2($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $2($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$3($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -360,16 +372,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -377,8 +389,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -387,16 +399,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -404,15 +416,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $3($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $3($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$4($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -421,16 +437,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -438,8 +454,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -448,16 +464,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -465,15 +481,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $4($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $4($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$5($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -482,16 +502,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -499,8 +519,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -509,16 +529,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -526,15 +546,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $5($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $5($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$6($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -543,16 +567,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -560,8 +584,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -570,16 +594,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -587,15 +611,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $6($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $6($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$7($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -604,16 +632,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -621,8 +649,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -631,16 +659,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -648,15 +676,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $7($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $7($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$8($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -665,16 +697,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -682,8 +714,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -692,16 +724,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -709,15 +741,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $8($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $8($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$9($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -726,16 +762,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -743,8 +779,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -753,16 +789,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -770,15 +806,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $9($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $9($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$10($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -787,16 +827,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -804,8 +844,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -814,16 +854,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -831,12 +871,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $10($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $10($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/i64-lowering.2asm.js.opt b/test/wasm2js/i64-lowering.2asm.js.opt
new file mode 100644
index 000000000..e79de1f87
--- /dev/null
+++ b/test/wasm2js/i64-lowering.2asm.js.opt
@@ -0,0 +1,270 @@
+
+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;
+ function $3($0, $1, $2, $3_1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2 = $2 | 0;
+ $3_1 = $3_1 | 0;
+ return (($1 | 0) > ($3_1 | 0) ? 1 : ($1 | 0) >= ($3_1 | 0) ? ($0 >>> 0 < $2 >>> 0 ? 0 : 1) : 0) | 0;
+ }
+
+ function $4($0, $1, $2, $3_1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2 = $2 | 0;
+ $3_1 = $3_1 | 0;
+ return (($1 | 0) > ($3_1 | 0) ? 1 : ($1 | 0) >= ($3_1 | 0) ? ($0 >>> 0 <= $2 >>> 0 ? 0 : 1) : 0) | 0;
+ }
+
+ function $5($0, $1, $2, $3_1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2 = $2 | 0;
+ $3_1 = $3_1 | 0;
+ return (($1 | 0) < ($3_1 | 0) ? 1 : ($1 | 0) <= ($3_1 | 0) ? ($0 >>> 0 > $2 >>> 0 ? 0 : 1) : 0) | 0;
+ }
+
+ function $6($0, $1, $2, $3_1) {
+ $0 = $0 | 0;
+ $1 = $1 | 0;
+ $2 = $2 | 0;
+ $3_1 = $3_1 | 0;
+ return (($1 | 0) < ($3_1 | 0) ? 1 : ($1 | 0) <= ($3_1 | 0) ? ($0 >>> 0 >= $2 >>> 0 ? 0 : 1) : 0) | 0;
+ }
+
+ function legalstub$1($0, $1, $2, $3_1) {
+ return ($0 | 0) == ($2 | 0) & ($1 | 0) == ($3_1 | 0);
+ }
+
+ function legalstub$2($0, $1, $2, $3_1) {
+ return ($0 | 0) != ($2 | 0) | ($1 | 0) != ($3_1 | 0);
+ }
+
+ function legalstub$3($0, $1, $2, $3_1) {
+ var $4_1 = 0, $5_1 = 0, $6_1 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0;
+ $8 = $0;
+ $5_1 = 32;
+ $0 = $5_1 & 31;
+ if (32 >>> 0 <= $5_1 >>> 0) {
+ {
+ $4_1 = $1 << $0;
+ $6_1 = 0;
+ }
+ } else {
+ {
+ $4_1 = (1 << $0) - 1 & $1 >>> 32 - $0 | $4_1 << $0;
+ $6_1 = $1 << $0;
+ }
+ }
+ $9 = $8 | $6_1;
+ $10 = $4_1 | $12;
+ $11 = $2;
+ $2 = 0;
+ $1 = $3_1;
+ $3_1 = 32;
+ $0 = $3_1 & 31;
+ if (32 >>> 0 <= $3_1 >>> 0) {
+ {
+ $2 = $1 << $0;
+ $7 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0) - 1 & $1 >>> 32 - $0 | $2 << $0;
+ $7 = $1 << $0;
+ }
+ }
+ return $3($9, $10, $11 | $7, $2 | $13);
+ }
+
+ function legalstub$4($0, $1, $2, $3_1) {
+ var $4_1 = 0, $5_1 = 0, $6_1 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0;
+ $8 = $0;
+ $5_1 = 32;
+ $0 = $5_1 & 31;
+ if (32 >>> 0 <= $5_1 >>> 0) {
+ {
+ $4_1 = $1 << $0;
+ $6_1 = 0;
+ }
+ } else {
+ {
+ $4_1 = (1 << $0) - 1 & $1 >>> 32 - $0 | $4_1 << $0;
+ $6_1 = $1 << $0;
+ }
+ }
+ $9 = $8 | $6_1;
+ $10 = $4_1 | $12;
+ $11 = $2;
+ $2 = 0;
+ $1 = $3_1;
+ $3_1 = 32;
+ $0 = $3_1 & 31;
+ if (32 >>> 0 <= $3_1 >>> 0) {
+ {
+ $2 = $1 << $0;
+ $7 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0) - 1 & $1 >>> 32 - $0 | $2 << $0;
+ $7 = $1 << $0;
+ }
+ }
+ return $4($9, $10, $11 | $7, $2 | $13);
+ }
+
+ function legalstub$5($0, $1, $2, $3_1) {
+ var $4_1 = 0, $5_1 = 0, $6_1 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0;
+ $8 = $0;
+ $5_1 = 32;
+ $0 = $5_1 & 31;
+ if (32 >>> 0 <= $5_1 >>> 0) {
+ {
+ $4_1 = $1 << $0;
+ $6_1 = 0;
+ }
+ } else {
+ {
+ $4_1 = (1 << $0) - 1 & $1 >>> 32 - $0 | $4_1 << $0;
+ $6_1 = $1 << $0;
+ }
+ }
+ $9 = $8 | $6_1;
+ $10 = $4_1 | $12;
+ $11 = $2;
+ $2 = 0;
+ $1 = $3_1;
+ $3_1 = 32;
+ $0 = $3_1 & 31;
+ if (32 >>> 0 <= $3_1 >>> 0) {
+ {
+ $2 = $1 << $0;
+ $7 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0) - 1 & $1 >>> 32 - $0 | $2 << $0;
+ $7 = $1 << $0;
+ }
+ }
+ return $5($9, $10, $11 | $7, $2 | $13);
+ }
+
+ function legalstub$6($0, $1, $2, $3_1) {
+ var $4_1 = 0, $5_1 = 0, $6_1 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0;
+ $8 = $0;
+ $5_1 = 32;
+ $0 = $5_1 & 31;
+ if (32 >>> 0 <= $5_1 >>> 0) {
+ {
+ $4_1 = $1 << $0;
+ $6_1 = 0;
+ }
+ } else {
+ {
+ $4_1 = (1 << $0) - 1 & $1 >>> 32 - $0 | $4_1 << $0;
+ $6_1 = $1 << $0;
+ }
+ }
+ $9 = $8 | $6_1;
+ $10 = $4_1 | $12;
+ $11 = $2;
+ $2 = 0;
+ $1 = $3_1;
+ $3_1 = 32;
+ $0 = $3_1 & 31;
+ if (32 >>> 0 <= $3_1 >>> 0) {
+ {
+ $2 = $1 << $0;
+ $7 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0) - 1 & $1 >>> 32 - $0 | $2 << $0;
+ $7 = $1 << $0;
+ }
+ }
+ return $6($9, $10, $11 | $7, $2 | $13);
+ }
+
+ function legalstub$7($0, $1, $2, $3_1) {
+ var $4_1 = 0;
+ $4_1 = $2;
+ $2 = $3_1;
+ $3_1 = $4_1 | 0;
+ return ($1 | 0) == ($2 | 0) & $0 >>> 0 >= $3_1 >>> 0 | $1 >>> 0 > $2 >>> 0;
+ }
+
+ function legalstub$8($0, $1, $2, $3_1) {
+ var $4_1 = 0;
+ $4_1 = $2;
+ $2 = $3_1;
+ $3_1 = $4_1 | 0;
+ return ($1 | 0) == ($2 | 0) & $0 >>> 0 > $3_1 >>> 0 | $1 >>> 0 > $2 >>> 0;
+ }
+
+ function legalstub$9($0, $1, $2, $3_1) {
+ var $4_1 = 0;
+ $4_1 = $2;
+ $2 = $3_1;
+ $3_1 = $4_1 | 0;
+ return ($1 | 0) == ($2 | 0) & $0 >>> 0 <= $3_1 >>> 0 | $1 >>> 0 < $2 >>> 0;
+ }
+
+ function legalstub$10($0, $1, $2, $3_1) {
+ var $4_1 = 0;
+ $4_1 = $2;
+ $2 = $3_1;
+ $3_1 = $4_1 | 0;
+ return ($1 | 0) == ($2 | 0) & $0 >>> 0 < $3_1 >>> 0 | $1 >>> 0 < $2 >>> 0;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "eq_i64": legalstub$1,
+ "ne_i64": legalstub$2,
+ "ge_s_i64": legalstub$3,
+ "gt_s_i64": legalstub$4,
+ "le_s_i64": legalstub$5,
+ "lt_s_i64": legalstub$6,
+ "ge_u_i64": legalstub$7,
+ "gt_u_i64": legalstub$8,
+ "le_u_i64": legalstub$9,
+ "lt_u_i64": legalstub$10
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var eq_i64 = retasmFunc.eq_i64;
+export var ne_i64 = retasmFunc.ne_i64;
+export var ge_s_i64 = retasmFunc.ge_s_i64;
+export var gt_s_i64 = retasmFunc.gt_s_i64;
+export var le_s_i64 = retasmFunc.le_s_i64;
+export var lt_s_i64 = retasmFunc.lt_s_i64;
+export var ge_u_i64 = retasmFunc.ge_u_i64;
+export var gt_u_i64 = retasmFunc.gt_u_i64;
+export var le_u_i64 = retasmFunc.le_u_i64;
+export var lt_u_i64 = retasmFunc.lt_u_i64;
diff --git a/test/wasm2js/i64-rotate.2asm.js b/test/wasm2js/i64-rotate.2asm.js
index 159582d75..f8fc282cb 100644
--- a/test/wasm2js/i64-rotate.2asm.js
+++ b/test/wasm2js/i64-rotate.2asm.js
@@ -34,14 +34,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = __wasm_rotl_i64($0, i64toi32_i32$0, $1_1, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_rotl_i64($0 | 0, i64toi32_i32$0 | 0, $1_1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$5$hi = i64toi32_i32$0;
i64toi32_i32$0 = $2$hi;
i64toi32_i32$0 = $5$hi;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = $2$hi;
- return (i64toi32_i32$2 | 0) == ($2_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0);
+ return (i64toi32_i32$2 | 0) == ($2_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 | 0;
}
function $2($0, $0$hi, $1_1, $1$hi, $2_1, $2$hi) {
@@ -56,17 +56,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = __wasm_rotr_i64($0, i64toi32_i32$0, $1_1, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_rotr_i64($0 | 0, i64toi32_i32$0 | 0, $1_1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$5$hi = i64toi32_i32$0;
i64toi32_i32$0 = $2$hi;
i64toi32_i32$0 = $5$hi;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = $2$hi;
- return (i64toi32_i32$2 | 0) == ($2_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0);
+ return (i64toi32_i32$2 | 0) == ($2_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 | 0;
}
function legalstub$1($0, $1_1, $2_1, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
i64toi32_i32$0 = 0;
$7 = $0;
@@ -75,16 +81,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$26 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $26 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -92,8 +98,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $26;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $11 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$11$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$13 = $2_1;
@@ -102,16 +108,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$27 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $27 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$16$hi = i64toi32_i32$0;
@@ -119,8 +125,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $13;
i64toi32_i32$1 = $16$hi;
i64toi32_i32$3 = $27;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $17 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$17$hi = i64toi32_i32$1;
i64toi32_i32$1 = 0;
$19 = $4;
@@ -129,16 +135,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$28 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $28 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
$22$hi = i64toi32_i32$2;
@@ -146,16 +152,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19;
i64toi32_i32$0 = $22$hi;
i64toi32_i32$3 = $28;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- $23 = i64toi32_i32$1 | i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
$23$hi = i64toi32_i32$0;
i64toi32_i32$0 = $11$hi;
i64toi32_i32$1 = $17$hi;
i64toi32_i32$2 = $23$hi;
- return $1($11, i64toi32_i32$0, $17, i64toi32_i32$1, $23, i64toi32_i32$2);
+ return $1($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$2($0, $1_1, $2_1, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
i64toi32_i32$0 = 0;
$7 = $0;
@@ -164,16 +176,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$26 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $26 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -181,8 +193,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $26;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $11 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$11$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$13 = $2_1;
@@ -191,16 +203,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$27 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $27 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$16$hi = i64toi32_i32$0;
@@ -208,8 +220,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $13;
i64toi32_i32$1 = $16$hi;
i64toi32_i32$3 = $27;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $17 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$17$hi = i64toi32_i32$1;
i64toi32_i32$1 = 0;
$19 = $4;
@@ -218,16 +230,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$28 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $28 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
$22$hi = i64toi32_i32$2;
@@ -235,38 +247,42 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19;
i64toi32_i32$0 = $22$hi;
i64toi32_i32$3 = $28;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- $23 = i64toi32_i32$1 | i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
$23$hi = i64toi32_i32$0;
i64toi32_i32$0 = $11$hi;
i64toi32_i32$1 = $17$hi;
i64toi32_i32$2 = $23$hi;
- return $2($11, i64toi32_i32$0, $17, i64toi32_i32$1, $23, i64toi32_i32$2);
+ return $2($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function __wasm_rotl_i64(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, var$2$hi = 0, var$2 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6$hi = 0, $8$hi = 0, $10 = 0, $10$hi = 0, $15$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- var$2 = i64toi32_i32$2 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ var$2 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
var$2$hi = i64toi32_i32$1;
i64toi32_i32$1 = -1;
i64toi32_i32$0 = -1;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $19 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $19 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $19 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $19 = (((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;
}
}
$6$hi = i64toi32_i32$2;
@@ -275,23 +291,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
$8$hi = i64toi32_i32$0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$0 = $8$hi;
- i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $20 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10 = $20;
@@ -307,23 +323,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = i64toi32_i32$4;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0;
- var$1 = i64toi32_i32$1 & i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0;
+ var$1 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
var$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = -1;
i64toi32_i32$5 = -1;
i64toi32_i32$1 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2;
+ i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2 | 0;
$21 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$2) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$2 | i64toi32_i32$0 << i64toi32_i32$2;
- $21 = i64toi32_i32$5 << i64toi32_i32$2;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0;
+ $21 = i64toi32_i32$5 << i64toi32_i32$2 | 0;
}
}
$15$hi = i64toi32_i32$1;
@@ -332,23 +348,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $21;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5;
+ i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0;
$17$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$5 = $17$hi;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $22 = i64toi32_i32$5 >>> i64toi32_i32$2;
+ $22 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$2;
- $22 = ((1 << i64toi32_i32$2) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$2 | i64toi32_i32$1 >>> i64toi32_i32$2;
+ i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0;
+ $22 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$2 | 0) | 0;
}
}
$19$hi = i64toi32_i32$0;
@@ -356,35 +372,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = $10;
i64toi32_i32$1 = $19$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_rotr_i64(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, var$2$hi = 0, var$2 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6$hi = 0, $8$hi = 0, $10 = 0, $10$hi = 0, $15$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- var$2 = i64toi32_i32$2 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ var$2 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
var$2$hi = i64toi32_i32$1;
i64toi32_i32$1 = -1;
i64toi32_i32$0 = -1;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $19 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$2;
@@ -393,23 +413,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
$8$hi = i64toi32_i32$0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$0 = $8$hi;
- i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $20 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $20 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $20 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $20 = (((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;
}
}
$10 = $20;
@@ -425,23 +445,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = i64toi32_i32$4;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0;
- var$1 = i64toi32_i32$1 & i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0;
+ var$1 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
var$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = -1;
i64toi32_i32$5 = -1;
i64toi32_i32$1 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21 = i64toi32_i32$0 >>> i64toi32_i32$2;
+ $21 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$2;
- $21 = ((1 << i64toi32_i32$2) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$2 | i64toi32_i32$5 >>> i64toi32_i32$2;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0;
+ $21 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$2 | 0) | 0;
}
}
$15$hi = i64toi32_i32$1;
@@ -450,23 +470,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $21;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5;
+ i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0;
$17$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$5 = $17$hi;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0;
$22 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$2) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$2 | i64toi32_i32$5 << i64toi32_i32$2;
- $22 = i64toi32_i32$1 << i64toi32_i32$2;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0;
+ $22 = i64toi32_i32$1 << i64toi32_i32$2 | 0;
}
}
$19$hi = i64toi32_i32$0;
@@ -474,10 +494,10 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = $10;
i64toi32_i32$1 = $19$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/i64-rotate.2asm.js.opt b/test/wasm2js/i64-rotate.2asm.js.opt
new file mode 100644
index 000000000..3e3eea811
--- /dev/null
+++ b/test/wasm2js/i64-rotate.2asm.js.opt
@@ -0,0 +1,170 @@
+
+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 i64toi32_i32$HIGH_BITS = 0;
+ function legalstub$1($0, $1, $2, $3, $4, $5) {
+ return (__wasm_rotl_i64($0, $1, $2) | 0) == ($4 | 0) & ($5 | 0) == (i64toi32_i32$HIGH_BITS | 0);
+ }
+
+ function legalstub$2($0, $1, $2, $3, $4, $5) {
+ return (__wasm_rotr_i64($0, $1, $2) | 0) == ($4 | 0) & ($5 | 0) == (i64toi32_i32$HIGH_BITS | 0);
+ }
+
+ function __wasm_rotl_i64($0, $1, $2) {
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0;
+ $6 = $2 & 63;
+ $5 = $6;
+ $3 = $5 & 31;
+ if (32 >>> 0 <= $5 >>> 0) {
+ $7 = -1 >>> $3
+ } else {
+ {
+ $4 = -1 >>> $3;
+ $7 = (1 << $3) - 1 << 32 - $3 | -1 >>> $3;
+ }
+ }
+ $5 = $7 & $0;
+ $3 = $1 & $4;
+ $4 = $6 & 31;
+ if (32 >>> 0 <= $6 >>> 0) {
+ {
+ $3 = $5 << $4;
+ $8 = 0;
+ }
+ } else {
+ {
+ $3 = (1 << $4) - 1 & $5 >>> 32 - $4 | $3 << $4;
+ $8 = $5 << $4;
+ }
+ }
+ $6 = $8;
+ $5 = $3;
+ $4 = 0 - $2 & 63;
+ $3 = $4;
+ $2 = $3 & 31;
+ if (32 >>> 0 <= ($3 & 63) >>> 0) {
+ {
+ $3 = -1 << $2;
+ $9 = 0;
+ }
+ } else {
+ {
+ $3 = (1 << $2) - 1 & -1 >>> 32 - $2 | -1 << $2;
+ $9 = -1 << $2;
+ }
+ }
+ $0 = $9 & $0;
+ $3 = $1 & $3;
+ $1 = $4 & 31;
+ if (32 >>> 0 <= $4 >>> 0) {
+ {
+ $2 = 0;
+ $10 = $3 >>> $1;
+ }
+ } else {
+ {
+ $2 = $3 >>> $1;
+ $10 = ((1 << $1) - 1 & $3) << 32 - $1 | $0 >>> $1;
+ }
+ }
+ $0 = $10 | $6;
+ i64toi32_i32$HIGH_BITS = $2 | $5;
+ return $0;
+ }
+
+ function __wasm_rotr_i64($0, $1, $2) {
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0;
+ $6 = $2 & 63;
+ $7 = $6;
+ $3 = $6 & 31;
+ if (32 >>> 0 <= $6 >>> 0) {
+ {
+ $4 = -1 << $3;
+ $8 = 0;
+ }
+ } else {
+ {
+ $4 = (1 << $3) - 1 & -1 >>> 32 - $3 | -1 << $3;
+ $8 = -1 << $3;
+ }
+ }
+ $7 = $8 & $0;
+ $3 = $1 & $4;
+ $5 = $6 & 31;
+ if (32 >>> 0 <= $6 >>> 0) {
+ {
+ $4 = 0;
+ $9 = $3 >>> $5;
+ }
+ } else {
+ {
+ $4 = $3 >>> $5;
+ $9 = ((1 << $5) - 1 & $3) << 32 - $5 | $7 >>> $5;
+ }
+ }
+ $6 = $9;
+ $7 = $4;
+ $3 = 0 - $2 & 63;
+ $2 = $3;
+ $5 = $3 & 31;
+ if (32 >>> 0 <= ($3 & 63) >>> 0) {
+ {
+ $4 = 0;
+ $10 = -1 >>> $5;
+ }
+ } else {
+ {
+ $4 = -1 >>> $5;
+ $10 = (1 << $5) - 1 << 32 - $5 | -1 >>> $5;
+ }
+ }
+ $0 = $10 & $0;
+ $1 = $1 & $4;
+ $4 = $3 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2 = $0 << $4;
+ $11 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $4) - 1 & $0 >>> 32 - $4 | $1 << $4;
+ $11 = $0 << $4;
+ }
+ }
+ $0 = $11 | $6;
+ i64toi32_i32$HIGH_BITS = $2 | $7;
+ return $0;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "rotl": legalstub$1,
+ "rotr": legalstub$2
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var rotl = retasmFunc.rotl;
+export var rotr = retasmFunc.rotr;
diff --git a/test/wasm2js/i64-select.2asm.js.opt b/test/wasm2js/i64-select.2asm.js.opt
new file mode 100644
index 000000000..6cd485ab4
--- /dev/null
+++ b/test/wasm2js/i64-select.2asm.js.opt
@@ -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 {
+
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var 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/i64-shifts.2asm.js b/test/wasm2js/i64-shifts.2asm.js
index d21c92d37..9460b6ccb 100644
--- a/test/wasm2js/i64-shifts.2asm.js
+++ b/test/wasm2js/i64-shifts.2asm.js
@@ -35,16 +35,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $0;
i64toi32_i32$1 = $1$hi;
i64toi32_i32$3 = $1_1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$5$hi = i64toi32_i32$1;
@@ -53,7 +53,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $12;
i64toi32_i32$2 = $2$hi;
i64toi32_i32$3 = $2_1;
- return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0);
+ return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0 | 0;
}
function $2($0, $0$hi, $1_1, $1$hi, $2_1, $2$hi) {
@@ -70,16 +70,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $0;
i64toi32_i32$1 = $1$hi;
i64toi32_i32$3 = $1_1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $12 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $12 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $12 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $12 = (((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;
}
}
$5$hi = i64toi32_i32$1;
@@ -88,10 +88,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $12;
i64toi32_i32$2 = $2$hi;
i64toi32_i32$3 = $2_1;
- return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == ($2$hi | 0);
+ return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == ($2$hi | 0) | 0 | 0;
}
function legalstub$1($0, $1_1, $2_1, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
i64toi32_i32$0 = 0;
$7 = $0;
@@ -100,16 +106,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$26 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $26 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -117,8 +123,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $26;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $11 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$11$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$13 = $2_1;
@@ -127,16 +133,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$27 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $27 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$16$hi = i64toi32_i32$0;
@@ -144,8 +150,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $13;
i64toi32_i32$1 = $16$hi;
i64toi32_i32$3 = $27;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $17 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$17$hi = i64toi32_i32$1;
i64toi32_i32$1 = 0;
$19 = $4;
@@ -154,16 +160,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$28 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $28 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
$22$hi = i64toi32_i32$2;
@@ -171,16 +177,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19;
i64toi32_i32$0 = $22$hi;
i64toi32_i32$3 = $28;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- $23 = i64toi32_i32$1 | i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
$23$hi = i64toi32_i32$0;
i64toi32_i32$0 = $11$hi;
i64toi32_i32$1 = $17$hi;
i64toi32_i32$2 = $23$hi;
- return $1($11, i64toi32_i32$0, $17, i64toi32_i32$1, $23, i64toi32_i32$2);
+ return $1($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$2($0, $1_1, $2_1, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
i64toi32_i32$0 = 0;
$7 = $0;
@@ -189,16 +201,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$26 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $26 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -206,8 +218,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $26;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $11 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$11$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$13 = $2_1;
@@ -216,16 +228,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$27 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $27 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$16$hi = i64toi32_i32$0;
@@ -233,8 +245,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $13;
i64toi32_i32$1 = $16$hi;
i64toi32_i32$3 = $27;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $17 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$17$hi = i64toi32_i32$1;
i64toi32_i32$1 = 0;
$19 = $4;
@@ -243,16 +255,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$28 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $28 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
$22$hi = i64toi32_i32$2;
@@ -260,13 +272,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19;
i64toi32_i32$0 = $22$hi;
i64toi32_i32$3 = $28;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- $23 = i64toi32_i32$1 | i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
$23$hi = i64toi32_i32$0;
i64toi32_i32$0 = $11$hi;
i64toi32_i32$1 = $17$hi;
i64toi32_i32$2 = $23$hi;
- return $2($11, i64toi32_i32$0, $17, i64toi32_i32$1, $23, i64toi32_i32$2);
+ return $2($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/i64-shifts.2asm.js.opt b/test/wasm2js/i64-shifts.2asm.js.opt
new file mode 100644
index 000000000..7e36812fb
--- /dev/null
+++ b/test/wasm2js/i64-shifts.2asm.js.opt
@@ -0,0 +1,182 @@
+
+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;
+ function $1($0, $1_1, $2_1, $3, $4) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ var $5 = 0, $6 = 0;
+ $5 = $2_1 & 31;
+ if (32 >>> 0 <= ($2_1 & 63) >>> 0) {
+ {
+ $1_1 = $0 << $5;
+ $6 = 0;
+ }
+ } else {
+ {
+ $1_1 = (1 << $5) - 1 & $0 >>> 32 - $5 | $1_1 << $5;
+ $6 = $0 << $5;
+ }
+ }
+ return ($6 | 0) == ($3 | 0) & ($1_1 | 0) == ($4 | 0);
+ }
+
+ function $2($0, $1_1, $2_1, $3, $4) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ var $5 = 0, $6 = 0;
+ $5 = $2_1 & 31;
+ if (32 >>> 0 <= ($2_1 & 63) >>> 0) {
+ {
+ $2_1 = $1_1 >> 31;
+ $6 = $1_1 >> $5;
+ }
+ } else {
+ {
+ $2_1 = $1_1 >> $5;
+ $6 = ((1 << $5) - 1 & $1_1) << 32 - $5 | $0 >>> $5;
+ }
+ }
+ return ($6 | 0) == ($3 | 0) & ($2_1 | 0) == ($4 | 0);
+ }
+
+ function legalstub$1($0, $1_1, $2_1, $3, $4, $5) {
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
+ $11 = $0;
+ $7 = 32;
+ $0 = $7 & 31;
+ if (32 >>> 0 <= $7 >>> 0) {
+ {
+ $6 = $1_1 << $0;
+ $8 = 0;
+ }
+ } else {
+ {
+ $6 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $6 << $0;
+ $8 = $1_1 << $0;
+ }
+ }
+ $12 = $11 | $8;
+ $13 = $6 | $16;
+ $14 = $2_1;
+ $2_1 = 0;
+ $1_1 = $3;
+ $3 = 32;
+ $0 = $3 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2_1 = $1_1 << $0;
+ $9 = 0;
+ }
+ } else {
+ {
+ $2_1 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $2_1 << $0;
+ $9 = $1_1 << $0;
+ }
+ }
+ $15 = $14 | $9;
+ $2_1 = 0;
+ $1_1 = $5;
+ $0 = 32 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2_1 = $1_1 << $0;
+ $10 = 0;
+ }
+ } else {
+ {
+ $2_1 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $2_1 << $0;
+ $10 = $1_1 << $0;
+ }
+ }
+ return $1($12, $13, $15, $10 | $4, $2_1 | $17);
+ }
+
+ function legalstub$2($0, $1_1, $2_1, $3, $4, $5) {
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
+ $11 = $0;
+ $7 = 32;
+ $0 = $7 & 31;
+ if (32 >>> 0 <= $7 >>> 0) {
+ {
+ $6 = $1_1 << $0;
+ $8 = 0;
+ }
+ } else {
+ {
+ $6 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $6 << $0;
+ $8 = $1_1 << $0;
+ }
+ }
+ $12 = $11 | $8;
+ $13 = $6 | $16;
+ $14 = $2_1;
+ $2_1 = 0;
+ $1_1 = $3;
+ $3 = 32;
+ $0 = $3 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2_1 = $1_1 << $0;
+ $9 = 0;
+ }
+ } else {
+ {
+ $2_1 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $2_1 << $0;
+ $9 = $1_1 << $0;
+ }
+ }
+ $15 = $14 | $9;
+ $2_1 = 0;
+ $1_1 = $5;
+ $0 = 32 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2_1 = $1_1 << $0;
+ $10 = 0;
+ }
+ } else {
+ {
+ $2_1 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $2_1 << $0;
+ $10 = $1_1 << $0;
+ }
+ }
+ return $2($12, $13, $15, $10 | $4, $2_1 | $17);
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "shl_i64": legalstub$1,
+ "shr_i64": legalstub$2
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var shl_i64 = retasmFunc.shl_i64;
+export var shr_i64 = retasmFunc.shr_i64;
diff --git a/test/wasm2js/i64.2asm.js b/test/wasm2js/i64.2asm.js
index 28816af86..823981f7c 100644
--- a/test/wasm2js/i64.2asm.js
+++ b/test/wasm2js/i64.2asm.js
@@ -86,7 +86,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_mul(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_mul(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -102,7 +102,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_sdiv(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -118,7 +118,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_udiv(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -134,7 +134,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_srem(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_srem(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -150,7 +150,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_urem(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -167,8 +167,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$2 = x;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 & y;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 & y | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$2 | 0;
}
@@ -184,8 +184,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$2 = x;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | y;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | y | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$2 | 0;
}
@@ -201,8 +201,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$2 = x;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 ^ y;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 ^ y | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$2 | 0;
}
@@ -219,16 +219,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = x;
i64toi32_i32$1 = y$hi;
i64toi32_i32$3 = y;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$9_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $9_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $9_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
i64toi32_i32$2 = $9_1;
@@ -248,16 +248,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = x;
i64toi32_i32$1 = y$hi;
i64toi32_i32$3 = y;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $9_1 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $9_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $9_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $9_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;
}
}
i64toi32_i32$2 = $9_1;
@@ -277,16 +277,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = x;
i64toi32_i32$1 = y$hi;
i64toi32_i32$3 = y;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $9_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $9_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $9_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $9_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;
}
}
i64toi32_i32$2 = $9_1;
@@ -304,7 +304,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_rotl_i64(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_rotl_i64(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -320,7 +320,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_rotr_i64(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_rotr_i64(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -349,7 +349,7 @@ function asmFunc(global, env, buffer) {
x$hi = x$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
- i64toi32_i32$0 = __wasm_ctz_i64(x, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_ctz_i64(x | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
@@ -360,7 +360,7 @@ function asmFunc(global, env, buffer) {
x$hi = x$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
- i64toi32_i32$0 = __wasm_popcnt_i64(x, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_popcnt_i64(x | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
@@ -371,7 +371,7 @@ function asmFunc(global, env, buffer) {
x$hi = x$hi | 0;
var i64toi32_i32$0 = 0;
i64toi32_i32$0 = x$hi;
- return !(x | i64toi32_i32$0) | 0;
+ return !(x | i64toi32_i32$0 | 0) | 0;
}
function $19(x, x$hi, y, y$hi) {
@@ -383,7 +383,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
- return (x | 0) == (y | 0) & (i64toi32_i32$0 | 0) == (y$hi | 0);
+ return (x | 0) == (y | 0) & (i64toi32_i32$0 | 0) == (y$hi | 0) | 0 | 0;
}
function $20(x, x$hi, y, y$hi) {
@@ -395,7 +395,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
- return (x | 0) != (y | 0) | (i64toi32_i32$0 | 0) != (y$hi | 0);
+ return (x | 0) != (y | 0) | (i64toi32_i32$0 | 0) != (y$hi | 0) | 0 | 0;
}
function $21(x, x$hi, y, y$hi) {
@@ -441,7 +441,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
- return i64toi32_i32$0 >>> 0 < y$hi >>> 0 | (i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 < y >>> 0;
+ return i64toi32_i32$0 >>> 0 < y$hi >>> 0 | ((i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 < y >>> 0 | 0) | 0 | 0;
}
function $23(x, x$hi, y, y$hi) {
@@ -487,7 +487,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
- return i64toi32_i32$0 >>> 0 < y$hi >>> 0 | (i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 <= y >>> 0;
+ return i64toi32_i32$0 >>> 0 < y$hi >>> 0 | ((i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 <= y >>> 0 | 0) | 0 | 0;
}
function $25(x, x$hi, y, y$hi) {
@@ -533,7 +533,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
- return i64toi32_i32$0 >>> 0 > y$hi >>> 0 | (i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 > y >>> 0;
+ return i64toi32_i32$0 >>> 0 > y$hi >>> 0 | ((i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 > y >>> 0 | 0) | 0 | 0;
}
function $27(x, x$hi, y, y$hi) {
@@ -579,10 +579,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = x$hi;
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
- return i64toi32_i32$0 >>> 0 > y$hi >>> 0 | (i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 >= y >>> 0;
+ return i64toi32_i32$0 >>> 0 > y$hi >>> 0 | ((i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 >= y >>> 0 | 0) | 0 | 0;
}
function legalstub$0($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -591,16 +595,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -608,8 +612,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -618,16 +622,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -635,36 +639,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $0($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $0($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$1($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -673,16 +681,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -690,8 +698,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -700,16 +708,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -717,36 +725,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $1($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $1($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$2($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -755,16 +767,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -772,8 +784,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -782,16 +794,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -799,36 +811,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $2($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $2($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$3($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -837,16 +853,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -854,8 +870,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -864,16 +880,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -881,36 +897,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $3($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $3($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$4($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -919,16 +939,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -936,8 +956,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -946,16 +966,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -963,36 +983,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $4($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $4($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$5($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1001,16 +1025,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1018,8 +1042,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1028,16 +1052,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1045,36 +1069,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $5($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $5($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$6($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1083,16 +1111,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1100,8 +1128,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1110,16 +1138,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1127,36 +1155,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $6($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $6($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$7($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1165,16 +1197,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1182,8 +1214,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1192,16 +1224,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1209,36 +1241,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $7($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $7($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$8($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1247,16 +1283,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1264,8 +1300,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1274,16 +1310,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1291,36 +1327,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $8($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $8($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$9($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1329,16 +1369,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1346,8 +1386,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1356,16 +1396,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1373,36 +1413,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $9($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $9($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$10($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1411,16 +1455,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1428,8 +1472,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1438,16 +1482,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1455,36 +1499,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $10($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $10($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$11($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1493,16 +1541,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1510,8 +1558,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1520,16 +1568,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1537,36 +1585,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $11($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $11($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$12($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1575,16 +1627,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1592,8 +1644,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1602,16 +1654,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1619,36 +1671,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $12($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $12($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$13($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1657,16 +1713,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1674,8 +1730,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1684,16 +1740,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1701,36 +1757,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $13($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $13($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$14($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6_1 = $0_1;
@@ -1739,16 +1799,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1756,8 +1816,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6_1;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12_1 = $2_1;
@@ -1766,16 +1826,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1783,36 +1843,38 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12_1;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $14($10_1, i64toi32_i32$1, $16_1, i64toi32_i32$2);
+ i64toi32_i32$2 = $14($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4_1 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23_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;
}
}
setTempRet0($23_1 | 0);
i64toi32_i32$2 = $4$hi;
- return $4_1;
+ return $4_1 | 0;
}
function legalstub$15($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -1821,16 +1883,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -1838,32 +1900,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $15(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $15(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$16($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -1872,16 +1936,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -1889,32 +1953,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $16(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $16(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$17($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -1923,16 +1989,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -1940,32 +2006,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $17(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $17(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$18($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0_1;
@@ -1974,16 +2042,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -1991,11 +2059,15 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $18(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return $18(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$19($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2004,16 +2076,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2021,8 +2093,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2031,16 +2103,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2048,15 +2120,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $19($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $19($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$20($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2065,16 +2141,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2082,8 +2158,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2092,16 +2168,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2109,15 +2185,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $20($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $20($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$21($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2126,16 +2206,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2143,8 +2223,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2153,16 +2233,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2170,15 +2250,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $21($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $21($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$22($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2187,16 +2271,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2204,8 +2288,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2214,16 +2298,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2231,15 +2315,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $22($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $22($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$23($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2248,16 +2336,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2265,8 +2353,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2275,16 +2363,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2292,15 +2380,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $23($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $23($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$24($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2309,16 +2401,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2326,8 +2418,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2336,16 +2428,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2353,15 +2445,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $24($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $24($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$25($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2370,16 +2466,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2387,8 +2483,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2397,16 +2493,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2414,15 +2510,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $25($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $25($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$26($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2431,16 +2531,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2448,8 +2548,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2458,16 +2558,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2475,15 +2575,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $26($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $26($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$27($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2492,16 +2596,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2509,8 +2613,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2519,16 +2623,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2536,15 +2640,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $27($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $27($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$28($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0_1;
@@ -2553,16 +2661,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -2570,8 +2678,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11_1 = $2_1;
@@ -2580,16 +2688,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -2597,12 +2705,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11_1;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15_1 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $28($9_1, i64toi32_i32$1, $15_1, i64toi32_i32$2);
+ return $28($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalfunc$wasm2js_scratch_load_i64() {
@@ -2614,16 +2722,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = getTempRet0() | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$8_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $8_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $8_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$4$hi = i64toi32_i32$1;
@@ -2631,57 +2739,63 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1_1;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$3 = $8_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8_1 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8_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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8_1 | 0);
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21_1 = 0, $22_1 = 0, var$6 = 0, $24_1 = 0, $17_1 = 0, $18_1 = 0, $23_1 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17_1 = Math_imul(var$4, var$5);
$18_1 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23_1 = $17_1 + Math_imul($18_1, $21_1) | 0;
@@ -2689,39 +2803,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29 = $23_1 + Math_imul($22_1, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45 = $29 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45 = $29 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24_1 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -2730,29 +2844,33 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24_1;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $7$hi = 0, $9_1 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17_1 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21_1 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21_1;
@@ -2762,11 +2880,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -2779,16 +2897,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22_1 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22_1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22_1 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22_1;
@@ -2798,11 +2916,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -2812,7 +2930,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9_1, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17_1 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -2822,20 +2940,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23_1 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23_1 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23_1 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23_1 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23_1;
@@ -2844,11 +2962,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17_1;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -2856,25 +2974,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20_1 = 0, $21_1 = 0, $7$hi = 0, $9_1 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $20_1 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $20_1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $20_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $20_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 = $20_1;
@@ -2884,11 +3006,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -2901,16 +3023,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $21_1 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $21_1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $21_1 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $21_1 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$0 = $21_1;
@@ -2920,11 +3042,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -2934,7 +3056,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_urem($9_1, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem($9_1 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$2$hi;
@@ -2942,11 +3064,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
$19$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$1 = $19$hi;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -2954,10 +3076,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0;
i64toi32_i32$4 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -2973,16 +3099,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -2997,16 +3123,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -3024,7 +3150,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -3033,26 +3159,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -3064,23 +3190,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -3088,22 +3214,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -3119,23 +3245,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -3145,7 +3271,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -3155,22 +3281,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -3181,17 +3307,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -3202,17 +3328,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -3236,16 +3362,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -3254,16 +3380,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -3271,8 +3397,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -3289,16 +3415,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -3308,8 +3434,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -3325,16 +3451,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -3343,44 +3469,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -3389,13 +3515,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -3403,13 +3529,15 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_ctz_i64(var$0, var$0$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $10_1 = 0, $5$hi = 0, $8$hi = 0;
i64toi32_i32$0 = var$0$hi;
- if (!!(var$0 | i64toi32_i32$0)) {
+ if (!!(var$0 | i64toi32_i32$0 | 0)) {
{
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
@@ -3426,8 +3554,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$3 = Math_clz32(i64toi32_i32$2);
i64toi32_i32$5 = 0;
if ((i64toi32_i32$3 | 0) == (32 | 0)) {
@@ -3445,84 +3573,106 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0;
i64toi32_i32$0 = i64toi32_i32$1;
i64toi32_i32$HIGH_BITS = i64toi32_i32$4;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
}
i64toi32_i32$0 = 0;
i64toi32_i32$4 = 64;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64();
+ i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function __wasm_popcnt_i64(var$0, var$0$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, var$1$hi = 0, var$1 = 0, $5_1 = 0, $5$hi = 0, $4_1 = 0, $9$hi = 0;
label$1 : {
label$2 : while (1) {
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
- $4_1 = !(var$0 | i64toi32_i32$0);
+ $4_1 = !(var$0 | i64toi32_i32$0 | 0);
i64toi32_i32$0 = var$1$hi;
$5_1 = var$1;
$5$hi = i64toi32_i32$0;
@@ -3542,8 +3692,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = i64toi32_i32$4;
- i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2;
- var$0 = i64toi32_i32$0 & i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0;
+ var$0 = i64toi32_i32$0 & i64toi32_i32$4 | 0;
var$0$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$5 = var$1;
@@ -3556,38 +3706,42 @@ function asmFunc(global, env, buffer) {
}
var$1 = i64toi32_i32$1;
var$1$hi = i64toi32_i32$4;
- continue;
+ continue label$2;
};
}
i64toi32_i32$4 = $5$hi;
i64toi32_i32$5 = $5_1;
i64toi32_i32$HIGH_BITS = i64toi32_i32$4;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_rotl_i64(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, var$2$hi = 0, var$2 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $6$hi = 0, $8$hi = 0, $10_1 = 0, $10$hi = 0, $15$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- var$2 = i64toi32_i32$2 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ var$2 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
var$2$hi = i64toi32_i32$1;
i64toi32_i32$1 = -1;
i64toi32_i32$0 = -1;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $19_1 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $19_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $19_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $19_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;
}
}
$6$hi = i64toi32_i32$2;
@@ -3596,23 +3750,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19_1;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
$8$hi = i64toi32_i32$0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$0 = $8$hi;
- i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$20_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $20_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $20_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10_1 = $20_1;
@@ -3628,23 +3782,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = i64toi32_i32$4;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0;
- var$1 = i64toi32_i32$1 & i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0;
+ var$1 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
var$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = -1;
i64toi32_i32$5 = -1;
i64toi32_i32$1 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2;
+ i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2 | 0;
$21_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$2) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$2 | i64toi32_i32$0 << i64toi32_i32$2;
- $21_1 = i64toi32_i32$5 << i64toi32_i32$2;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0;
+ $21_1 = i64toi32_i32$5 << i64toi32_i32$2 | 0;
}
}
$15$hi = i64toi32_i32$1;
@@ -3653,23 +3807,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $21_1;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5;
+ i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0;
$17$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$5 = $17$hi;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $22_1 = i64toi32_i32$5 >>> i64toi32_i32$2;
+ $22_1 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$2;
- $22_1 = ((1 << i64toi32_i32$2) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$2 | i64toi32_i32$1 >>> i64toi32_i32$2;
+ i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0;
+ $22_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$2 | 0) | 0;
}
}
$19$hi = i64toi32_i32$0;
@@ -3677,35 +3831,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = $10_1;
i64toi32_i32$1 = $19$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_rotr_i64(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, var$2$hi = 0, var$2 = 0, $19_1 = 0, $20_1 = 0, $21_1 = 0, $22_1 = 0, $6$hi = 0, $8$hi = 0, $10_1 = 0, $10$hi = 0, $15$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- var$2 = i64toi32_i32$2 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ var$2 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
var$2$hi = i64toi32_i32$1;
i64toi32_i32$1 = -1;
i64toi32_i32$0 = -1;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$19_1 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $19_1 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $19_1 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$2;
@@ -3714,23 +3872,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $19_1;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
$8$hi = i64toi32_i32$0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$0 = $8$hi;
- i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $20_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $20_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $20_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $20_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;
}
}
$10_1 = $20_1;
@@ -3746,23 +3904,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = i64toi32_i32$4;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0;
- var$1 = i64toi32_i32$1 & i64toi32_i32$3;
+ i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0;
+ var$1 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
var$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = -1;
i64toi32_i32$5 = -1;
i64toi32_i32$1 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21_1 = i64toi32_i32$0 >>> i64toi32_i32$2;
+ $21_1 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$2;
- $21_1 = ((1 << i64toi32_i32$2) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$2 | i64toi32_i32$5 >>> i64toi32_i32$2;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0;
+ $21_1 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$2 | 0) | 0;
}
}
$15$hi = i64toi32_i32$1;
@@ -3771,23 +3929,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $21_1;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5;
+ i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0;
$17$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$5 = $17$hi;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0;
$22_1 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$2) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$2 | i64toi32_i32$5 << i64toi32_i32$2;
- $22_1 = i64toi32_i32$1 << i64toi32_i32$2;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0;
+ $22_1 = i64toi32_i32$1 << i64toi32_i32$2 | 0;
}
}
$19$hi = i64toi32_i32$0;
@@ -3795,17 +3953,18 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = $10_1;
i64toi32_i32$1 = $19$hi;
i64toi32_i32$3 = $22_1;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/if_unreachable.2asm.js.opt b/test/wasm2js/if_unreachable.2asm.js.opt
new file mode 100644
index 000000000..6cd485ab4
--- /dev/null
+++ b/test/wasm2js/if_unreachable.2asm.js.opt
@@ -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 {
+
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var 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/int_exprs.2asm.js b/test/wasm2js/int_exprs.2asm.js
index f12322311..dac355ac3 100644
--- a/test/wasm2js/int_exprs.2asm.js
+++ b/test/wasm2js/int_exprs.2asm.js
@@ -24,13 +24,13 @@ function asmFunc(global, env, buffer) {
function $0(x, y) {
x = x | 0;
y = y | 0;
- return (x + 1 | 0) < (y + 1 | 0) | 0;
+ return (x + 1 | 0 | 0) < (y + 1 | 0 | 0) | 0;
}
function $1(x, y) {
x = x | 0;
y = y | 0;
- return x + 1 >>> 0 < y + 1 >>> 0 | 0;
+ return (x + 1 | 0) >>> 0 < (y + 1 | 0) >>> 0 | 0;
}
function $2(x, x$hi, y, y$hi) {
@@ -117,10 +117,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = $3_1;
i64toi32_i32$0 = $5$hi;
i64toi32_i32$3 = i64toi32_i32$1;
- return i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | (i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0;
+ return i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0 | 0;
}
function legalstub$2($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5 = 0, $5$hi = 0, $8$hi = 0, $9 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5 = $0_1;
@@ -129,16 +133,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -146,8 +150,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -156,16 +160,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -173,15 +177,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $2($9, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $2($9 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$3($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5 = 0, $5$hi = 0, $8$hi = 0, $9 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5 = $0_1;
@@ -190,16 +198,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -207,8 +215,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -217,16 +225,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -234,12 +242,12 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $3($9, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $3($9 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
var FUNCTION_TABLE = [];
@@ -289,12 +297,14 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = x;
- i64toi32_i32$0 = i64toi32_i32$1 >> 31;
+ i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$0($0_1, $1) {
+ $0_1 = $0_1 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -303,16 +313,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -320,29 +330,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $0(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $0(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
var FUNCTION_TABLE = [];
@@ -391,6 +401,8 @@ function asmFunc(global, env, buffer) {
}
function legalstub$0($0_1, $1) {
+ $0_1 = $0_1 | 0;
+ $1 = $1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -399,16 +411,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -416,29 +428,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $0(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $0(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
var FUNCTION_TABLE = [];
@@ -478,12 +490,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return x << 1 >> 1;
+ return (x << 1 | 0) >> 1 | 0 | 0;
}
function $1(x) {
x = x | 0;
- return x << 1 >>> 1;
+ return (x << 1 | 0) >>> 1 | 0 | 0;
}
function $2(x, x$hi) {
@@ -494,31 +506,31 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = x;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$7 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $7 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $7 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
i64toi32_i32$0 = $7;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $8 = i64toi32_i32$1 >> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $8 = i64toi32_i32$1 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$4 | 0;
+ $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
i64toi32_i32$0 = $8;
@@ -534,31 +546,31 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = x;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$7 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $7 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $7 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
i64toi32_i32$0 = $7;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $8 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
i64toi32_i32$0 = $8;
@@ -567,6 +579,8 @@ function asmFunc(global, env, buffer) {
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -575,16 +589,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -592,32 +606,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -626,16 +642,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -643,29 +659,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
var FUNCTION_TABLE = [];
@@ -711,12 +727,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return x >> 1 << 1;
+ return (x >> 1 | 0) << 1 | 0 | 0;
}
function $1(x) {
x = x | 0;
- return x >>> 1 << 1;
+ return (x >>> 1 | 0) << 1 | 0 | 0;
}
function $2(x, x$hi) {
@@ -727,31 +743,31 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = x;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $7 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $7 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $7 = (((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;
}
}
i64toi32_i32$0 = $7;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$8 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $8 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $8 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
i64toi32_i32$0 = $8;
@@ -767,31 +783,31 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = x;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $7 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $7 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $7 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $7 = (((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;
}
}
i64toi32_i32$0 = $7;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
$8 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$0 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $8 = i64toi32_i32$0 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $8 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
i64toi32_i32$0 = $8;
@@ -800,6 +816,8 @@ function asmFunc(global, env, buffer) {
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -808,16 +826,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -825,32 +843,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -859,16 +879,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -876,29 +896,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
var FUNCTION_TABLE = [];
@@ -969,11 +989,11 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_sdiv(x, i64toi32_i32$0, 6, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv(x | 0, i64toi32_i32$0 | 0, 6 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$1;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_mul($4, i64toi32_i32$0, 6, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_mul($4 | 0, i64toi32_i32$0 | 0, 6 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -985,17 +1005,19 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_udiv(x, i64toi32_i32$0, 6, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv(x | 0, i64toi32_i32$0 | 0, 6 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$1;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_mul($4, i64toi32_i32$0, 6, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_mul($4 | 0, i64toi32_i32$0 | 0, 6 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -1004,16 +1026,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -1021,32 +1043,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -1055,16 +1079,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -1072,76 +1096,82 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21 = 0, $22 = 0, var$6 = 0, $24 = 0, $17 = 0, $18 = 0, $23 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17 = Math_imul(var$4, var$5);
$18 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23 = $17 + Math_imul($18, $21) | 0;
@@ -1149,39 +1179,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29 = $23 + Math_imul($22, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45 = $29 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45 = $29 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -1190,29 +1220,33 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -1222,11 +1256,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -1239,16 +1273,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -1258,11 +1292,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -1272,7 +1306,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -1282,20 +1316,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -1304,11 +1338,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -1316,10 +1350,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -1335,16 +1373,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -1359,16 +1397,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -1386,7 +1424,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -1395,26 +1433,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -1426,23 +1464,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -1450,22 +1488,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -1481,23 +1519,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -1507,7 +1545,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -1517,22 +1555,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -1543,17 +1581,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -1564,17 +1602,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -1598,16 +1636,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -1616,16 +1654,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -1633,8 +1671,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -1651,16 +1689,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -1670,8 +1708,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -1687,16 +1725,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -1705,44 +1743,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -1751,13 +1789,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -1765,50 +1803,63 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -1865,12 +1916,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (Math_imul(x, 6) | 0) / (6 | 0) | 0;
+ return (Math_imul(x, 6) | 0) / (6 | 0) | 0 | 0;
}
function $1(x) {
x = x | 0;
- return (Math_imul(x, 6) >>> 0) / (6 >>> 0) | 0;
+ return (Math_imul(x, 6) >>> 0) / (6 >>> 0) | 0 | 0;
}
function $2(x, x$hi) {
@@ -1879,11 +1930,11 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_mul(x, i64toi32_i32$0, 6, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_mul(x | 0, i64toi32_i32$0 | 0, 6 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$1;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_sdiv($4, i64toi32_i32$0, 6, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv($4 | 0, i64toi32_i32$0 | 0, 6 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -1895,17 +1946,19 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_mul(x, i64toi32_i32$0, 6, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_mul(x | 0, i64toi32_i32$0 | 0, 6 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$1;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_udiv($4, i64toi32_i32$0, 6, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($4 | 0, i64toi32_i32$0 | 0, 6 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -1914,16 +1967,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -1931,32 +1984,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -1965,16 +2020,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -1982,76 +2037,82 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21 = 0, $22 = 0, var$6 = 0, $24 = 0, $17 = 0, $18 = 0, $23 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17 = Math_imul(var$4, var$5);
$18 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23 = $17 + Math_imul($18, $21) | 0;
@@ -2059,39 +2120,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29 = $23 + Math_imul($22, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45 = $29 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45 = $29 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -2100,29 +2161,33 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -2132,11 +2197,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -2149,16 +2214,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -2168,11 +2233,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -2182,7 +2247,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -2192,20 +2257,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -2214,11 +2279,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -2226,10 +2291,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -2245,16 +2314,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -2269,16 +2338,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -2296,7 +2365,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -2305,26 +2374,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -2336,23 +2405,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -2360,22 +2429,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -2391,23 +2460,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -2417,7 +2486,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -2427,22 +2496,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -2453,17 +2522,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -2474,17 +2543,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -2508,16 +2577,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -2526,16 +2595,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -2543,8 +2612,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -2561,16 +2630,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -2580,8 +2649,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -2597,16 +2666,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -2615,44 +2684,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -2661,13 +2730,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -2675,50 +2744,63 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -2775,7 +2857,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) / (2 | 0) | 0;
+ return (x | 0) / (2 | 0) | 0 | 0;
}
function $1(x, x$hi) {
@@ -2784,13 +2866,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_sdiv(x, i64toi32_i32$0, 2, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv(x | 0, i64toi32_i32$0 | 0, 2 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$1($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -2799,16 +2883,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -2816,69 +2900,75 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $1(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $1(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -2888,11 +2978,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -2905,16 +2995,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -2924,11 +3014,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -2938,7 +3028,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -2948,20 +3038,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -2970,11 +3060,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -2982,22 +3072,30 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -3013,16 +3111,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -3037,16 +3135,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -3064,7 +3162,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -3073,26 +3171,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -3104,23 +3202,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -3128,22 +3226,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -3159,23 +3257,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -3185,7 +3283,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -3195,22 +3293,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -3221,17 +3319,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -3242,17 +3340,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -3276,16 +3374,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -3294,16 +3392,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -3311,8 +3409,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -3329,16 +3427,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -3348,8 +3446,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -3365,16 +3463,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -3383,44 +3481,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -3429,13 +3527,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -3443,26 +3541,31 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -3522,7 +3625,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) % (2 | 0) | 0;
+ return (x | 0) % (2 | 0) | 0 | 0;
}
function $1(x, x$hi) {
@@ -3531,13 +3634,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_srem(x, i64toi32_i32$0, 2, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_srem(x | 0, i64toi32_i32$0 | 0, 2 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$1($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -3546,16 +3651,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -3563,29 +3668,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $1(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $1(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2;
+ return $2 | 0;
}
function legalfunc$wasm2js_scratch_load_i64() {
@@ -3597,16 +3702,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = getTempRet0() | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$8 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $8 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$4$hi = i64toi32_i32$1;
@@ -3614,50 +3719,56 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1_1;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$3 = $8;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20 = 0, $21 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $20 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $20 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $20 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $20 = (((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 = $20;
@@ -3667,11 +3778,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -3684,16 +3795,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $21 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $21 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $21 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $21 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$0 = $21;
@@ -3703,11 +3814,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -3717,7 +3828,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_urem($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$2$hi;
@@ -3725,11 +3836,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
$19$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$1 = $19$hi;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -3737,22 +3848,30 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0;
i64toi32_i32$4 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -3768,16 +3887,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -3792,16 +3911,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -3819,7 +3938,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -3828,26 +3947,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -3859,23 +3978,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -3883,22 +4002,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -3914,23 +4033,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -3940,7 +4059,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -3950,22 +4069,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -3976,17 +4095,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -3997,17 +4116,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -4031,16 +4150,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -4049,16 +4168,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -4066,8 +4185,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -4084,16 +4203,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -4103,8 +4222,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -4120,16 +4239,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -4138,44 +4257,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -4184,13 +4303,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -4198,28 +4317,33 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64();
+ i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -4272,12 +4396,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) / (0 | 0) | 0;
+ return (x | 0) / (0 | 0) | 0 | 0;
}
function $1(x) {
x = x | 0;
- return (x >>> 0) / (0 >>> 0) | 0;
+ return (x >>> 0) / (0 >>> 0) | 0 | 0;
}
function $2(x, x$hi) {
@@ -4286,7 +4410,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_sdiv(x, i64toi32_i32$0, 0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv(x | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -4298,13 +4422,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_udiv(x, i64toi32_i32$0, 0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv(x | 0, i64toi32_i32$0 | 0, 0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -4313,16 +4439,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -4330,32 +4456,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -4364,16 +4492,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -4381,69 +4509,75 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -4453,11 +4587,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -4470,16 +4604,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -4489,11 +4623,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -4503,7 +4637,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -4513,20 +4647,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -4535,11 +4669,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -4547,10 +4681,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -4566,16 +4704,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -4590,16 +4728,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -4617,7 +4755,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -4626,26 +4764,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -4657,23 +4795,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -4681,22 +4819,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -4712,23 +4850,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -4738,7 +4876,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -4748,22 +4886,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -4774,17 +4912,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -4795,17 +4933,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -4829,16 +4967,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -4847,16 +4985,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -4864,8 +5002,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -4882,16 +5020,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -4901,8 +5039,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -4918,16 +5056,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -4936,44 +5074,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -4982,13 +5120,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -4996,38 +5134,47 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -5084,12 +5231,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) / (3 | 0) | 0;
+ return (x | 0) / (3 | 0) | 0 | 0;
}
function $1(x) {
x = x | 0;
- return (x >>> 0) / (3 >>> 0) | 0;
+ return (x >>> 0) / (3 >>> 0) | 0 | 0;
}
function $2(x, x$hi) {
@@ -5098,7 +5245,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_sdiv(x, i64toi32_i32$0, 3, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv(x | 0, i64toi32_i32$0 | 0, 3 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -5110,13 +5257,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_udiv(x, i64toi32_i32$0, 3, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv(x | 0, i64toi32_i32$0 | 0, 3 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -5125,16 +5274,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -5142,32 +5291,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -5176,16 +5327,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -5193,69 +5344,75 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -5265,11 +5422,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -5282,16 +5439,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -5301,11 +5458,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -5315,7 +5472,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -5325,20 +5482,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -5347,11 +5504,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -5359,10 +5516,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -5378,16 +5539,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -5402,16 +5563,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -5429,7 +5590,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -5438,26 +5599,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -5469,23 +5630,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -5493,22 +5654,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -5524,23 +5685,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -5550,7 +5711,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -5560,22 +5721,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -5586,17 +5747,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -5607,17 +5768,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -5641,16 +5802,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -5659,16 +5820,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -5676,8 +5837,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -5694,16 +5855,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -5713,8 +5874,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -5730,16 +5891,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -5748,44 +5909,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -5794,13 +5955,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -5808,38 +5969,47 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -5896,12 +6066,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) / (5 | 0) | 0;
+ return (x | 0) / (5 | 0) | 0 | 0;
}
function $1(x) {
x = x | 0;
- return (x >>> 0) / (5 >>> 0) | 0;
+ return (x >>> 0) / (5 >>> 0) | 0 | 0;
}
function $2(x, x$hi) {
@@ -5910,7 +6080,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_sdiv(x, i64toi32_i32$0, 5, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv(x | 0, i64toi32_i32$0 | 0, 5 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -5922,13 +6092,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_udiv(x, i64toi32_i32$0, 5, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv(x | 0, i64toi32_i32$0 | 0, 5 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -5937,16 +6109,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -5954,32 +6126,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -5988,16 +6162,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -6005,69 +6179,75 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -6077,11 +6257,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -6094,16 +6274,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -6113,11 +6293,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -6127,7 +6307,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -6137,20 +6317,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -6159,11 +6339,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -6171,10 +6351,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -6190,16 +6374,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -6214,16 +6398,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -6241,7 +6425,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -6250,26 +6434,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -6281,23 +6465,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -6305,22 +6489,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -6336,23 +6520,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -6362,7 +6546,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -6372,22 +6556,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -6398,17 +6582,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -6419,17 +6603,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -6453,16 +6637,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -6471,16 +6655,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -6488,8 +6672,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -6506,16 +6690,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -6525,8 +6709,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -6542,16 +6726,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -6560,44 +6744,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -6606,13 +6790,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -6620,38 +6804,47 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -6708,12 +6901,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) / (7 | 0) | 0;
+ return (x | 0) / (7 | 0) | 0 | 0;
}
function $1(x) {
x = x | 0;
- return (x >>> 0) / (7 >>> 0) | 0;
+ return (x >>> 0) / (7 >>> 0) | 0 | 0;
}
function $2(x, x$hi) {
@@ -6722,7 +6915,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_sdiv(x, i64toi32_i32$0, 7, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv(x | 0, i64toi32_i32$0 | 0, 7 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -6734,13 +6927,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_udiv(x, i64toi32_i32$0, 7, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv(x | 0, i64toi32_i32$0 | 0, 7 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -6749,16 +6944,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -6766,32 +6961,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -6800,16 +6997,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -6817,69 +7014,75 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -6889,11 +7092,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -6906,16 +7109,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -6925,11 +7128,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -6939,7 +7142,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -6949,20 +7152,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -6971,11 +7174,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -6983,10 +7186,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -7002,16 +7209,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -7026,16 +7233,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -7053,7 +7260,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -7062,26 +7269,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -7093,23 +7300,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -7117,22 +7324,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -7148,23 +7355,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -7174,7 +7381,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -7184,22 +7391,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -7210,17 +7417,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -7231,17 +7438,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -7265,16 +7472,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -7283,16 +7490,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -7300,8 +7507,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -7318,16 +7525,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -7337,8 +7544,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -7354,16 +7561,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -7372,44 +7579,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -7418,13 +7625,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -7432,38 +7639,47 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -7527,12 +7743,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) % (3 | 0) | 0;
+ return (x | 0) % (3 | 0) | 0 | 0;
}
function $1(x) {
x = x | 0;
- return (x >>> 0) % (3 >>> 0) | 0;
+ return (x >>> 0) % (3 >>> 0) | 0 | 0;
}
function $2(x, x$hi) {
@@ -7541,7 +7757,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_srem(x, i64toi32_i32$0, 3, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_srem(x | 0, i64toi32_i32$0 | 0, 3 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -7553,13 +7769,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_urem(x, i64toi32_i32$0, 3, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem(x | 0, i64toi32_i32$0 | 0, 3 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -7568,16 +7786,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -7585,32 +7803,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -7619,16 +7839,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -7636,29 +7856,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_load_i64() {
@@ -7670,16 +7890,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = getTempRet0() | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$8 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $8 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$4$hi = i64toi32_i32$1;
@@ -7687,50 +7907,56 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1_1;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$3 = $8;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20 = 0, $21 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $20 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $20 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $20 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $20 = (((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 = $20;
@@ -7740,11 +7966,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -7757,16 +7983,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $21 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $21 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $21 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $21 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$0 = $21;
@@ -7776,11 +8002,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -7790,7 +8016,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_urem($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$2$hi;
@@ -7798,11 +8024,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
$19$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$1 = $19$hi;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -7810,10 +8036,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0;
i64toi32_i32$4 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -7829,16 +8059,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -7853,16 +8083,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -7880,7 +8110,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -7889,26 +8119,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -7920,23 +8150,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -7944,22 +8174,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -7975,23 +8205,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -8001,7 +8231,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -8011,22 +8241,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -8037,17 +8267,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -8058,17 +8288,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -8092,16 +8322,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -8110,16 +8340,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -8127,8 +8357,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -8145,16 +8375,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -8164,8 +8394,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -8181,16 +8411,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -8199,44 +8429,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -8245,13 +8475,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -8259,40 +8489,49 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64();
+ i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -8356,12 +8595,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) % (5 | 0) | 0;
+ return (x | 0) % (5 | 0) | 0 | 0;
}
function $1(x) {
x = x | 0;
- return (x >>> 0) % (5 >>> 0) | 0;
+ return (x >>> 0) % (5 >>> 0) | 0 | 0;
}
function $2(x, x$hi) {
@@ -8370,7 +8609,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_srem(x, i64toi32_i32$0, 5, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_srem(x | 0, i64toi32_i32$0 | 0, 5 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -8382,13 +8621,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_urem(x, i64toi32_i32$0, 5, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem(x | 0, i64toi32_i32$0 | 0, 5 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -8397,16 +8638,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -8414,32 +8655,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -8448,16 +8691,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -8465,29 +8708,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_load_i64() {
@@ -8499,16 +8742,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = getTempRet0() | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$8 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $8 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$4$hi = i64toi32_i32$1;
@@ -8516,50 +8759,56 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1_1;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$3 = $8;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20 = 0, $21 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $20 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $20 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $20 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $20 = (((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 = $20;
@@ -8569,11 +8818,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -8586,16 +8835,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $21 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $21 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $21 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $21 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$0 = $21;
@@ -8605,11 +8854,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -8619,7 +8868,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_urem($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$2$hi;
@@ -8627,11 +8876,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
$19$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$1 = $19$hi;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -8639,10 +8888,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0;
i64toi32_i32$4 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -8658,16 +8911,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -8682,16 +8935,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -8709,7 +8962,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -8718,26 +8971,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -8749,23 +9002,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -8773,22 +9026,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -8804,23 +9057,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -8830,7 +9083,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -8840,22 +9093,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -8866,17 +9119,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -8887,17 +9140,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -8921,16 +9174,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -8939,16 +9192,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -8956,8 +9209,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -8974,16 +9227,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -8993,8 +9246,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -9010,16 +9263,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -9028,44 +9281,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -9074,13 +9327,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -9088,40 +9341,49 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64();
+ i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -9185,12 +9447,12 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(x) {
x = x | 0;
- return (x | 0) % (7 | 0) | 0;
+ return (x | 0) % (7 | 0) | 0 | 0;
}
function $1(x) {
x = x | 0;
- return (x >>> 0) % (7 >>> 0) | 0;
+ return (x >>> 0) % (7 >>> 0) | 0 | 0;
}
function $2(x, x$hi) {
@@ -9199,7 +9461,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_srem(x, i64toi32_i32$0, 7, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_srem(x | 0, i64toi32_i32$0 | 0, 7 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -9211,13 +9473,15 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = 0;
- i64toi32_i32$1 = __wasm_i64_urem(x, i64toi32_i32$0, 7, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem(x | 0, i64toi32_i32$0 | 0, 7 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -9226,16 +9490,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -9243,32 +9507,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4 = $0_1;
@@ -9277,16 +9543,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -9294,29 +9560,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalfunc$wasm2js_scratch_load_i64() {
@@ -9328,16 +9594,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = getTempRet0() | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$8 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $8 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$4$hi = i64toi32_i32$1;
@@ -9345,50 +9611,56 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1_1;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$3 = $8;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20 = 0, $21 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $20 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $20 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $20 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $20 = (((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 = $20;
@@ -9398,11 +9670,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -9415,16 +9687,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $21 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $21 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $21 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $21 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$0 = $21;
@@ -9434,11 +9706,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -9448,7 +9720,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_urem($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$2$hi;
@@ -9456,11 +9728,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
$19$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$1 = $19$hi;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -9468,10 +9740,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0;
i64toi32_i32$4 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -9487,16 +9763,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -9511,16 +9787,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -9538,7 +9814,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -9547,26 +9823,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -9578,23 +9854,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -9602,22 +9878,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -9633,23 +9909,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -9659,7 +9935,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -9669,22 +9945,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -9695,17 +9971,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -9716,17 +9992,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -9750,16 +10026,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -9768,16 +10044,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -9785,8 +10061,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -9803,16 +10079,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -9822,8 +10098,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -9839,16 +10115,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -9857,44 +10133,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -9903,13 +10179,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -9917,40 +10193,49 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64();
+ i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/int_literals.2asm.js b/test/wasm2js/int_literals.2asm.js
index e5b26f3ac..16fe25b0b 100644
--- a/test/wasm2js/int_literals.2asm.js
+++ b/test/wasm2js/int_literals.2asm.js
@@ -49,7 +49,7 @@ function asmFunc(global, env, buffer) {
}
function $6() {
- return -2147483648 + 1 | 0;
+ return -2147483648 + 1 | 0 | 0;
}
function $7() {
@@ -132,288 +132,288 @@ function asmFunc(global, env, buffer) {
function legalstub$11() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $11();
+ i64toi32_i32$0 = $11() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$12() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $12();
+ i64toi32_i32$0 = $12() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$13() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $13();
+ i64toi32_i32$0 = $13() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$14() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $14();
+ i64toi32_i32$0 = $14() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$15() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $15();
+ i64toi32_i32$0 = $15() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$16() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $16();
+ i64toi32_i32$0 = $16() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$17() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $17();
+ i64toi32_i32$0 = $17() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$18() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $18();
+ i64toi32_i32$0 = $18() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$19() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $19();
+ i64toi32_i32$0 = $19() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$20() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $20();
+ i64toi32_i32$0 = $20() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$21() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $21();
+ i64toi32_i32$0 = $21() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/labels.2asm.js b/test/wasm2js/labels.2asm.js
index ded00aab1..043684eb9 100644
--- a/test/wasm2js/labels.2asm.js
+++ b/test/wasm2js/labels.2asm.js
@@ -42,7 +42,7 @@ function asmFunc(global, env, buffer) {
break exit;
}
}
- continue;
+ continue cont;
};
}
return $6_1 | 0;
@@ -55,7 +55,7 @@ function asmFunc(global, env, buffer) {
cont : while (1) {
i = i + 1 | 0;
if ((i | 0) == (5 | 0)) {
- continue
+ continue cont
}
if ((i | 0) == (8 | 0)) {
{
@@ -64,7 +64,7 @@ function asmFunc(global, env, buffer) {
}
}
i = i + 1 | 0;
- continue;
+ continue cont;
};
}
return $8_1 | 0;
@@ -99,7 +99,7 @@ function asmFunc(global, env, buffer) {
break exit;
}
}
- continue;
+ continue cont;
};
}
return $9_1 | 0;
@@ -108,7 +108,7 @@ function asmFunc(global, env, buffer) {
function $5() {
var $0_1 = 0;
$0_1 = 1;
- return $0_1 + 1 | 0;
+ return $0_1 + 1 | 0 | 0;
}
function $6() {
@@ -225,24 +225,24 @@ function asmFunc(global, env, buffer) {
if (0) {
break inner
}
- i = i | 1;
+ i = i | 1 | 0;
if (1) {
break inner
}
- i = i | 2;
+ i = i | 2 | 0;
}
- i = i | 4;
+ i = i | 4 | 0;
$10_1 = i;
if (0) {
break outer
}
- i = i | 8;
- i = i | 16;
+ i = i | 8 | 0;
+ i = i | 16 | 0;
$10_1 = i;
if (1) {
break outer
}
- i = i | 32;
+ i = i | 32 | 0;
$10_1 = i;
}
return $10_1 | 0;
@@ -321,7 +321,7 @@ function asmFunc(global, env, buffer) {
$2_2 = 3;
break l113;
}
- return $1_2 + $2_2 | 0;
+ return $1_2 + $2_2 | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/left-to-right.2asm.js b/test/wasm2js/left-to-right.2asm.js
index b7c187e1c..9b25aedc4 100644
--- a/test/wasm2js/left-to-right.2asm.js
+++ b/test/wasm2js/left-to-right.2asm.js
@@ -117,321 +117,327 @@ function asmFunc(global, env, buffer) {
}
function bump() {
- HEAP8[11 | 0] = HEAPU8[10 | 0];
- HEAP8[10 | 0] = HEAPU8[9 | 0];
- HEAP8[9 | 0] = HEAPU8[8 | 0];
- HEAP8[8 | 0] = -3;
+ HEAP8[11 >> 0] = HEAPU8[10 >> 0] | 0;
+ HEAP8[10 >> 0] = HEAPU8[9 >> 0] | 0;
+ HEAP8[9 >> 0] = HEAPU8[8 >> 0] | 0;
+ HEAP8[8 >> 0] = -3;
}
function get() {
- return HEAP32[8 >> 2];
+ return HEAP32[8 >> 2] | 0 | 0;
}
function i32_left() {
bump();
- HEAP8[8 | 0] = 1;
- return 0;
+ HEAP8[8 >> 0] = 1;
+ return 0 | 0;
}
function i32_right() {
bump();
- HEAP8[8 | 0] = 2;
- return 1;
+ HEAP8[8 >> 0] = 2;
+ return 1 | 0;
}
function i32_callee() {
bump();
- HEAP8[8 | 0] = 4;
- return 0;
+ HEAP8[8 >> 0] = 4;
+ return 0 | 0;
}
function i32_bool() {
bump();
- HEAP8[8 | 0] = 5;
- return 0;
+ HEAP8[8 >> 0] = 5;
+ return 0 | 0;
}
function i64_left() {
var i64toi32_i32$0 = 0;
bump();
- HEAP8[8 | 0] = 1;
+ HEAP8[8 >> 0] = 1;
i64toi32_i32$0 = 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return 0;
+ return 0 | 0;
}
function i64_right() {
var i64toi32_i32$0 = 0;
bump();
- HEAP8[8 | 0] = 2;
+ HEAP8[8 >> 0] = 2;
i64toi32_i32$0 = 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return 1;
+ return 1 | 0;
}
function i64_callee() {
bump();
- HEAP8[8 | 0] = 4;
- return 2;
+ HEAP8[8 >> 0] = 4;
+ return 2 | 0;
}
function i64_bool() {
bump();
- HEAP8[8 | 0] = 5;
- return 0;
+ HEAP8[8 >> 0] = 5;
+ return 0 | 0;
}
function f32_left() {
bump();
- HEAP8[8 | 0] = 1;
- return Math_fround(0.0);
+ HEAP8[8 >> 0] = 1;
+ return Math_fround(Math_fround(0.0));
}
function f32_right() {
bump();
- HEAP8[8 | 0] = 2;
- return Math_fround(1.0);
+ HEAP8[8 >> 0] = 2;
+ return Math_fround(Math_fround(1.0));
}
function f32_callee() {
bump();
- HEAP8[8 | 0] = 4;
- return 4;
+ HEAP8[8 >> 0] = 4;
+ return 4 | 0;
}
function f32_bool() {
bump();
- HEAP8[8 | 0] = 5;
- return 0;
+ HEAP8[8 >> 0] = 5;
+ return 0 | 0;
}
function f64_left() {
bump();
- HEAP8[8 | 0] = 1;
- return 0.0;
+ HEAP8[8 >> 0] = 1;
+ return +(0.0);
}
function f64_right() {
bump();
- HEAP8[8 | 0] = 2;
- return 1.0;
+ HEAP8[8 >> 0] = 2;
+ return +(1.0);
}
function f64_callee() {
bump();
- HEAP8[8 | 0] = 4;
- return 6;
+ HEAP8[8 >> 0] = 4;
+ return 6 | 0;
}
function f64_bool() {
bump();
- HEAP8[8 | 0] = 5;
- return 0;
+ HEAP8[8 >> 0] = 5;
+ return 0 | 0;
}
function i32_dummy($0, $1) {
-
+ $0 = $0 | 0;
+ $1 = $1 | 0;
}
function i64_dummy($0, $0$hi, $1, $1$hi) {
-
+ $0 = $0 | 0;
+ $0$hi = $0$hi | 0;
+ $1 = $1 | 0;
+ $1$hi = $1$hi | 0;
}
function f32_dummy($0, $1) {
-
+ $0 = Math_fround($0);
+ $1 = Math_fround($1);
}
function f64_dummy($0, $1) {
-
+ $0 = +$0;
+ $1 = +$1;
}
function $35() {
reset();
- i32_left() + i32_right() | 0;
- return get() | 0;
+ (i32_left() | 0) + (i32_right() | 0) | 0;
+ return get() | 0 | 0;
}
function $36() {
reset();
- i32_left() - i32_right() | 0;
- return get() | 0;
+ (i32_left() | 0) - (i32_right() | 0) | 0;
+ return get() | 0 | 0;
}
function $37() {
reset();
- Math_imul(i32_left(), i32_right());
- return get() | 0;
+ Math_imul(i32_left() | 0, i32_right() | 0);
+ return get() | 0 | 0;
}
function $38() {
reset();
- (i32_left() | 0) / (i32_right() | 0) | 0;
- return get() | 0;
+ (i32_left() | 0 | 0) / (i32_right() | 0 | 0) | 0;
+ return get() | 0 | 0;
}
function $39() {
reset();
- (i32_left() >>> 0) / (i32_right() >>> 0) | 0;
- return get() | 0;
+ ((i32_left() | 0) >>> 0) / ((i32_right() | 0) >>> 0) | 0;
+ return get() | 0 | 0;
}
function $40() {
reset();
- (i32_left() | 0) % (i32_right() | 0) | 0;
- return get() | 0;
+ (i32_left() | 0 | 0) % (i32_right() | 0 | 0) | 0;
+ return get() | 0 | 0;
}
function $41() {
reset();
- (i32_left() >>> 0) % (i32_right() >>> 0) | 0;
- return get() | 0;
+ ((i32_left() | 0) >>> 0) % ((i32_right() | 0) >>> 0) | 0;
+ return get() | 0 | 0;
}
function $42() {
reset();
- i32_left() & i32_right();
- return get() | 0;
+ (i32_left() | 0) & (i32_right() | 0) | 0;
+ return get() | 0 | 0;
}
function $43() {
reset();
- i32_left() | i32_right();
- return get() | 0;
+ i32_left() | 0 | (i32_right() | 0) | 0;
+ return get() | 0 | 0;
}
function $44() {
reset();
- i32_left() ^ i32_right();
- return get() | 0;
+ (i32_left() | 0) ^ (i32_right() | 0) | 0;
+ return get() | 0 | 0;
}
function $45() {
reset();
- i32_left() << i32_right();
- return get() | 0;
+ (i32_left() | 0) << (i32_right() | 0) | 0;
+ return get() | 0 | 0;
}
function $46() {
reset();
- i32_left() >>> i32_right();
- return get() | 0;
+ (i32_left() | 0) >>> (i32_right() | 0) | 0;
+ return get() | 0 | 0;
}
function $47() {
reset();
- i32_left() >> i32_right();
- return get() | 0;
+ (i32_left() | 0) >> (i32_right() | 0) | 0;
+ return get() | 0 | 0;
}
function $48() {
reset();
- (i32_left() | 0) == (i32_right() | 0);
- return get() | 0;
+ (i32_left() | 0 | 0) == (i32_right() | 0 | 0);
+ return get() | 0 | 0;
}
function $49() {
reset();
- (i32_left() | 0) != (i32_right() | 0);
- return get() | 0;
+ (i32_left() | 0 | 0) != (i32_right() | 0 | 0);
+ return get() | 0 | 0;
}
function $50() {
reset();
- (i32_left() | 0) < (i32_right() | 0);
- return get() | 0;
+ (i32_left() | 0 | 0) < (i32_right() | 0 | 0);
+ return get() | 0 | 0;
}
function $51() {
reset();
- (i32_left() | 0) <= (i32_right() | 0);
- return get() | 0;
+ (i32_left() | 0 | 0) <= (i32_right() | 0 | 0);
+ return get() | 0 | 0;
}
function $52() {
reset();
- i32_left() >>> 0 < i32_right() >>> 0;
- return get() | 0;
+ (i32_left() | 0) >>> 0 < (i32_right() | 0) >>> 0;
+ return get() | 0 | 0;
}
function $53() {
reset();
- i32_left() >>> 0 <= i32_right() >>> 0;
- return get() | 0;
+ (i32_left() | 0) >>> 0 <= (i32_right() | 0) >>> 0;
+ return get() | 0 | 0;
}
function $54() {
reset();
- (i32_left() | 0) > (i32_right() | 0);
- return get() | 0;
+ (i32_left() | 0 | 0) > (i32_right() | 0 | 0);
+ return get() | 0 | 0;
}
function $55() {
reset();
- (i32_left() | 0) >= (i32_right() | 0);
- return get() | 0;
+ (i32_left() | 0 | 0) >= (i32_right() | 0 | 0);
+ return get() | 0 | 0;
}
function $56() {
reset();
- i32_left() >>> 0 > i32_right() >>> 0;
- return get() | 0;
+ (i32_left() | 0) >>> 0 > (i32_right() | 0) >>> 0;
+ return get() | 0 | 0;
}
function $57() {
reset();
- i32_left() >>> 0 >= i32_right() >>> 0;
- return get() | 0;
+ (i32_left() | 0) >>> 0 >= (i32_right() | 0) >>> 0;
+ return get() | 0 | 0;
}
function $58() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
reset();
- (wasm2js_i32$0 = i32_left(), wasm2js_i32$1 = i32_right()), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- return get() | 0;
+ (wasm2js_i32$0 = i32_left() | 0, wasm2js_i32$1 = i32_right() | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
+ return get() | 0 | 0;
}
function $59() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
reset();
- (wasm2js_i32$0 = i32_left(), wasm2js_i32$1 = i32_right()), HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1;
- return get() | 0;
+ (wasm2js_i32$0 = i32_left() | 0, wasm2js_i32$1 = i32_right() | 0), HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1;
+ return get() | 0 | 0;
}
function $60() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
reset();
- (wasm2js_i32$0 = i32_left(), wasm2js_i32$1 = i32_right()), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1;
- return get() | 0;
+ (wasm2js_i32$0 = i32_left() | 0, wasm2js_i32$1 = i32_right() | 0), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1;
+ return get() | 0 | 0;
}
function $61() {
reset();
- i32_dummy(i32_left(), i32_right());
- return get() | 0;
+ i32_dummy(i32_left() | 0 | 0, i32_right() | 0 | 0);
+ return get() | 0 | 0;
}
function $62() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0;
reset();
- ((wasm2js_i32$1 = i32_left(), wasm2js_i32$2 = i32_right()), wasm2js_i32$0 = i32_callee()), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0;
- return get() | 0;
+ ((wasm2js_i32$1 = i32_left() | 0, wasm2js_i32$2 = i32_right() | 0), wasm2js_i32$0 = i32_callee() | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0;
+ return get() | 0 | 0;
}
function $63() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0;
reset();
- wasm2js_i32$0 = i32_left(), wasm2js_i32$1 = i32_right(), wasm2js_i32$2 = i32_bool(), wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1;
- return get() | 0;
+ wasm2js_i32$0 = i32_left() | 0, wasm2js_i32$1 = i32_right() | 0, wasm2js_i32$2 = i32_bool() | 0, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1;
+ return get() | 0 | 0;
}
function $64() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -443,17 +449,17 @@ function asmFunc(global, env, buffer) {
if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) {
i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0
}
- return get() | 0;
+ return get() | 0 | 0;
}
function $65() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -463,158 +469,158 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $1;
i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0;
i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0;
- return get() | 0;
+ return get() | 0 | 0;
}
function $66() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = __wasm_i64_mul($0, i64toi32_i32$0, $1, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_mul($0 | 0, i64toi32_i32$0 | 0, $1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- return get() | 0;
+ return get() | 0 | 0;
}
function $67() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = __wasm_i64_sdiv($0, i64toi32_i32$0, $1, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv($0 | 0, i64toi32_i32$0 | 0, $1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- return get() | 0;
+ return get() | 0 | 0;
}
function $68() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($0, i64toi32_i32$0, $1, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($0 | 0, i64toi32_i32$0 | 0, $1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- return get() | 0;
+ return get() | 0 | 0;
}
function $69() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = __wasm_i64_srem($0, i64toi32_i32$0, $1, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_srem($0 | 0, i64toi32_i32$0 | 0, $1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- return get() | 0;
+ return get() | 0 | 0;
}
function $70() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = __wasm_i64_urem($0, i64toi32_i32$0, $1, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem($0 | 0, i64toi32_i32$0 | 0, $1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- return get() | 0;
+ return get() | 0 | 0;
}
function $71() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- return get() | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ return get() | 0 | 0;
}
function $72() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- return get() | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ return get() | 0 | 0;
}
function $73() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1;
- return get() | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$1 | 0;
+ return get() | 0 | 0;
}
function $74() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $9 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -622,29 +628,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $0;
i64toi32_i32$1 = $1$hi;
i64toi32_i32$3 = $1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$9 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $9 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $9 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- return get() | 0;
+ return get() | 0 | 0;
}
function $75() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -652,29 +658,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $0;
i64toi32_i32$1 = $1$hi;
i64toi32_i32$3 = $1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $9 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $9 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $9 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $9 = (((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;
}
}
- return get() | 0;
+ return get() | 0 | 0;
}
function $76() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -682,61 +688,61 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $0;
i64toi32_i32$1 = $1$hi;
i64toi32_i32$3 = $1;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $9 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $9 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $9 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $9 = (((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;
}
}
- return get() | 0;
+ return get() | 0 | 0;
}
function $77() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- return get() | 0;
+ return get() | 0 | 0;
}
function $78() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- return get() | 0;
+ return get() | 0 | 0;
}
function $79() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $10 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -763,17 +769,17 @@ function asmFunc(global, env, buffer) {
$8 = $10;
}
}
- return get() | 0;
+ return get() | 0 | 0;
}
function $80() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $10 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -800,49 +806,49 @@ function asmFunc(global, env, buffer) {
$8 = $10;
}
}
- return get() | 0;
+ return get() | 0 | 0;
}
function $81() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- return get() | 0;
+ return get() | 0 | 0;
}
function $82() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- return get() | 0;
+ return get() | 0 | 0;
}
function $83() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $10 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -869,17 +875,17 @@ function asmFunc(global, env, buffer) {
$8 = $10;
}
}
- return get() | 0;
+ return get() | 0 | 0;
}
function $84() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $10 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -906,369 +912,369 @@ function asmFunc(global, env, buffer) {
$8 = $10;
}
}
- return get() | 0;
+ return get() | 0 | 0;
}
function $85() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- return get() | 0;
+ return get() | 0 | 0;
}
function $86() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- return get() | 0;
+ return get() | 0 | 0;
}
function $87() {
var i64toi32_i32$0 = 0, $0 = 0, i64toi32_i32$1 = 0, $1 = 0;
reset();
- $0 = i32_left();
- i64toi32_i32$0 = i64_right();
+ $0 = i32_left() | 0;
+ i64toi32_i32$0 = i64_right() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$0;
i64toi32_i32$0 = $0;
HEAP32[i64toi32_i32$0 >> 2] = $1;
- HEAP32[i64toi32_i32$0 + 4 >> 2] = i64toi32_i32$1;
- return get() | 0;
+ HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1;
+ return get() | 0 | 0;
}
function $88() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
reset();
- (wasm2js_i32$0 = i32_left(), wasm2js_i32$1 = i64_right()), HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1;
- return get() | 0;
+ (wasm2js_i32$0 = i32_left() | 0, wasm2js_i32$1 = i64_right() | 0), HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1;
+ return get() | 0 | 0;
}
function $89() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
reset();
- (wasm2js_i32$0 = i32_left(), wasm2js_i32$1 = i64_right()), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1;
- return get() | 0;
+ (wasm2js_i32$0 = i32_left() | 0, wasm2js_i32$1 = i64_right() | 0), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1;
+ return get() | 0 | 0;
}
function $90() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
reset();
- (wasm2js_i32$0 = i32_left(), wasm2js_i32$1 = i64_right()), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
- return get() | 0;
+ (wasm2js_i32$0 = i32_left() | 0, wasm2js_i32$1 = i64_right() | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1;
+ return get() | 0 | 0;
}
function $91() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64_dummy($0, i64toi32_i32$0, $1, i64toi32_i32$1);
- return get() | 0;
+ i64_dummy($0 | 0, i64toi32_i32$0 | 0, $1 | 0, i64toi32_i32$1 | 0);
+ return get() | 0 | 0;
}
function $92() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- FUNCTION_TABLE[i64_callee()]($0, i64toi32_i32$0, $1, i64toi32_i32$1) | 0;
- return get() | 0;
+ FUNCTION_TABLE[i64_callee() | 0]($0, i64toi32_i32$0, $1, i64toi32_i32$1) | 0;
+ return get() | 0 | 0;
}
function $93() {
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $0 = 0, $0$hi = 0, $1 = 0, $1$hi = 0, i64toi32_i32$4 = 0;
reset();
- i64toi32_i32$0 = i64_left();
+ i64toi32_i32$0 = i64_left() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0 = i64toi32_i32$0;
$0$hi = i64toi32_i32$1;
- i64toi32_i32$1 = i64_right();
+ i64toi32_i32$1 = i64_right() | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
- i64toi32_i32$4 = i64_bool();
+ i64toi32_i32$4 = i64_bool() | 0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- return get() | 0;
+ return get() | 0 | 0;
}
function $94() {
reset();
- Math_fround(f32_left() + f32_right());
- return get() | 0;
+ Math_fround(Math_fround(f32_left()) + Math_fround(f32_right()));
+ return get() | 0 | 0;
}
function $95() {
reset();
- Math_fround(f32_left() - f32_right());
- return get() | 0;
+ Math_fround(Math_fround(f32_left()) - Math_fround(f32_right()));
+ return get() | 0 | 0;
}
function $96() {
reset();
- Math_fround(f32_left() * f32_right());
- return get() | 0;
+ Math_fround(Math_fround(f32_left()) * Math_fround(f32_right()));
+ return get() | 0 | 0;
}
function $97() {
reset();
- Math_fround(f32_left() / f32_right());
- return get() | 0;
+ Math_fround(Math_fround(f32_left()) / Math_fround(f32_right()));
+ return get() | 0 | 0;
}
function $98() {
reset();
- (wasm2js_scratch_store_f32(f32_left()), wasm2js_scratch_load_i32(0)) & 2147483647 | (wasm2js_scratch_store_f32(f32_right()), wasm2js_scratch_load_i32(0)) & -2147483648;
- return get() | 0;
+ (wasm2js_scratch_store_f32(Math_fround(f32_left())), wasm2js_scratch_load_i32(0)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32(Math_fround(f32_right())), wasm2js_scratch_load_i32(0)) & -2147483648 | 0) | 0;
+ return get() | 0 | 0;
}
function $99() {
reset();
- f32_left() == f32_right();
- return get() | 0;
+ Math_fround(f32_left()) == Math_fround(f32_right());
+ return get() | 0 | 0;
}
function $100() {
reset();
- f32_left() != f32_right();
- return get() | 0;
+ Math_fround(f32_left()) != Math_fround(f32_right());
+ return get() | 0 | 0;
}
function $101() {
reset();
- f32_left() < f32_right();
- return get() | 0;
+ Math_fround(f32_left()) < Math_fround(f32_right());
+ return get() | 0 | 0;
}
function $102() {
reset();
- f32_left() <= f32_right();
- return get() | 0;
+ Math_fround(f32_left()) <= Math_fround(f32_right());
+ return get() | 0 | 0;
}
function $103() {
reset();
- f32_left() > f32_right();
- return get() | 0;
+ Math_fround(f32_left()) > Math_fround(f32_right());
+ return get() | 0 | 0;
}
function $104() {
reset();
- f32_left() >= f32_right();
- return get() | 0;
+ Math_fround(f32_left()) >= Math_fround(f32_right());
+ return get() | 0 | 0;
}
function $105() {
reset();
- Math_fround(Math_min(f32_left(), f32_right()));
- return get() | 0;
+ Math_fround(Math_min(Math_fround(f32_left()), Math_fround(f32_right())));
+ return get() | 0 | 0;
}
function $106() {
reset();
- Math_fround(Math_max(f32_left(), f32_right()));
- return get() | 0;
+ Math_fround(Math_max(Math_fround(f32_left()), Math_fround(f32_right())));
+ return get() | 0 | 0;
}
function $107() {
var wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0);
reset();
- (wasm2js_i32$0 = i32_left(), wasm2js_f32$0 = f32_right()), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0;
- return get() | 0;
+ (wasm2js_i32$0 = i32_left() | 0, wasm2js_f32$0 = Math_fround(f32_right())), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0;
+ return get() | 0 | 0;
}
function $108() {
reset();
- f32_dummy(f32_left(), f32_right());
- return get() | 0;
+ f32_dummy(Math_fround(Math_fround(f32_left())), Math_fround(Math_fround(f32_right())));
+ return get() | 0 | 0;
}
function $109() {
var wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_f32$1 = Math_fround(0);
reset();
- ((wasm2js_f32$0 = f32_left(), wasm2js_f32$1 = f32_right()), wasm2js_i32$0 = f32_callee()), FUNCTION_TABLE[wasm2js_i32$0](Math_fround(wasm2js_f32$0), Math_fround(wasm2js_f32$1)) | 0;
- return get() | 0;
+ ((wasm2js_f32$0 = Math_fround(f32_left()), wasm2js_f32$1 = Math_fround(f32_right())), wasm2js_i32$0 = f32_callee() | 0), FUNCTION_TABLE[wasm2js_i32$0](Math_fround(wasm2js_f32$0), Math_fround(wasm2js_f32$1)) | 0;
+ return get() | 0 | 0;
}
function $110() {
var wasm2js_f32$0 = Math_fround(0), wasm2js_f32$1 = Math_fround(0), wasm2js_i32$0 = 0;
reset();
- wasm2js_f32$0 = f32_left(), wasm2js_f32$1 = f32_right(), wasm2js_i32$0 = f32_bool(), wasm2js_i32$0 ? wasm2js_f32$0 : wasm2js_f32$1;
- return get() | 0;
+ wasm2js_f32$0 = Math_fround(f32_left()), wasm2js_f32$1 = Math_fround(f32_right()), wasm2js_i32$0 = f32_bool() | 0, wasm2js_i32$0 ? wasm2js_f32$0 : wasm2js_f32$1;
+ return get() | 0 | 0;
}
function $111() {
reset();
- f64_left() + f64_right();
- return get() | 0;
+ +f64_left() + +f64_right();
+ return get() | 0 | 0;
}
function $112() {
reset();
- f64_left() - f64_right();
- return get() | 0;
+ +f64_left() - +f64_right();
+ return get() | 0 | 0;
}
function $113() {
reset();
- f64_left() * f64_right();
- return get() | 0;
+ +f64_left() * +f64_right();
+ return get() | 0 | 0;
}
function $114() {
reset();
- f64_left() / f64_right();
- return get() | 0;
+ +f64_left() / +f64_right();
+ return get() | 0 | 0;
}
function $115() {
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $2 = 0, $2$hi = 0, $5 = 0, $5$hi = 0;
reset();
- wasm2js_scratch_store_f64(+f64_left());
+ wasm2js_scratch_store_f64(+(+f64_left()));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$1 = 2147483647;
i64toi32_i32$3 = -1;
- i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1;
- $2 = i64toi32_i32$2 & i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ $2 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
$2$hi = i64toi32_i32$1;
- wasm2js_scratch_store_f64(+f64_right());
+ wasm2js_scratch_store_f64(+(+f64_right()));
i64toi32_i32$1 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$0 = wasm2js_scratch_load_i32(0 | 0) | 0;
i64toi32_i32$2 = -2147483648;
i64toi32_i32$3 = 0;
- i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2;
- $5 = i64toi32_i32$0 & i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0;
+ $5 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
$5$hi = i64toi32_i32$2;
i64toi32_i32$2 = $2$hi;
i64toi32_i32$1 = $2;
i64toi32_i32$0 = $5$hi;
i64toi32_i32$3 = $5;
- i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0;
- wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3);
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0);
wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
+wasm2js_scratch_load_f64();
- return get() | 0;
+ return get() | 0 | 0;
}
function $116() {
reset();
- f64_left() == f64_right();
- return get() | 0;
+ +f64_left() == +f64_right();
+ return get() | 0 | 0;
}
function $117() {
reset();
- f64_left() != f64_right();
- return get() | 0;
+ +f64_left() != +f64_right();
+ return get() | 0 | 0;
}
function $118() {
reset();
- f64_left() < f64_right();
- return get() | 0;
+ +f64_left() < +f64_right();
+ return get() | 0 | 0;
}
function $119() {
reset();
- f64_left() <= f64_right();
- return get() | 0;
+ +f64_left() <= +f64_right();
+ return get() | 0 | 0;
}
function $120() {
reset();
- f64_left() > f64_right();
- return get() | 0;
+ +f64_left() > +f64_right();
+ return get() | 0 | 0;
}
function $121() {
reset();
- f64_left() >= f64_right();
- return get() | 0;
+ +f64_left() >= +f64_right();
+ return get() | 0 | 0;
}
function $122() {
reset();
- Math_min(f64_left(), f64_right());
- return get() | 0;
+ Math_min(+f64_left(), +f64_right());
+ return get() | 0 | 0;
}
function $123() {
reset();
- Math_max(f64_left(), f64_right());
- return get() | 0;
+ Math_max(+f64_left(), +f64_right());
+ return get() | 0 | 0;
}
function $124() {
var wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0;
reset();
- (wasm2js_i32$0 = i32_left(), wasm2js_f64$0 = f64_right()), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
- return get() | 0;
+ (wasm2js_i32$0 = i32_left() | 0, wasm2js_f64$0 = +f64_right()), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0;
+ return get() | 0 | 0;
}
function $125() {
reset();
- f64_dummy(f64_left(), f64_right());
- return get() | 0;
+ f64_dummy(+(+f64_left()), +(+f64_right()));
+ return get() | 0 | 0;
}
function $126() {
var wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0, wasm2js_f64$1 = 0.0;
reset();
- ((wasm2js_f64$0 = f64_left(), wasm2js_f64$1 = f64_right()), wasm2js_i32$0 = f64_callee()), FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$0, +wasm2js_f64$1) | 0;
- return get() | 0;
+ ((wasm2js_f64$0 = +f64_left(), wasm2js_f64$1 = +f64_right()), wasm2js_i32$0 = f64_callee() | 0), FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$0, +wasm2js_f64$1) | 0;
+ return get() | 0 | 0;
}
function $127() {
var wasm2js_f64$0 = 0.0, wasm2js_f64$1 = 0.0, wasm2js_i32$0 = 0;
reset();
- wasm2js_f64$0 = f64_left(), wasm2js_f64$1 = f64_right(), wasm2js_i32$0 = f64_bool(), wasm2js_i32$0 ? wasm2js_f64$0 : wasm2js_f64$1;
- return get() | 0;
+ wasm2js_f64$0 = +f64_left(), wasm2js_f64$1 = +f64_right(), wasm2js_i32$0 = f64_bool() | 0, wasm2js_i32$0 ? wasm2js_f64$0 : wasm2js_f64$1;
+ return get() | 0 | 0;
}
function $128() {
var $3 = 0;
block : {
reset();
- $3 = i32_left();
- if (i32_right() & 0) {
+ $3 = i32_left() | 0;
+ if ((i32_right() | 0) & 0 | 0) {
break block
}
- $3 = get();
+ $3 = get() | 0;
}
return $3 | 0;
}
@@ -1278,17 +1284,17 @@ function asmFunc(global, env, buffer) {
a : {
reset();
b : {
- $2 = i32_left();
+ $2 = i32_left() | 0;
$3 = $2;
$4 = $2;
- switch (i32_right() | 0) {
+ switch (i32_right() | 0 | 0) {
case 0:
break a;
default:
break b;
};
}
- $3 = get();
+ $3 = get() | 0;
}
return $3 | 0;
}
@@ -1302,16 +1308,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = getTempRet0() | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$8 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $8 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$4$hi = i64toi32_i32$1;
@@ -1319,57 +1325,63 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$3 = $8;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0, $0$hi) {
+ $0 = $0 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2 = $0;
i64toi32_i32$2 = $0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21 = 0, $22 = 0, var$6 = 0, $24 = 0, $17 = 0, $18 = 0, $23 = 0, $29 = 0, $45_1 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17 = Math_imul(var$4, var$5);
$18 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23 = $17 + Math_imul($18, $21) | 0;
@@ -1377,39 +1389,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29 = $23 + Math_imul($22, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45_1 = $29 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45_1 = $29 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45_1 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45_1 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -1418,29 +1430,33 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -1450,11 +1466,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -1467,16 +1483,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -1486,11 +1502,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -1500,7 +1516,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -1510,20 +1526,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -1532,11 +1548,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -1544,25 +1560,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20 = 0, $21 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $20 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $20 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $20 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $20 = (((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 = $20;
@@ -1572,11 +1592,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -1589,16 +1609,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $21 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $21 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $21 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $21 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$0 = $21;
@@ -1608,11 +1628,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -1622,7 +1642,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_urem($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$2$hi;
@@ -1630,11 +1650,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
$19$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$1 = $19$hi;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -1642,10 +1662,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0;
i64toi32_i32$4 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37_1 = 0, $38_1 = 0, $39_1 = 0, $40_1 = 0, $41_1 = 0, $42_1 = 0, $43_1 = 0, $44_1 = 0, var$8$hi = 0, $45_1 = 0, $46_1 = 0, $47_1 = 0, $48_1 = 0, var$7$hi = 0, $49_1 = 0, $63$hi = 0, $65_1 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -1661,16 +1685,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -1685,16 +1709,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -1712,7 +1736,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -1721,26 +1745,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -1752,23 +1776,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40_1 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -1776,22 +1800,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65_1 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -1807,23 +1831,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41_1, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41_1 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -1833,7 +1857,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -1843,22 +1867,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42_1 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42_1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42_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$3 = $42_1;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -1869,17 +1893,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43_1 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43_1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43_1;
@@ -1890,17 +1914,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44_1 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44_1 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44_1 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44_1;
@@ -1924,16 +1948,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45_1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45_1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45_1;
@@ -1942,16 +1966,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46_1 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46_1 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46_1 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46_1 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -1959,8 +1983,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46_1;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -1977,16 +2001,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47_1 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47_1 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47_1 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47_1 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47_1;
@@ -1996,8 +2020,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -2013,16 +2037,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48_1 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48_1 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -2031,44 +2055,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48_1;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49_1 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49_1 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49_1 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -2077,13 +2101,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49_1;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -2091,76 +2115,97 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64();
+ i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [i32_t0, i32_t1, i64_t0, i64_t1, f32_t0, f32_t1, f64_t0, f64_t1];
diff --git a/test/wasm2js/loop.2asm.js b/test/wasm2js/loop.2asm.js
index 7d94fe051..6ba7086ea 100644
--- a/test/wasm2js/loop.2asm.js
+++ b/test/wasm2js/loop.2asm.js
@@ -90,7 +90,7 @@ function asmFunc(global, env, buffer) {
var $2_1 = 0;
dummy();
$2_1 = 13;
- return __wasm_ctz_i32($2_1) | 0;
+ return __wasm_ctz_i32($2_1 | 0) | 0 | 0;
}
function $7() {
@@ -206,7 +206,7 @@ function asmFunc(global, env, buffer) {
var $0 = 0, $1_1 = 0, $2_1 = 0, $3_1 = 0, $5_1 = 0;
$0 = 0;
$1_1 = $0;
- loop_in : while (1) continue;
+ loop_in : while (1) continue loop_in;
}
function fx() {
@@ -231,14 +231,14 @@ function asmFunc(global, env, buffer) {
block : {
loop_in : while (1) {
i64toi32_i32$0 = $0$hi;
- if (!($0 | i64toi32_i32$0)) {
+ if (!($0 | i64toi32_i32$0 | 0)) {
break block
}
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$1 = __wasm_i64_mul($0, i64toi32_i32$0, $1_1, $1$hi);
+ i64toi32_i32$1 = __wasm_i64_mul($0 | 0, i64toi32_i32$0 | 0, $1_1 | 0, $1$hi | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$1;
$1$hi = i64toi32_i32$0;
@@ -249,7 +249,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0;
$0 = $0 - i64toi32_i32$3 | 0;
$0$hi = i64toi32_i32$5;
- continue;
+ continue loop_in;
};
}
i64toi32_i32$5 = $1$hi;
@@ -273,11 +273,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $2$hi;
i64toi32_i32$1 = $0$hi;
- if (i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & $2_1 >>> 0 > $0 >>> 0) {
+ if (i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & $2_1 >>> 0 > $0 >>> 0 | 0) | 0) {
break block
}
i64toi32_i32$0 = $2$hi;
- i64toi32_i32$0 = __wasm_i64_mul($1_1, $1$hi, $2_1, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul($1_1 | 0, $1$hi | 0, $2_1 | 0, i64toi32_i32$0 | 0) | 0;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$HIGH_BITS;
i64toi32_i32$0 = 0;
@@ -289,7 +289,7 @@ function asmFunc(global, env, buffer) {
}
$2_1 = i64toi32_i32$4;
$2$hi = i64toi32_i32$5;
- continue;
+ continue loop_in;
};
}
i64toi32_i32$5 = $1$hi;
@@ -317,18 +317,20 @@ function asmFunc(global, env, buffer) {
}
$3_1 = Math_fround($3_1 + $2_1);
$2_1 = Math_fround($2_1 - Math_fround(2.0));
- continue;
+ continue loop_in72;
};
}
$3_1 = Math_fround($3_1 / $0);
$0 = Math_fround($0 - Math_fround(1.0));
- continue;
+ continue loop_in;
};
}
return Math_fround($3_1);
}
function legalstub$16($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0;
@@ -337,16 +339,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -354,32 +356,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $16(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $16(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$17($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0;
@@ -388,16 +392,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12_1 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12_1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -405,54 +409,58 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12_1;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $17(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $17(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13_1 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21 = 0, $22 = 0, var$6 = 0, $24 = 0, $17_1 = 0, $18_1 = 0, $23 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17_1 = Math_imul(var$4, var$5);
$18_1 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23 = $17_1 + Math_imul($18_1, $21) | 0;
@@ -460,39 +468,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29 = $23 + Math_imul($22, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45 = $29 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45 = $29 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -501,30 +509,35 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/minus_minus.2asm.js b/test/wasm2js/minus_minus.2asm.js
index 783e6e826..f5b7a8945 100644
--- a/test/wasm2js/minus_minus.2asm.js
+++ b/test/wasm2js/minus_minus.2asm.js
@@ -22,11 +22,11 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
function $0() {
- return ~~- -7094.0;
+ return ~~- -7094.0 | 0;
}
function $1() {
- $0();
+ $0() | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/minus_minus.2asm.js.opt b/test/wasm2js/minus_minus.2asm.js.opt
new file mode 100644
index 000000000..4b68b4cd3
--- /dev/null
+++ b/test/wasm2js/minus_minus.2asm.js.opt
@@ -0,0 +1,36 @@
+
+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;
+ function $1() {
+
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "func_44_invoker": $1
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var func_44_invoker = retasmFunc.func_44_invoker;
diff --git a/test/wasm2js/nested-selects.2asm.js.opt b/test/wasm2js/nested-selects.2asm.js.opt
new file mode 100644
index 000000000..129ea99c9
--- /dev/null
+++ b/test/wasm2js/nested-selects.2asm.js.opt
@@ -0,0 +1,37 @@
+
+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;
+ function $1($0) {
+ $0 = $0 | 0;
+ return (($0 | 0) < (0 | 0) ? -1 : ($0 | 0) > (0 | 0) ? 1 : 0) | 0;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "sign": $1
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var sign = retasmFunc.sign;
diff --git a/test/wasm2js/ordering.2asm.js b/test/wasm2js/ordering.2asm.js
index 6e8f87af0..e9cf2a542 100644
--- a/test/wasm2js/ordering.2asm.js
+++ b/test/wasm2js/ordering.2asm.js
@@ -24,18 +24,18 @@ function asmFunc(global, env, buffer) {
var infinity = global.Infinity;
function main() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0;
- FUNCTION_TABLE[foo(2)](1) | 0;
- FUNCTION_TABLE[4](foo(3)) | 0;
- (wasm2js_i32$1 = foo(5), wasm2js_i32$0 = bar(6)), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0) | 0;
+ FUNCTION_TABLE[foo(2 | 0) | 0](1) | 0;
+ FUNCTION_TABLE[4](foo(3 | 0) | 0) | 0;
+ (wasm2js_i32$1 = foo(5 | 0) | 0, wasm2js_i32$0 = bar(6 | 0) | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0) | 0;
FUNCTION_TABLE[8](7) | 0;
- baz(11 ? 9 : 10);
- baz((wasm2js_i32$0 = foo(12), wasm2js_i32$1 = 13, wasm2js_i32$2 = 14, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1));
- baz((wasm2js_i32$0 = 15, wasm2js_i32$1 = foo(16), wasm2js_i32$2 = 17, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1));
- baz(foo(20) ? 18 : 19);
- baz((wasm2js_i32$0 = foo(21), wasm2js_i32$1 = 22, wasm2js_i32$2 = foo(23), wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1));
- baz((wasm2js_i32$0 = 24, wasm2js_i32$1 = foo(25), wasm2js_i32$2 = foo(26), wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1));
- baz((wasm2js_i32$0 = foo(27), wasm2js_i32$1 = foo(28), wasm2js_i32$2 = 29, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1));
- baz((wasm2js_i32$0 = foo(30), wasm2js_i32$1 = foo(31), wasm2js_i32$2 = foo(32), wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1));
+ baz((11 ? 9 : 10) | 0) | 0;
+ baz((wasm2js_i32$0 = foo(12 | 0) | 0, wasm2js_i32$1 = 13, wasm2js_i32$2 = 14, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1) | 0) | 0;
+ baz((wasm2js_i32$0 = 15, wasm2js_i32$1 = foo(16 | 0) | 0, wasm2js_i32$2 = 17, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1) | 0) | 0;
+ baz((foo(20 | 0) | 0 ? 18 : 19) | 0) | 0;
+ baz((wasm2js_i32$0 = foo(21 | 0) | 0, wasm2js_i32$1 = 22, wasm2js_i32$2 = foo(23 | 0) | 0, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1) | 0) | 0;
+ baz((wasm2js_i32$0 = 24, wasm2js_i32$1 = foo(25 | 0) | 0, wasm2js_i32$2 = foo(26 | 0) | 0, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1) | 0) | 0;
+ baz((wasm2js_i32$0 = foo(27 | 0) | 0, wasm2js_i32$1 = foo(28 | 0) | 0, wasm2js_i32$2 = 29, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1) | 0) | 0;
+ baz((wasm2js_i32$0 = foo(30 | 0) | 0, wasm2js_i32$1 = foo(31 | 0) | 0, wasm2js_i32$2 = foo(32 | 0) | 0, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1) | 0) | 0;
}
function foo($0) {
diff --git a/test/wasm2js/ordering.2asm.js.opt b/test/wasm2js/ordering.2asm.js.opt
new file mode 100644
index 000000000..30138838f
--- /dev/null
+++ b/test/wasm2js/ordering.2asm.js.opt
@@ -0,0 +1,57 @@
+import { FUNCTION_TABLE } 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;
+ function main() {
+ FUNCTION_TABLE[1](1) | 0;
+ FUNCTION_TABLE[4](1) | 0;
+ FUNCTION_TABLE[2](1) | 0;
+ FUNCTION_TABLE[8](7) | 0;
+ }
+
+ function foo($0) {
+ $0 = $0 | 0;
+ return 1 | 0;
+ }
+
+ function bar($0) {
+ $0 = $0 | 0;
+ return 2 | 0;
+ }
+
+ function baz($0) {
+ $0 = $0 | 0;
+ return 3 | 0;
+ }
+
+ FUNCTION_TABLE[1] = foo;
+ FUNCTION_TABLE[2] = bar;
+ FUNCTION_TABLE[3] = baz;
+ return {
+ "main": main
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var main = retasmFunc.main;
diff --git a/test/wasm2js/reinterpret.2asm.js b/test/wasm2js/reinterpret.2asm.js
index 478040d79..d53c50bab 100644
--- a/test/wasm2js/reinterpret.2asm.js
+++ b/test/wasm2js/reinterpret.2asm.js
@@ -63,15 +63,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $0$hi;
wasm2js_scratch_store_i32(0 | 0, $0 | 0);
wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0);
- wasm2js_scratch_store_f64(+wasm2js_scratch_load_f64());
+ wasm2js_scratch_store_f64(+(+wasm2js_scratch_load_f64()));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
$3$hi = i64toi32_i32$0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $3$hi;
- return (wasm2js_scratch_load_i32(0 | 0) | 0) == ($0 | 0) & (i64toi32_i32$0 | 0) == ($0$hi | 0);
+ return (wasm2js_scratch_load_i32(0 | 0) | 0 | 0) == ($0 | 0) & (i64toi32_i32$0 | 0) == ($0$hi | 0) | 0 | 0;
}
function legalstub$2($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3 = $0;
@@ -80,16 +82,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -97,8 +99,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/reinterpret.2asm.js.opt b/test/wasm2js/reinterpret.2asm.js.opt
new file mode 100644
index 000000000..39b236ce6
--- /dev/null
+++ b/test/wasm2js/reinterpret.2asm.js.opt
@@ -0,0 +1,99 @@
+
+
+ var scratchBuffer = new ArrayBuffer(8);
+ var i32ScratchView = new Int32Array(scratchBuffer);
+ var f32ScratchView = new Float32Array(scratchBuffer);
+ var f64ScratchView = new Float64Array(scratchBuffer);
+
+ function wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_store_f32(value) {
+ f32ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
+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;
+ function $1($0) {
+ $0 = $0 | 0;
+ return ($0 | 0) == ((wasm2js_scratch_store_f32((wasm2js_scratch_store_i32(0, $0), wasm2js_scratch_load_f32())), wasm2js_scratch_load_i32(0)) | 0) | 0;
+ }
+
+ function $2($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ var $2_1 = 0;
+ wasm2js_scratch_store_i32(0 | 0, $0 | 0);
+ wasm2js_scratch_store_i32(1 | 0, $1_1 | 0);
+ wasm2js_scratch_store_f64(+wasm2js_scratch_load_f64());
+ $2_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ return (wasm2js_scratch_load_i32(0 | 0) | 0) == ($0 | 0) & ($1_1 | 0) == ($2_1 | 0);
+ }
+
+ function legalstub$2($0, $1_1) {
+ var $2_1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ $5 = $0;
+ $3 = 32;
+ $0 = $3 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2_1 = $1_1 << $0;
+ $4 = 0;
+ }
+ } else {
+ {
+ $2_1 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $2_1 << $0;
+ $4 = $1_1 << $0;
+ }
+ }
+ return $2($5 | $4, $2_1 | $6);
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "i32_roundtrip": $1,
+ "i64_roundtrip": legalstub$2
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var i32_roundtrip = retasmFunc.i32_roundtrip;
+export var i64_roundtrip = retasmFunc.i64_roundtrip;
diff --git a/test/wasm2js/select.2asm.js b/test/wasm2js/select.2asm.js
index efe720c21..a13fac28b 100644
--- a/test/wasm2js/select.2asm.js
+++ b/test/wasm2js/select.2asm.js
@@ -75,6 +75,11 @@ function asmFunc(global, env, buffer) {
}
function legalstub$1($0_1, $1_1, $2_1, $3_1, $4_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
+ $4_1 = $4_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $22 = 0, $23 = 0, $24 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $5_1 = 0, $5$hi = 0;
i64toi32_i32$0 = 0;
$7 = $0_1;
@@ -83,16 +88,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$22 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $22 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $22 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -100,8 +105,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $11 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$11$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$13 = $2_1;
@@ -110,16 +115,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$23 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $23 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $23 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$16$hi = i64toi32_i32$0;
@@ -127,33 +132,33 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $13;
i64toi32_i32$1 = $16$hi;
i64toi32_i32$3 = $23;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $17 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$17$hi = i64toi32_i32$1;
i64toi32_i32$1 = $11$hi;
i64toi32_i32$2 = $17$hi;
- i64toi32_i32$2 = $1($11, i64toi32_i32$1, $17, i64toi32_i32$2, $4_1);
+ i64toi32_i32$2 = $1($11 | 0, i64toi32_i32$1 | 0, $17 | 0, i64toi32_i32$2 | 0, $4_1 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$5_1 = i64toi32_i32$2;
$5$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $24 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $24 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $24 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $24 = (((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;
}
}
setTempRet0($24 | 0);
i64toi32_i32$2 = $5$hi;
- return $5_1;
+ return $5_1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/set_local.2asm.js b/test/wasm2js/set_local.2asm.js
index 1eba7bcd2..eb5a4485e 100644
--- a/test/wasm2js/set_local.2asm.js
+++ b/test/wasm2js/set_local.2asm.js
@@ -108,6 +108,8 @@ function asmFunc(global, env, buffer) {
}
function legalstub$5($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0_1;
@@ -116,16 +118,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -133,11 +135,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $5(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $5(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0);
}
function legalstub$8($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = Math_fround($2_1);
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0;
i64toi32_i32$0 = 0;
$7_1 = $0_1;
@@ -146,16 +154,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$14 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $14 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -163,11 +171,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7_1;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $14;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $8(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2, $2_1, $3_1, $4_1, $5_1);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $8(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0);
}
function legalstub$9($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = Math_fround($2_1);
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $16 = 0, $17 = 0, $8_1 = 0, $8$hi = 0, $11$hi = 0, $6_1 = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$8_1 = $0_1;
@@ -176,16 +190,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$16 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $16 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $16 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$11$hi = i64toi32_i32$1;
@@ -193,29 +207,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $8_1;
i64toi32_i32$2 = $11$hi;
i64toi32_i32$3 = $16;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $9(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2, $2_1, $3_1, $4_1, $5_1);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $9(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$6_1 = i64toi32_i32$2;
$6$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $17 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $17 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $17 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $17 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($17 | 0);
i64toi32_i32$2 = $6$hi;
- return $6_1;
+ return $6_1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/stack-modified.2asm.js b/test/wasm2js/stack-modified.2asm.js
index 1514be5bd..22e6037d1 100644
--- a/test/wasm2js/stack-modified.2asm.js
+++ b/test/wasm2js/stack-modified.2asm.js
@@ -40,7 +40,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0)) {
+ if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
{
@@ -48,7 +48,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1, i64toi32_i32$2, var$2, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
var$2 = i64toi32_i32$0;
var$2$hi = i64toi32_i32$2;
@@ -62,7 +62,7 @@ function asmFunc(global, env, buffer) {
var$1$hi = i64toi32_i32$5;
}
}
- continue;
+ continue label$2;
};
}
i64toi32_i32$5 = var$2$hi;
@@ -87,7 +87,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0)) {
+ if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
{
@@ -95,7 +95,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1, i64toi32_i32$2, var$2, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
var$2 = i64toi32_i32$0;
var$2$hi = i64toi32_i32$2;
@@ -109,7 +109,7 @@ function asmFunc(global, env, buffer) {
var$1$hi = i64toi32_i32$5;
}
}
- continue;
+ continue label$2;
};
}
i64toi32_i32$5 = var$2$hi;
@@ -134,7 +134,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0)) {
+ if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
{
@@ -142,7 +142,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1, i64toi32_i32$2, var$2, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
var$2 = i64toi32_i32$0;
var$2$hi = i64toi32_i32$2;
@@ -156,7 +156,7 @@ function asmFunc(global, env, buffer) {
var$1$hi = i64toi32_i32$5;
}
}
- continue;
+ continue label$2;
};
}
i64toi32_i32$5 = var$2$hi;
@@ -181,7 +181,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0)) {
+ if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
{
@@ -189,7 +189,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1, i64toi32_i32$2, var$2, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
var$2 = i64toi32_i32$0;
var$2$hi = i64toi32_i32$2;
@@ -203,7 +203,7 @@ function asmFunc(global, env, buffer) {
var$1$hi = i64toi32_i32$5;
}
}
- continue;
+ continue label$2;
};
}
i64toi32_i32$5 = var$2$hi;
@@ -228,7 +228,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 0;
- if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0)) {
+ if ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) {
break label$1
} else {
{
@@ -236,7 +236,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$0 = var$2$hi;
- i64toi32_i32$0 = __wasm_i64_mul(var$1, i64toi32_i32$2, var$2, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_i64_mul(var$1 | 0, i64toi32_i32$2 | 0, var$2 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$2 = i64toi32_i32$HIGH_BITS;
var$2 = i64toi32_i32$0;
var$2$hi = i64toi32_i32$2;
@@ -250,7 +250,7 @@ function asmFunc(global, env, buffer) {
var$1$hi = i64toi32_i32$5;
}
}
- continue;
+ continue label$2;
};
}
i64toi32_i32$5 = var$2$hi;
@@ -260,6 +260,8 @@ function asmFunc(global, env, buffer) {
}
function legalstub$0($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -268,16 +270,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -285,32 +287,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $0(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $0(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$1($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -319,16 +323,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -336,32 +340,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $1(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $1(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -370,16 +376,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -387,32 +393,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $2(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -421,16 +429,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -438,32 +446,34 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$4($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -472,16 +482,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -489,54 +499,58 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $4(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $4(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21 = 0, $22 = 0, var$6 = 0, $24 = 0, $17 = 0, $18 = 0, $23 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0;
i64toi32_i32$0 = var$1$hi;
var$2 = var$1;
- var$4 = var$2 >>> 16;
+ var$4 = var$2 >>> 16 | 0;
i64toi32_i32$0 = var$0$hi;
var$3 = var$0;
- var$5 = var$3 >>> 16;
+ var$5 = var$3 >>> 16 | 0;
$17 = Math_imul(var$4, var$5);
$18 = var$2;
i64toi32_i32$2 = var$3;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $21 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $21 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
$23 = $17 + Math_imul($18, $21) | 0;
@@ -544,39 +558,39 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $22 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $22 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0;
}
}
$29 = $23 + Math_imul($22, var$3) | 0;
- var$2 = var$2 & 65535;
- var$3 = var$3 & 65535;
+ var$2 = var$2 & 65535 | 0;
+ var$3 = var$3 & 65535 | 0;
var$6 = Math_imul(var$2, var$3);
- var$2 = (var$6 >>> 16) + Math_imul(var$2, var$5) | 0;
- $45 = $29 + (var$2 >>> 16) | 0;
- var$2 = (var$2 & 65535) + Math_imul(var$4, var$3) | 0;
+ var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0;
+ $45 = $29 + (var$2 >>> 16 | 0) | 0;
+ var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = $45 + (var$2 >>> 16) | 0;
+ i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$24 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $24 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$56$hi = i64toi32_i32$0;
@@ -585,23 +599,27 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $56$hi;
i64toi32_i32$2 = $24;
i64toi32_i32$1 = $62$hi;
- i64toi32_i32$3 = var$2 << 16 | var$6 & 65535;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/stack-modified.2asm.js.opt b/test/wasm2js/stack-modified.2asm.js.opt
new file mode 100644
index 000000000..87b18bd9f
--- /dev/null
+++ b/test/wasm2js/stack-modified.2asm.js.opt
@@ -0,0 +1,127 @@
+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 $0($0_1, $1) {
+ $0_1 = $0_1 | 0;
+ $1 = $1 | 0;
+ var $2 = 0, $3 = 0, $4 = 0;
+ $2 = $1;
+ $3 = 1;
+ label$2 : while (1) {
+ if ($0_1 | $2) {
+ {
+ $3 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0_1, $2, $3, $4);
+ $4 = i64toi32_i32$HIGH_BITS;
+ $1 = $0_1;
+ $0_1 = $0_1 - 1 | 0;
+ $2 = $2 - ($1 >>> 0 < 1 >>> 0) | 0;
+ continue;
+ }
+ }
+ break;
+ };
+ i64toi32_i32$HIGH_BITS = $4;
+ return $3 | 0;
+ }
+
+ function legalstub$0($0_1, $1) {
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ $5 = $0_1;
+ $3 = 32;
+ $0_1 = $3 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2 = $1 << $0_1;
+ $4 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0_1) - 1 & $1 >>> 32 - $0_1 | $2 << $0_1;
+ $4 = $1 << $0_1;
+ }
+ }
+ $1 = $0($5 | $4, $2 | $6);
+ $6 = $1;
+ $2 = i64toi32_i32$HIGH_BITS;
+ $0_1 = 32 & 31;
+ setTempRet0((32 >>> 0 <= $3 >>> 0 ? $2 >>> $0_1 : ((1 << $0_1) - 1 & $2) << 32 - $0_1 | $1 >>> $0_1) | 0);
+ return $1;
+ }
+
+ function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0_1, $1, $2, $3) {
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0;
+ $4 = $2 >>> 16;
+ $5 = $0_1 >>> 16;
+ $7 = Math_imul($4, $5);
+ $8 = $2 & 65535;
+ $6 = $0_1 & 65535;
+ $9 = Math_imul($8, $6);
+ $5 = ($9 >>> 16) + Math_imul($5, $8) | 0;
+ $4 = ($5 & 65535) + Math_imul($4, $6) | 0;
+ $8 = 0;
+ $11 = $7;
+ $6 = $0_1;
+ $7 = 32;
+ $0_1 = $7 & 31;
+ $12 = $11 + Math_imul(32 >>> 0 <= $7 >>> 0 ? $1 >>> $0_1 : ((1 << $0_1) - 1 & $1) << 32 - $0_1 | $6 >>> $0_1, $2) | 0;
+ $1 = $2;
+ $2 = 32;
+ $0_1 = $2 & 31;
+ $1 = (($12 + Math_imul($6, 32 >>> 0 <= $2 >>> 0 ? $3 >>> $0_1 : ((1 << $0_1) - 1 & $3) << 32 - $0_1 | $1 >>> $0_1) | 0) + ($5 >>> 16) | 0) + ($4 >>> 16) | 0;
+ $0_1 = 32 & 31;
+ if (32 >>> 0 <= $2 >>> 0) {
+ {
+ $2 = $1 << $0_1;
+ $10 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0_1) - 1 & $1 >>> 32 - $0_1 | $8 << $0_1;
+ $10 = $1 << $0_1;
+ }
+ }
+ $0_1 = $10 | ($9 & 65535 | $4 << 16);
+ i64toi32_i32$HIGH_BITS = $2;
+ return $0_1;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "fac_expr": legalstub$0,
+ "fac_stack": legalstub$0,
+ "fac_stack_raw": legalstub$0,
+ "fac_mixed": legalstub$0,
+ "fac_mixed_raw": legalstub$0
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+export var fac_expr = retasmFunc.fac_expr;
+export var fac_stack = retasmFunc.fac_stack;
+export var fac_stack_raw = retasmFunc.fac_stack_raw;
+export var fac_mixed = retasmFunc.fac_mixed;
+export var fac_mixed_raw = retasmFunc.fac_mixed_raw;
diff --git a/test/wasm2js/switch.2asm.js b/test/wasm2js/switch.2asm.js
index fd7245dc2..7e5109888 100644
--- a/test/wasm2js/switch.2asm.js
+++ b/test/wasm2js/switch.2asm.js
@@ -161,7 +161,7 @@ function asmFunc(global, env, buffer) {
$7_1 = $5_1;
$8 = $5_1;
$9 = $5_1;
- switch (3 & i) {
+ switch (3 & i | 0 | 0) {
case 0:
break $0_1;
case 1:
@@ -186,6 +186,8 @@ function asmFunc(global, env, buffer) {
}
function legalstub$1($0_2, $1_2) {
+ $0_2 = $0_2 | 0;
+ $1_2 = $1_2 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_2 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_2;
@@ -194,16 +196,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_2;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -211,29 +213,29 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $1(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $1(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_2 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_2;
+ return $2_2 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/tee_local.2asm.js b/test/wasm2js/tee_local.2asm.js
index 50ed49d10..fa6c70012 100644
--- a/test/wasm2js/tee_local.2asm.js
+++ b/test/wasm2js/tee_local.2asm.js
@@ -40,7 +40,7 @@ function asmFunc(global, env, buffer) {
}
function $3() {
- return 0.0;
+ return +(0.0);
}
function $4($0_1) {
@@ -64,7 +64,7 @@ function asmFunc(global, env, buffer) {
function $7($0_1) {
$0_1 = +$0_1;
- return 12.2;
+ return +(12.2);
}
function $8($0_1, $0$hi, $1_1, $2_1, $3_1, $4_1) {
@@ -144,31 +144,33 @@ function asmFunc(global, env, buffer) {
function legalstub$1() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $1();
+ i64toi32_i32$0 = $1() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
function legalstub$5($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
i64toi32_i32$0 = 0;
$4_1 = $0_1;
@@ -177,16 +179,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$7$hi = i64toi32_i32$1;
@@ -194,32 +196,38 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $4_1;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $5(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $5(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$2_1 = i64toi32_i32$2;
$2$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $13 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $13 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($13 | 0);
i64toi32_i32$2 = $2$hi;
- return $2_1;
+ return $2_1 | 0;
}
function legalstub$8($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = Math_fround($2_1);
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0;
i64toi32_i32$0 = 0;
$7_1 = $0_1;
@@ -228,16 +236,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$14 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $14 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -245,11 +253,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7_1;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $14;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $8(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2, $2_1, $3_1, $4_1, $5_1);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $8(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0);
}
function legalstub$9($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = Math_fround($2_1);
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $16 = 0, $17 = 0, $8_1 = 0, $8$hi = 0, $11$hi = 0, $6_1 = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$8_1 = $0_1;
@@ -258,16 +272,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$16 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $16 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $16 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$11$hi = i64toi32_i32$1;
@@ -275,32 +289,38 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $8_1;
i64toi32_i32$2 = $11$hi;
i64toi32_i32$3 = $16;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$2 = $9(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2, $2_1, $3_1, $4_1, $5_1);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $9(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
$6_1 = i64toi32_i32$2;
$6$hi = i64toi32_i32$0;
i64toi32_i32$1 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $17 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $17 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $17 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$1 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $17 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($17 | 0);
i64toi32_i32$2 = $6$hi;
- return $6_1;
+ return $6_1 | 0;
}
function legalstub$10($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = Math_fround($2_1);
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0;
i64toi32_i32$0 = 0;
$7_1 = $0_1;
@@ -309,16 +329,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$14 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $14 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$10$hi = i64toi32_i32$1;
@@ -326,8 +346,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $7_1;
i64toi32_i32$2 = $10$hi;
i64toi32_i32$3 = $14;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $10(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2, $2_1, $3_1, $4_1, $5_1);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return +(+$10(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0));
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/traps.2asm.js b/test/wasm2js/traps.2asm.js
index ab0b68564..962278e8a 100644
--- a/test/wasm2js/traps.2asm.js
+++ b/test/wasm2js/traps.2asm.js
@@ -38,13 +38,13 @@ function asmFunc(global, env, buffer) {
function $0(x, y) {
x = x | 0;
y = y | 0;
- return (x | 0) / (y | 0) | 0;
+ return (x | 0) / (y | 0) | 0 | 0;
}
function $1(x, y) {
x = x | 0;
y = y | 0;
- return (x >>> 0) / (y >>> 0) | 0;
+ return (x >>> 0) / (y >>> 0) | 0 | 0;
}
function $2(x, x$hi, y, y$hi) {
@@ -57,7 +57,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_sdiv(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_sdiv(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -73,13 +73,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_udiv(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21 = 0, $22 = 0, $23 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $10 = 0, $10$hi = 0, $12 = 0, $12$hi = 0, $15$hi = 0, $16 = 0, $16$hi = 0, $4 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6 = $0_1;
@@ -88,16 +92,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -105,8 +109,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12 = $2_1;
@@ -115,16 +119,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -132,36 +136,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $2($10, i64toi32_i32$1, $16, i64toi32_i32$2);
+ i64toi32_i32$2 = $2($10 | 0, i64toi32_i32$1 | 0, $16 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23 = (((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;
}
}
setTempRet0($23 | 0);
i64toi32_i32$2 = $4$hi;
- return $4;
+ return $4 | 0;
}
function legalstub$3($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21 = 0, $22 = 0, $23 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $10 = 0, $10$hi = 0, $12 = 0, $12$hi = 0, $15$hi = 0, $16 = 0, $16$hi = 0, $4 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6 = $0_1;
@@ -170,16 +178,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -187,8 +195,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12 = $2_1;
@@ -197,16 +205,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -214,73 +222,79 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $3($10, i64toi32_i32$1, $16, i64toi32_i32$2);
+ i64toi32_i32$2 = $3($10 | 0, i64toi32_i32$1 | 0, $16 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23 = (((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;
}
}
setTempRet0($23 | 0);
i64toi32_i32$2 = $4$hi;
- return $4;
+ return $4 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, $21 = 0, $22 = 0, $23 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $23$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $21 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $21 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $21 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$2 = $21;
@@ -290,11 +304,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -307,16 +321,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $22 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $22 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $22 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $22 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$2 = $22;
@@ -326,11 +340,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -340,7 +354,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_udiv($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_udiv($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17 = i64toi32_i32$1;
$17$hi = i64toi32_i32$4;
@@ -350,20 +364,20 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$5 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> 31;
- $23 = i64toi32_i32$1 >> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> 31 | 0;
+ $23 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5;
- $23 = ((1 << i64toi32_i32$5) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$5 | i64toi32_i32$4 >>> i64toi32_i32$5;
+ i64toi32_i32$2 = i64toi32_i32$1 >> i64toi32_i32$5 | 0;
+ $23 = (((1 << i64toi32_i32$5 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$5 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$5 | 0) | 0;
}
}
var$0 = $23;
@@ -372,11 +386,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $17;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$4 | 0;
$23$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$0$hi;
i64toi32_i32$4 = $23$hi;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0;
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -384,10 +398,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4 - i64toi32_i32$0 | 0;
i64toi32_i32$2 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -403,16 +421,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -427,16 +445,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -454,7 +472,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -463,26 +481,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -494,23 +512,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -518,22 +536,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -549,23 +567,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -575,7 +593,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -585,22 +603,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -611,17 +629,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -632,17 +650,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -666,16 +684,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -684,16 +702,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -701,8 +719,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -719,16 +737,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -738,8 +756,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -755,16 +773,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -773,44 +791,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -819,13 +837,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -833,38 +851,47 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_sdiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Div3div17he78fc483e41d7ec7E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -929,13 +956,13 @@ function asmFunc(global, env, buffer) {
function $0(x, y) {
x = x | 0;
y = y | 0;
- return (x | 0) % (y | 0) | 0;
+ return (x | 0) % (y | 0) | 0 | 0;
}
function $1(x, y) {
x = x | 0;
y = y | 0;
- return (x >>> 0) % (y >>> 0) | 0;
+ return (x >>> 0) % (y >>> 0) | 0 | 0;
}
function $2(x, x$hi, y, y$hi) {
@@ -948,7 +975,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_srem(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_srem(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
@@ -964,13 +991,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = y$hi;
i64toi32_i32$0 = x$hi;
i64toi32_i32$1 = y$hi;
- i64toi32_i32$1 = __wasm_i64_urem(x, i64toi32_i32$0, y, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem(x | 0, i64toi32_i32$0 | 0, y | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
return i64toi32_i32$1 | 0;
}
function legalstub$2($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21 = 0, $22 = 0, $23 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $10 = 0, $10$hi = 0, $12 = 0, $12$hi = 0, $15$hi = 0, $16 = 0, $16$hi = 0, $4 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6 = $0_1;
@@ -979,16 +1010,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -996,8 +1027,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12 = $2_1;
@@ -1006,16 +1037,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1023,36 +1054,40 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $2($10, i64toi32_i32$1, $16, i64toi32_i32$2);
+ i64toi32_i32$2 = $2($10 | 0, i64toi32_i32$1 | 0, $16 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23 = (((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;
}
}
setTempRet0($23 | 0);
i64toi32_i32$2 = $4$hi;
- return $4;
+ return $4 | 0;
}
function legalstub$3($0_1, $1_1, $2_1, $3_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21 = 0, $22 = 0, $23 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $10 = 0, $10$hi = 0, $12 = 0, $12$hi = 0, $15$hi = 0, $16 = 0, $16$hi = 0, $4 = 0, $4$hi = 0;
i64toi32_i32$0 = 0;
$6 = $0_1;
@@ -1061,16 +1096,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$21 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $21 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $21 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$9$hi = i64toi32_i32$1;
@@ -1078,8 +1113,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $6;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = $21;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $10 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $10 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$10$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$12 = $2_1;
@@ -1088,16 +1123,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$22 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $22 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $22 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$15$hi = i64toi32_i32$0;
@@ -1105,33 +1140,33 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $12;
i64toi32_i32$1 = $15$hi;
i64toi32_i32$3 = $22;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $16 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $16 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$16$hi = i64toi32_i32$1;
i64toi32_i32$1 = $10$hi;
i64toi32_i32$2 = $16$hi;
- i64toi32_i32$2 = $3($10, i64toi32_i32$1, $16, i64toi32_i32$2);
+ i64toi32_i32$2 = $3($10 | 0, i64toi32_i32$1 | 0, $16 | 0, i64toi32_i32$2 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$4 = i64toi32_i32$2;
$4$hi = i64toi32_i32$1;
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $23 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $23 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $23 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $23 = (((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;
}
}
setTempRet0($23 | 0);
i64toi32_i32$2 = $4$hi;
- return $4;
+ return $4 | 0;
}
function legalfunc$wasm2js_scratch_load_i64() {
@@ -1143,16 +1178,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = getTempRet0() | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$8 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $8 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$4$hi = i64toi32_i32$1;
@@ -1160,50 +1195,56 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $1_1;
i64toi32_i32$2 = $4$hi;
i64toi32_i32$3 = $8;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function legalfunc$wasm2js_scratch_store_i64($0_1, $0$hi) {
+ $0_1 = $0_1 | 0;
+ $0$hi = $0$hi | 0;
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $2_1 = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
$2_1 = $0_1;
i64toi32_i32$2 = $0_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $8 = i64toi32_i32$0 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $8 = (((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;
}
}
legalimport$wasm2js_scratch_store_i64($2_1 | 0, $8 | 0);
}
function _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, var$2$hi = 0, i64toi32_i32$6 = 0, var$2 = 0, $20 = 0, $21 = 0, $7$hi = 0, $9 = 0, $9$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $19$hi = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> 31;
- $20 = i64toi32_i32$0 >> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
+ $20 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4;
- $20 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$0 >> i64toi32_i32$4 | 0;
+ $20 = (((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 = $20;
@@ -1213,11 +1254,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$2;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$7$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $7$hi;
- i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$0 = var$2$hi;
i64toi32_i32$3 = var$2;
i64toi32_i32$4 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -1230,16 +1271,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 63;
- i64toi32_i32$0 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> 31;
- $21 = i64toi32_i32$5 >> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> 31 | 0;
+ $21 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0;
- $21 = ((1 << i64toi32_i32$0) - 1 & i64toi32_i32$5) << 32 - i64toi32_i32$0 | i64toi32_i32$2 >>> i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$5 >> i64toi32_i32$0 | 0;
+ $21 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$0 | 0) | 0;
}
}
var$0 = $21;
@@ -1249,11 +1290,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$3 = var$1;
- i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2;
+ i64toi32_i32$2 = i64toi32_i32$1 ^ i64toi32_i32$2 | 0;
$14$hi = i64toi32_i32$2;
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$2 = $14$hi;
- i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$5 ^ i64toi32_i32$3 | 0;
i64toi32_i32$5 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$3 | 0;
@@ -1263,7 +1304,7 @@ function asmFunc(global, env, buffer) {
$16$hi = i64toi32_i32$4;
i64toi32_i32$4 = $9$hi;
i64toi32_i32$1 = $16$hi;
- i64toi32_i32$1 = __wasm_i64_urem($9, i64toi32_i32$4, i64toi32_i32$0, i64toi32_i32$1);
+ i64toi32_i32$1 = __wasm_i64_urem($9 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$4 = i64toi32_i32$HIGH_BITS;
$17$hi = i64toi32_i32$4;
i64toi32_i32$4 = var$2$hi;
@@ -1271,11 +1312,11 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$3 = var$2;
- i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$4 ^ i64toi32_i32$1 | 0;
$19$hi = i64toi32_i32$1;
i64toi32_i32$1 = var$2$hi;
i64toi32_i32$1 = $19$hi;
- i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3;
+ i64toi32_i32$4 = i64toi32_i32$2 ^ i64toi32_i32$3 | 0;
i64toi32_i32$2 = var$2$hi;
i64toi32_i32$5 = i64toi32_i32$4 - i64toi32_i32$3 | 0;
i64toi32_i32$6 = i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0;
@@ -1283,10 +1324,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$1 - i64toi32_i32$0 | 0;
i64toi32_i32$4 = i64toi32_i32$5;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0;
label$1 : {
label$2 : {
@@ -1302,16 +1347,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4;
- $37 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$0) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
@@ -1326,16 +1371,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = var$1;
i64toi32_i32$2 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $38 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4;
+ 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;
@@ -1353,7 +1398,7 @@ function asmFunc(global, env, buffer) {
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) {
+ 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;
@@ -1362,26 +1407,26 @@ function asmFunc(global, env, buffer) {
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, i64toi32_i32$1);
+ 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;
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $39 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ 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;
@@ -1393,23 +1438,23 @@ function asmFunc(global, env, buffer) {
break label$6
}
var$4 = var$3 + -1 | 0;
- if (var$4 & var$3) {
+ if (var$4 & var$3 | 0) {
break label$6
}
i64toi32_i32$1 = 0;
- i64toi32_i32$2 = var$4 & var$2;
+ i64toi32_i32$2 = var$4 & var$2 | 0;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ 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;
+ i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$40 = 0;
}
} else {
{
- i64toi32_i32$3 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $40 = i64toi32_i32$2 << i64toi32_i32$4;
+ 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;
@@ -1417,22 +1462,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = -1;
- i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2;
- $65 = i64toi32_i32$1 & i64toi32_i32$0;
+ 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;
- legalfunc$wasm2js_scratch_store_i64(i64toi32_i32$3 | i64toi32_i32$0, i64toi32_i32$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) & 31);
+ 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;
+ return i64toi32_i32$3 | 0;
}
var$4 = var$3 + -1 | 0;
- if (!(var$4 & var$3)) {
+ if (!(var$4 & var$3 | 0)) {
break label$5
}
var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0;
@@ -1448,23 +1493,23 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 32;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$41 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $41 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- legalfunc$wasm2js_scratch_store_i64($41, i64toi32_i32$1);
+ legalfunc$wasm2js_scratch_store_i64($41 | 0, i64toi32_i32$1 | 0);
i64toi32_i32$1 = 0;
i64toi32_i32$2 = var$4;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$2;
+ return i64toi32_i32$2 | 0;
}
var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0;
if (var$2 >>> 0 < 31 >>> 0) {
@@ -1474,7 +1519,7 @@ function asmFunc(global, env, buffer) {
}
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$2 = 0;
- legalfunc$wasm2js_scratch_store_i64(var$4 & var$0, i64toi32_i32$2);
+ legalfunc$wasm2js_scratch_store_i64(var$4 & var$0 | 0 | 0, i64toi32_i32$2 | 0);
if ((var$3 | 0) == (1 | 0)) {
break label$1
}
@@ -1484,22 +1529,22 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$1 = $120$hi;
- i64toi32_i32$0 = __wasm_ctz_i32(var$3);
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $42 = i64toi32_i32$2 >>> i64toi32_i32$4;
+ $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4;
- $42 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$2) << 32 - i64toi32_i32$4 | i64toi32_i32$3 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0;
+ $42 = (((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$3 = $42;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
var$3 = 63 - var$2 | 0;
var$2 = var$2 + 1 | 0;
@@ -1510,17 +1555,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$2 = var$0;
i64toi32_i32$1 = $129$hi;
- i64toi32_i32$0 = var$2 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$2 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$1 = 0;
- $43 = i64toi32_i32$3 >>> i64toi32_i32$4;
+ $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4;
- $43 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$3) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0;
+ $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
var$5 = $43;
@@ -1531,17 +1576,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = var$0$hi;
i64toi32_i32$3 = var$0;
i64toi32_i32$2 = $134$hi;
- i64toi32_i32$0 = var$3 & 63;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$0 = var$3 & 63 | 0;
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
$44 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$3 >>> 32 - i64toi32_i32$4 | i64toi32_i32$1 << i64toi32_i32$4;
- $44 = i64toi32_i32$3 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0;
}
}
var$0 = $44;
@@ -1565,16 +1610,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = var$5;
i64toi32_i32$1 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
$45 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$3) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$3 | i64toi32_i32$5 << i64toi32_i32$3;
- $45 = i64toi32_i32$2 << i64toi32_i32$3;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0;
+ $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0;
}
}
$140 = $45;
@@ -1583,16 +1628,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$3 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
i64toi32_i32$2 = 0;
- $46 = i64toi32_i32$1 >>> i64toi32_i32$3;
+ $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3;
- $46 = ((1 << i64toi32_i32$3) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$3 | i64toi32_i32$5 >>> i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0;
+ $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0;
}
}
$142$hi = i64toi32_i32$2;
@@ -1600,8 +1645,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $140;
i64toi32_i32$5 = $142$hi;
i64toi32_i32$0 = $46;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$5 = i64toi32_i32$1 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0;
var$5$hi = i64toi32_i32$5;
$144 = var$5;
$144$hi = i64toi32_i32$5;
@@ -1618,16 +1663,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = i64toi32_i32$3;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 63;
- i64toi32_i32$1 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> 31;
- $47 = i64toi32_i32$4 >> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0;
+ $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
}
} else {
{
- i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1;
- $47 = ((1 << i64toi32_i32$1) - 1 & i64toi32_i32$4) << 32 - i64toi32_i32$1 | i64toi32_i32$5 >>> i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0;
+ $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0;
}
}
var$6 = $47;
@@ -1637,8 +1682,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = var$6;
i64toi32_i32$5 = var$1$hi;
i64toi32_i32$0 = var$1;
- i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5;
- $151 = i64toi32_i32$4 & i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0;
+ $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0;
$151$hi = i64toi32_i32$5;
i64toi32_i32$5 = $144$hi;
i64toi32_i32$2 = $144;
@@ -1654,16 +1699,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$48 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $48 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$154$hi = i64toi32_i32$2;
@@ -1672,44 +1717,44 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $48;
i64toi32_i32$5 = var$7$hi;
i64toi32_i32$0 = var$7;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- var$0 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
var$0$hi = i64toi32_i32$5;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$2 = var$6;
i64toi32_i32$3 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3;
- var$6 = i64toi32_i32$2 & i64toi32_i32$0;
+ i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0;
+ var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
var$6$hi = i64toi32_i32$3;
var$7 = var$6;
var$7$hi = i64toi32_i32$3;
var$2 = var$2 + -1 | 0;
if (var$2) {
- continue
+ continue label$15
}
- break;
+ break label$15;
};
break label$13;
}
}
}
i64toi32_i32$3 = var$5$hi;
- legalfunc$wasm2js_scratch_store_i64(var$5, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$5 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$2 = 0;
i64toi32_i32$0 = 1;
- i64toi32_i32$4 = i64toi32_i32$0 & 31;
- if (32 >>> 0 <= (i64toi32_i32$0 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) {
{
- i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
$49 = 0;
}
} else {
{
- i64toi32_i32$2 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$5 >>> 32 - i64toi32_i32$4 | i64toi32_i32$3 << i64toi32_i32$4;
- $49 = i64toi32_i32$5 << i64toi32_i32$4;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0;
+ $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0;
}
}
$165$hi = i64toi32_i32$2;
@@ -1718,13 +1763,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = $49;
i64toi32_i32$5 = var$6$hi;
i64toi32_i32$0 = var$6;
- i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5;
- i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0;
+ i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0;
+ i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$5;
- return i64toi32_i32$3;
+ return i64toi32_i32$3 | 0;
}
i64toi32_i32$3 = var$0$hi;
- legalfunc$wasm2js_scratch_store_i64(var$0, i64toi32_i32$3);
+ legalfunc$wasm2js_scratch_store_i64(var$0 | 0, i64toi32_i32$3 | 0);
i64toi32_i32$3 = 0;
var$0 = 0;
var$0$hi = i64toi32_i32$3;
@@ -1732,40 +1777,49 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$3 = var$0$hi;
i64toi32_i32$5 = var$0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$3;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
function __wasm_i64_srem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4sdiv3Mod4mod_17h2cbb7bbf36e41d68E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$1;
+ return i64toi32_i32$1 | 0;
}
function __wasm_i64_urem(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$1 = var$1$hi;
- i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, i64toi32_i32$0, var$1, i64toi32_i32$1);
+ i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0;
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
- i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64();
+ i64toi32_i32$0 = legalfunc$wasm2js_scratch_load_i64() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
var FUNCTION_TABLE = [];
@@ -1816,7 +1870,7 @@ function asmFunc(global, env, buffer) {
function $1(x) {
x = Math_fround(x);
- return ~~x >>> 0;
+ return ~~x >>> 0 | 0;
}
function $2(x) {
@@ -1826,7 +1880,7 @@ function asmFunc(global, env, buffer) {
function $3(x) {
x = +x;
- return ~~x >>> 0;
+ return ~~x >>> 0 | 0;
}
function $4(x) {
@@ -1918,107 +1972,111 @@ function asmFunc(global, env, buffer) {
}
function legalstub$4($0_1) {
+ $0_1 = Math_fround($0_1);
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $4($0_1);
+ i64toi32_i32$0 = $4(Math_fround($0_1)) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($8 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$5($0_1) {
+ $0_1 = Math_fround($0_1);
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $5($0_1);
+ i64toi32_i32$0 = $5(Math_fround($0_1)) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($8 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$6($0_1) {
+ $0_1 = +$0_1;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $6($0_1);
+ i64toi32_i32$0 = $6(+$0_1) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($8 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
function legalstub$7($0_1) {
+ $0_1 = +$0_1;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $7($0_1);
+ i64toi32_i32$0 = $7(+$0_1) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($8 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
var FUNCTION_TABLE = [];
@@ -2072,53 +2130,54 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0(i) {
i = i | 0;
- return HEAP32[i >> 2] | 0;
+ return HEAP32[i >> 2] | 0 | 0;
}
function $1(i) {
i = i | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$2 = i;
- i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2];
- i64toi32_i32$1 = HEAP32[i64toi32_i32$2 + 4 >> 2];
+ i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
+ i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
function $2(i) {
i = i | 0;
- return Math_fround(HEAPF32[i >> 2]);
+ return Math_fround(Math_fround(HEAPF32[i >> 2]));
}
function $3(i) {
i = i | 0;
- return +HEAPF64[i >> 3];
+ return +(+HEAPF64[i >> 3]);
}
function legalstub$1($0_1) {
+ $0_1 = $0_1 | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $1_1 = 0, $1$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $1($0_1);
+ i64toi32_i32$0 = $1($0_1 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$1_1 = i64toi32_i32$0;
$1$hi = i64toi32_i32$1;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
i64toi32_i32$0 = 0;
- $8 = i64toi32_i32$1 >>> i64toi32_i32$4;
+ $8 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $8 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $8 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
setTempRet0($8 | 0);
i64toi32_i32$0 = $1$hi;
- return $1_1;
+ return $1_1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/unaligned.2asm.js b/test/wasm2js/unaligned.2asm.js
index 6996fd1b9..1fd503ff9 100644
--- a/test/wasm2js/unaligned.2asm.js
+++ b/test/wasm2js/unaligned.2asm.js
@@ -56,82 +56,82 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $0() {
var wasm2js_i32$0 = 0;
- return (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24) | 0;
+ return (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 24) | 0;
}
function $1() {
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$0 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24);
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[wasm2js_i32$0 + 4 | 0] | HEAPU8[wasm2js_i32$0 + 5 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 6 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 7 | 0] << 24);
+ i64toi32_i32$0 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[wasm2js_i32$0 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 24);
+ i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$0 | 0;
}
function $2() {
var wasm2js_i32$0 = 0;
- return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24)), wasm2js_scratch_load_f32()));
+ return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 24)), wasm2js_scratch_load_f32()));
}
function $3() {
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0;
i64toi32_i32$2 = 0;
- i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[wasm2js_i32$0 + 4 | 0] | HEAPU8[wasm2js_i32$0 + 5 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 6 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 7 | 0] << 24);
- wasm2js_scratch_store_i32(0 | 0, (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24) | 0);
+ i64toi32_i32$1 = (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[(wasm2js_i32$0 + 4 | 0) >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 5 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 6 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 7 | 0) >> 0] | 0 | 0) << 24);
+ wasm2js_scratch_store_i32(0 | 0, (wasm2js_i32$0 = i64toi32_i32$2, HEAPU8[wasm2js_i32$0 >> 0] | 0 | 0 | (HEAPU8[(wasm2js_i32$0 + 1 | 0) >> 0] | 0 | 0) << 8 | (HEAPU8[(wasm2js_i32$0 + 2 | 0) >> 0] | 0 | 0) << 16 | (HEAPU8[(wasm2js_i32$0 + 3 | 0) >> 0] | 0 | 0) << 24) | 0);
wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0);
- return +wasm2js_scratch_load_f64();
+ return +(+wasm2js_scratch_load_f64());
}
function $4() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
- (wasm2js_i32$0 = 0, wasm2js_i32$1 = 0), ((HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 1 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 2 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 3 | 0] = wasm2js_i32$1 >>> 24;
+ (wasm2js_i32$0 = 0, wasm2js_i32$1 = 0), ((HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1 & 255 | 0, HEAP8[(wasm2js_i32$0 + 1 | 0) >> 0] = (wasm2js_i32$1 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 2 | 0) >> 0] = (wasm2js_i32$1 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 3 | 0) >> 0] = (wasm2js_i32$1 >>> 24 | 0) & 255 | 0;
}
function $5() {
var i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
i64toi32_i32$1 = 0;
- (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = 0), ((HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 1 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 2 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 3 | 0] = wasm2js_i32$1 >>> 24;
- (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = 0), ((HEAP8[wasm2js_i32$0 + 4 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 5 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 6 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 7 | 0] = wasm2js_i32$1 >>> 24;
+ (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = 0), ((HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1 & 255 | 0, HEAP8[(wasm2js_i32$0 + 1 | 0) >> 0] = (wasm2js_i32$1 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 2 | 0) >> 0] = (wasm2js_i32$1 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 3 | 0) >> 0] = (wasm2js_i32$1 >>> 24 | 0) & 255 | 0;
+ (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = 0), ((HEAP8[(wasm2js_i32$0 + 4 | 0) >> 0] = wasm2js_i32$1 & 255 | 0, HEAP8[(wasm2js_i32$0 + 5 | 0) >> 0] = (wasm2js_i32$1 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 6 | 0) >> 0] = (wasm2js_i32$1 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = (wasm2js_i32$1 >>> 24 | 0) & 255 | 0;
}
function $6() {
var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
- (wasm2js_i32$0 = 0, wasm2js_i32$1 = (wasm2js_scratch_store_f32(Math_fround(0.0)), wasm2js_scratch_load_i32(0))), ((HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 1 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 2 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 3 | 0] = wasm2js_i32$1 >>> 24;
+ (wasm2js_i32$0 = 0, wasm2js_i32$1 = (wasm2js_scratch_store_f32(Math_fround(0.0)), wasm2js_scratch_load_i32(0))), ((HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1 & 255 | 0, HEAP8[(wasm2js_i32$0 + 1 | 0) >> 0] = (wasm2js_i32$1 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 2 | 0) >> 0] = (wasm2js_i32$1 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 3 | 0) >> 0] = (wasm2js_i32$1 >>> 24 | 0) & 255 | 0;
}
function $7() {
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
- wasm2js_scratch_store_f64(0.0);
+ wasm2js_scratch_store_f64(+(0.0));
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
i64toi32_i32$1 = 0;
- (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0), ((HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 1 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 2 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 3 | 0] = wasm2js_i32$1 >>> 24;
- (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = i64toi32_i32$0), ((HEAP8[wasm2js_i32$0 + 4 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 5 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 6 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 7 | 0] = wasm2js_i32$1 >>> 24;
+ (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0), ((HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1 & 255 | 0, HEAP8[(wasm2js_i32$0 + 1 | 0) >> 0] = (wasm2js_i32$1 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 2 | 0) >> 0] = (wasm2js_i32$1 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 3 | 0) >> 0] = (wasm2js_i32$1 >>> 24 | 0) & 255 | 0;
+ (wasm2js_i32$0 = i64toi32_i32$1, wasm2js_i32$1 = i64toi32_i32$0), ((HEAP8[(wasm2js_i32$0 + 4 | 0) >> 0] = wasm2js_i32$1 & 255 | 0, HEAP8[(wasm2js_i32$0 + 5 | 0) >> 0] = (wasm2js_i32$1 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 6 | 0) >> 0] = (wasm2js_i32$1 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = (wasm2js_i32$1 >>> 24 | 0) & 255 | 0;
}
function legalstub$1() {
var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
- i64toi32_i32$0 = $1();
+ i64toi32_i32$0 = $1() | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$0_1 = 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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_1;
+ return $0_1 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/unaligned.2asm.js.opt b/test/wasm2js/unaligned.2asm.js.opt
new file mode 100644
index 000000000..448e35abd
--- /dev/null
+++ b/test/wasm2js/unaligned.2asm.js.opt
@@ -0,0 +1,120 @@
+import { setTempRet0 } from 'env';
+
+
+ var scratchBuffer = new ArrayBuffer(8);
+ var i32ScratchView = new Int32Array(scratchBuffer);
+ var f32ScratchView = new Float32Array(scratchBuffer);
+ var f64ScratchView = new Float64Array(scratchBuffer);
+
+ function wasm2js_scratch_load_i32(index) {
+ return i32ScratchView[index];
+ }
+
+ function wasm2js_scratch_store_i32(index, value) {
+ i32ScratchView[index] = value;
+ }
+
+ function wasm2js_scratch_load_f64() {
+ return f64ScratchView[0];
+ }
+
+ function wasm2js_scratch_store_f64(value) {
+ f64ScratchView[0] = value;
+ }
+
+ function wasm2js_scratch_load_f32() {
+ return f32ScratchView[0];
+ }
+
+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 $0() {
+ var wasm2js_i32$0 = 0;
+ return (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24) | 0;
+ }
+
+ function $2() {
+ var wasm2js_i32$0 = 0;
+ return Math_fround((wasm2js_scratch_store_i32(0, (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24)), wasm2js_scratch_load_f32()));
+ }
+
+ function $3() {
+ var $0_1 = 0, wasm2js_i32$0 = 0;
+ $0_1 = (wasm2js_i32$0 = $0_1, HEAPU8[wasm2js_i32$0 + 4 | 0] | HEAPU8[wasm2js_i32$0 + 5 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 6 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 7 | 0] << 24);
+ wasm2js_scratch_store_i32(0 | 0, (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24) | 0);
+ wasm2js_scratch_store_i32(1 | 0, $0_1 | 0);
+ return +wasm2js_scratch_load_f64();
+ }
+
+ function $4() {
+ var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
+ (wasm2js_i32$0 = 0, wasm2js_i32$1 = 0), ((HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 1 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 2 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 3 | 0] = wasm2js_i32$1 >>> 24;
+ }
+
+ function $5() {
+ var $0_1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
+ (wasm2js_i32$0 = 0, wasm2js_i32$1 = 0), ((HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 1 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 2 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 3 | 0] = wasm2js_i32$1 >>> 24;
+ (wasm2js_i32$0 = $0_1, wasm2js_i32$1 = 0), ((HEAP8[wasm2js_i32$0 + 4 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 5 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 6 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 7 | 0] = wasm2js_i32$1 >>> 24;
+ }
+
+ function $7() {
+ var $0_1 = 0, $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0;
+ wasm2js_scratch_store_f64(0.0);
+ $0_1 = wasm2js_scratch_load_i32(1 | 0) | 0;
+ (wasm2js_i32$0 = 0, wasm2js_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0), ((HEAP8[wasm2js_i32$0 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 1 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 2 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 3 | 0] = wasm2js_i32$1 >>> 24;
+ (wasm2js_i32$0 = $1, wasm2js_i32$1 = $0_1), ((HEAP8[wasm2js_i32$0 + 4 | 0] = wasm2js_i32$1, HEAP8[wasm2js_i32$0 + 5 | 0] = wasm2js_i32$1 >>> 8), HEAP8[wasm2js_i32$0 + 6 | 0] = wasm2js_i32$1 >>> 16), HEAP8[wasm2js_i32$0 + 7 | 0] = wasm2js_i32$1 >>> 24;
+ }
+
+ function legalstub$1() {
+ var $0_1 = 0, wasm2js_i32$0 = 0;
+ $0_1 = (wasm2js_i32$0 = 0, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24);
+ i64toi32_i32$HIGH_BITS = (wasm2js_i32$0 = 4, HEAPU8[wasm2js_i32$0 | 0] | HEAPU8[wasm2js_i32$0 + 1 | 0] << 8 | HEAPU8[wasm2js_i32$0 + 2 | 0] << 16 | HEAPU8[wasm2js_i32$0 + 3 | 0] << 24);
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "i32_load": $0,
+ "i64_load": legalstub$1,
+ "f32_load": $2,
+ "f64_load": $3,
+ "i32_store": $4,
+ "i64_store": $5,
+ "f32_store": $4,
+ "f64_store": $7
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
+export var i32_load = retasmFunc.i32_load;
+export var i64_load = retasmFunc.i64_load;
+export var f32_load = retasmFunc.f32_load;
+export var f64_load = retasmFunc.f64_load;
+export var i32_store = retasmFunc.i32_store;
+export var i64_store = retasmFunc.i64_store;
+export var f32_store = retasmFunc.f32_store;
+export var f64_store = retasmFunc.f64_store;
diff --git a/test/wasm2js/unary-ops.2asm.js b/test/wasm2js/unary-ops.2asm.js
index a8348ced1..8d2dcbefd 100644
--- a/test/wasm2js/unary-ops.2asm.js
+++ b/test/wasm2js/unary-ops.2asm.js
@@ -24,7 +24,7 @@ function asmFunc(global, env, buffer) {
var i64toi32_i32$HIGH_BITS = 0;
function $1($0) {
$0 = $0 | 0;
- return __wasm_popcnt_i32($0) | 0;
+ return __wasm_popcnt_i32($0 | 0) | 0 | 0;
}
function $2($0, $0$hi, r, r$hi) {
@@ -34,14 +34,14 @@ function asmFunc(global, env, buffer) {
r$hi = r$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3$hi = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
- i64toi32_i32$0 = __wasm_popcnt_i64($0, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_popcnt_i64($0 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$3$hi = i64toi32_i32$1;
i64toi32_i32$1 = r$hi;
i64toi32_i32$1 = $3$hi;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = r$hi;
- return (i64toi32_i32$2 | 0) == (r | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0);
+ return (i64toi32_i32$2 | 0) == (r | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0 | 0;
}
function $3($0, r, r$hi) {
@@ -53,7 +53,7 @@ function asmFunc(global, env, buffer) {
$3$hi = i64toi32_i32$0;
i64toi32_i32$0 = r$hi;
i64toi32_i32$0 = $3$hi;
- return ($0 | 0) == (r | 0) & (i64toi32_i32$0 | 0) == (r$hi | 0);
+ return ($0 | 0) == (r | 0) & (i64toi32_i32$0 | 0) == (r$hi | 0) | 0 | 0;
}
function $4($0, r, r$hi) {
@@ -62,12 +62,12 @@ function asmFunc(global, env, buffer) {
r$hi = r$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3$hi = 0;
i64toi32_i32$1 = $0;
- i64toi32_i32$0 = i64toi32_i32$1 >> 31;
+ i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0;
$3$hi = i64toi32_i32$0;
i64toi32_i32$0 = r$hi;
i64toi32_i32$0 = $3$hi;
i64toi32_i32$1 = r$hi;
- return ($0 | 0) == (r | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0);
+ return ($0 | 0) == (r | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 | 0;
}
function $5($0, $0$hi) {
@@ -75,7 +75,7 @@ function asmFunc(global, env, buffer) {
$0$hi = $0$hi | 0;
var i64toi32_i32$0 = 0;
i64toi32_i32$0 = $0$hi;
- return !($0 | i64toi32_i32$0) | 0;
+ return !($0 | i64toi32_i32$0 | 0) | 0;
}
function $6($0) {
@@ -85,7 +85,7 @@ function asmFunc(global, env, buffer) {
function $7($0) {
$0 = $0 | 0;
- return __wasm_ctz_i32($0) | 0;
+ return __wasm_ctz_i32($0 | 0) | 0 | 0;
}
function $8($0, $0$hi, r, r$hi) {
@@ -109,7 +109,7 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $9_1;
i64toi32_i32$0 = r$hi;
i64toi32_i32$3 = r;
- return (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0);
+ return (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0 | 0;
}
function $9($0, $0$hi, r, r$hi) {
@@ -119,17 +119,21 @@ function asmFunc(global, env, buffer) {
r$hi = r$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3$hi = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
- i64toi32_i32$0 = __wasm_ctz_i64($0, i64toi32_i32$0);
+ i64toi32_i32$0 = __wasm_ctz_i64($0 | 0, i64toi32_i32$0 | 0) | 0;
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
$3$hi = i64toi32_i32$1;
i64toi32_i32$1 = r$hi;
i64toi32_i32$1 = $3$hi;
i64toi32_i32$2 = i64toi32_i32$0;
i64toi32_i32$0 = r$hi;
- return (i64toi32_i32$2 | 0) == (r | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0);
+ return (i64toi32_i32$2 | 0) == (r | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0 | 0;
}
function legalstub$2($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -138,16 +142,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -155,8 +159,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -165,16 +169,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -182,15 +186,18 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $2($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $2($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$3($0, $1_1, $2_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $12 = 0, $3_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0;
$3_1 = $0;
i64toi32_i32$0 = 0;
@@ -200,16 +207,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $2_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -217,11 +224,14 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $3($3_1, i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return $3($3_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$4($0, $1_1, $2_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $12 = 0, $3_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0;
$3_1 = $0;
i64toi32_i32$0 = 0;
@@ -231,16 +241,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $2_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $12 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -248,11 +258,13 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $12;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $4($3_1, i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return $4($3_1 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$5($0, $1_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
i64toi32_i32$0 = 0;
$3_1 = $0;
@@ -261,16 +273,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$10 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $10 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$6$hi = i64toi32_i32$1;
@@ -278,11 +290,15 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $3_1;
i64toi32_i32$2 = $6$hi;
i64toi32_i32$3 = $10;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- return $5(i64toi32_i32$0 | i64toi32_i32$3, i64toi32_i32$2);
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ return $5(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$8($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -291,16 +307,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -308,8 +324,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -318,16 +334,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -335,15 +351,19 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $8($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $8($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$9($0, $1_1, $2_1, $3_1) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3_1 = $3_1 | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19 = 0, $20 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11 = 0, $11$hi = 0, $14$hi = 0, $15 = 0, $15$hi = 0;
i64toi32_i32$0 = 0;
$5_1 = $0;
@@ -352,16 +372,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $1_1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$19 = 0;
}
} else {
{
- i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4;
- $19 = i64toi32_i32$2 << i64toi32_i32$4;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $19 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
$8$hi = i64toi32_i32$1;
@@ -369,8 +389,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = $5_1;
i64toi32_i32$2 = $8$hi;
i64toi32_i32$3 = $19;
- i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2;
- $9_1 = i64toi32_i32$0 | i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
$9$hi = i64toi32_i32$2;
i64toi32_i32$2 = 0;
$11 = $2_1;
@@ -379,16 +399,16 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$1 = $3_1;
i64toi32_i32$0 = 0;
i64toi32_i32$3 = 32;
- i64toi32_i32$4 = i64toi32_i32$3 & 31;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
$20 = 0;
}
} else {
{
- i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4;
- $20 = i64toi32_i32$1 << i64toi32_i32$4;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $20 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
$14$hi = i64toi32_i32$0;
@@ -396,25 +416,28 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$2 = $11;
i64toi32_i32$1 = $14$hi;
i64toi32_i32$3 = $20;
- i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1;
- $15 = i64toi32_i32$2 | i64toi32_i32$3;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $15 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
$15$hi = i64toi32_i32$1;
i64toi32_i32$1 = $9$hi;
i64toi32_i32$2 = $15$hi;
- return $9($9_1, i64toi32_i32$1, $15, i64toi32_i32$2);
+ return $9($9_1 | 0, i64toi32_i32$1 | 0, $15 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function __wasm_ctz_i32(var$0) {
+ var$0 = var$0 | 0;
if (var$0) {
- return 31 - Math_clz32(var$0 + -1 ^ var$0) | 0
+ return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0
}
- return 32;
+ return 32 | 0;
}
function __wasm_ctz_i64(var$0, var$0$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $10 = 0, $5$hi = 0, $8$hi = 0;
i64toi32_i32$0 = var$0$hi;
- if (!!(var$0 | i64toi32_i32$0)) {
+ if (!!(var$0 | i64toi32_i32$0 | 0)) {
{
i64toi32_i32$0 = var$0$hi;
i64toi32_i32$2 = var$0;
@@ -431,8 +454,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$4;
i64toi32_i32$2 = var$0$hi;
i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2;
- i64toi32_i32$0 = i64toi32_i32$0 ^ i64toi32_i32$3;
+ i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
i64toi32_i32$3 = Math_clz32(i64toi32_i32$2);
i64toi32_i32$5 = 0;
if ((i64toi32_i32$3 | 0) == (32 | 0)) {
@@ -450,16 +473,17 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0;
i64toi32_i32$0 = i64toi32_i32$1;
i64toi32_i32$HIGH_BITS = i64toi32_i32$4;
- return i64toi32_i32$0;
+ return i64toi32_i32$0 | 0;
}
}
i64toi32_i32$0 = 0;
i64toi32_i32$4 = 64;
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4;
+ return i64toi32_i32$4 | 0;
}
function __wasm_popcnt_i32(var$0) {
+ var$0 = var$0 | 0;
var var$1 = 0, $5_1 = 0;
label$1 : {
label$2 : while (1) {
@@ -467,21 +491,23 @@ function asmFunc(global, env, buffer) {
if (!var$0) {
break label$1
}
- var$0 = var$0 & var$0 - 1;
+ var$0 = var$0 & (var$0 - 1 | 0) | 0;
var$1 = var$1 + 1 | 0;
- continue;
+ continue label$2;
};
}
- return $5_1;
+ return $5_1 | 0;
}
function __wasm_popcnt_i64(var$0, var$0$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, var$1$hi = 0, var$1 = 0, $5_1 = 0, $5$hi = 0, $4_1 = 0, $9$hi = 0;
label$1 : {
label$2 : while (1) {
i64toi32_i32$0 = var$1$hi;
i64toi32_i32$0 = var$0$hi;
- $4_1 = !(var$0 | i64toi32_i32$0);
+ $4_1 = !(var$0 | i64toi32_i32$0 | 0);
i64toi32_i32$0 = var$1$hi;
$5_1 = var$1;
$5$hi = i64toi32_i32$0;
@@ -501,8 +527,8 @@ function asmFunc(global, env, buffer) {
i64toi32_i32$0 = i64toi32_i32$2;
i64toi32_i32$2 = $9$hi;
i64toi32_i32$3 = i64toi32_i32$4;
- i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2;
- var$0 = i64toi32_i32$0 & i64toi32_i32$4;
+ i64toi32_i32$2 = i64toi32_i32$5 & i64toi32_i32$2 | 0;
+ var$0 = i64toi32_i32$0 & i64toi32_i32$4 | 0;
var$0$hi = i64toi32_i32$2;
i64toi32_i32$2 = var$1$hi;
i64toi32_i32$5 = var$1;
@@ -515,13 +541,13 @@ function asmFunc(global, env, buffer) {
}
var$1 = i64toi32_i32$1;
var$1$hi = i64toi32_i32$4;
- continue;
+ continue label$2;
};
}
i64toi32_i32$4 = $5$hi;
i64toi32_i32$5 = $5_1;
i64toi32_i32$HIGH_BITS = i64toi32_i32$4;
- return i64toi32_i32$5;
+ return i64toi32_i32$5 | 0;
}
var FUNCTION_TABLE = [];
diff --git a/test/wasm2js/unary-ops.2asm.js.opt b/test/wasm2js/unary-ops.2asm.js.opt
new file mode 100644
index 000000000..5a62e84c0
--- /dev/null
+++ b/test/wasm2js/unary-ops.2asm.js.opt
@@ -0,0 +1,203 @@
+
+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 i64toi32_i32$HIGH_BITS = 0;
+ function $1($0) {
+ $0 = $0 | 0;
+ return __wasm_popcnt_i32($0) | 0;
+ }
+
+ function $6($0) {
+ $0 = $0 | 0;
+ return Math_clz32($0) | 0;
+ }
+
+ function $7($0) {
+ $0 = $0 | 0;
+ var $1_1 = 0;
+ if ($0) {
+ $1_1 = 31 - Math_clz32($0 ^ $0 + -1) | 0
+ } else {
+ $1_1 = 32
+ }
+ return $1_1 | 0;
+ }
+
+ function $8($0, $1_1, $2, $3) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2 = $2 | 0;
+ $3 = $3 | 0;
+ var $4 = 0;
+ $4 = Math_clz32($0) + 32 | 0;
+ $0 = Math_clz32($1_1);
+ return !$3 & ($2 | 0) == ((($0 | 0) == (32 | 0) ? $4 : $0) | 0);
+ }
+
+ function legalstub$2($0, $1_1, $2, $3) {
+ return (__wasm_popcnt_i64($0, $1_1) | 0) == ($2 | 0) & ($3 | 0) == (i64toi32_i32$HIGH_BITS | 0);
+ }
+
+ function legalstub$3($0, $1_1, $2) {
+ return !$2 & ($0 | 0) == ($1_1 | 0);
+ }
+
+ function legalstub$4($0, $1_1, $2) {
+ return ($0 | 0) == ($1_1 | 0) & ($2 | 0) == $0 >> 31;
+ }
+
+ function legalstub$5($0, $1_1) {
+ return !($0 | $1_1);
+ }
+
+ function legalstub$8($0, $1_1, $2, $3) {
+ var $4 = 0, $5 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0;
+ $8_1 = $0;
+ $5 = 32;
+ $0 = $5 & 31;
+ if (32 >>> 0 <= $5 >>> 0) {
+ {
+ $4 = $1_1 << $0;
+ $6_1 = 0;
+ }
+ } else {
+ {
+ $4 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $4 << $0;
+ $6_1 = $1_1 << $0;
+ }
+ }
+ $9 = $8_1 | $6_1;
+ $10 = $4 | $12;
+ $11 = $2;
+ $2 = 0;
+ $1_1 = $3;
+ $3 = 32;
+ $0 = $3 & 31;
+ if (32 >>> 0 <= $3 >>> 0) {
+ {
+ $2 = $1_1 << $0;
+ $7_1 = 0;
+ }
+ } else {
+ {
+ $2 = (1 << $0) - 1 & $1_1 >>> 32 - $0 | $2 << $0;
+ $7_1 = $1_1 << $0;
+ }
+ }
+ return $8($9, $10, $11 | $7_1, $2 | $13);
+ }
+
+ function legalstub$9($0, $1_1, $2, $3) {
+ return (__wasm_ctz_i64($0, $1_1) | 0) == ($2 | 0) & ($3 | 0) == (i64toi32_i32$HIGH_BITS | 0);
+ }
+
+ function __wasm_ctz_i64($0, $1_1) {
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0, $7_1 = 0;
+ if ($0 | $1_1) {
+ {
+ $3 = 63;
+ $6_1 = $3;
+ $2 = $1_1 + -1 | 0;
+ $4 = -1;
+ $5 = $4 + $0 | 0;
+ if ($5 >>> 0 < $4 >>> 0) {
+ $2 = $2 + 1 | 0
+ }
+ $7_1 = Math_clz32($0 ^ $5) + 32 | 0;
+ $0 = Math_clz32($1_1 ^ $2);
+ $0 = ($0 | 0) == (32 | 0) ? $7_1 : $0;
+ $1_1 = $6_1 - $0 | 0;
+ i64toi32_i32$HIGH_BITS = 0 - ($3 >>> 0 < $0 >>> 0) | 0;
+ return $1_1;
+ }
+ }
+ i64toi32_i32$HIGH_BITS = 0;
+ return 64;
+ }
+
+ function __wasm_popcnt_i32($0) {
+ var $1_1 = 0, $2 = 0;
+ label$2 : while (1) {
+ $2 = $1_1;
+ if ($0) {
+ {
+ $0 = $0 - 1 & $0;
+ $1_1 = $1_1 + 1 | 0;
+ continue;
+ }
+ }
+ break;
+ };
+ return $2;
+ }
+
+ function __wasm_popcnt_i64($0, $1_1) {
+ var $2 = 0, $3 = 0, $4 = 0, $5 = 0;
+ label$2 : while (1) {
+ $3 = $4;
+ $2 = $5;
+ if ($0 | $1_1) {
+ {
+ $2 = $0;
+ $3 = 1;
+ $0 = $2 - $3 & $2;
+ $1_1 = $1_1 - ($2 >>> 0 < $3 >>> 0) & $1_1;
+ $2 = 1 + $4 | 0;
+ if ($2 >>> 0 < $3 >>> 0) {
+ $5 = $5 + 1 | 0
+ }
+ $4 = $2;
+ continue;
+ }
+ }
+ break;
+ };
+ i64toi32_i32$HIGH_BITS = $2;
+ return $3;
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "i32_popcnt": $1,
+ "check_popcnt_i64": legalstub$2,
+ "check_extend_ui32": legalstub$3,
+ "check_extend_si32": legalstub$4,
+ "check_eqz_i64": legalstub$5,
+ "i32_clz": $6,
+ "i32_ctz": $7,
+ "check_clz_i64": legalstub$8,
+ "check_ctz_i64": legalstub$9
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+export var i32_popcnt = retasmFunc.i32_popcnt;
+export var check_popcnt_i64 = retasmFunc.check_popcnt_i64;
+export var check_extend_ui32 = retasmFunc.check_extend_ui32;
+export var check_extend_si32 = retasmFunc.check_extend_si32;
+export var check_eqz_i64 = retasmFunc.check_eqz_i64;
+export var i32_clz = retasmFunc.i32_clz;
+export var i32_ctz = retasmFunc.i32_ctz;
+export var check_clz_i64 = retasmFunc.check_clz_i64;
+export var check_ctz_i64 = retasmFunc.check_ctz_i64;
diff --git a/test/wasm2js/unreachable-insts.2asm.js.opt b/test/wasm2js/unreachable-insts.2asm.js.opt
new file mode 100644
index 000000000..6cd485ab4
--- /dev/null
+++ b/test/wasm2js/unreachable-insts.2asm.js.opt
@@ -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 {
+
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var 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.2asm.js b/test/wasm2js/unreachable.2asm.js
index 074da4558..d29335a98 100644
--- a/test/wasm2js/unreachable.2asm.js
+++ b/test/wasm2js/unreachable.2asm.js
@@ -302,80 +302,80 @@ function asmFunc(global, env, buffer) {
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();
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
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();
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
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();
+ 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;
- if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) {
+ 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;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
}
} else {
{
- i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4;
- $7_1 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$2 >>> i64toi32_i32$4;
+ 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;
+ return $0 | 0;
}
var FUNCTION_TABLE = [];