| |
| function asmFunc(imports) { |
| var Math_imul = Math.imul; |
| var Math_fround = Math.fround; |
| var Math_abs = Math.abs; |
| var Math_clz32 = Math.clz32; |
| var Math_min = Math.min; |
| var Math_max = Math.max; |
| var Math_floor = Math.floor; |
| var Math_ceil = Math.ceil; |
| var Math_trunc = Math.trunc; |
| var Math_sqrt = Math.sqrt; |
| var i64toi32_i32$HIGH_BITS = 0; |
| function $0($0_1) { |
| $0_1 = $0_1 | 0; |
| var $1 = 0; |
| while (1) { |
| if ($0_1) { |
| $0_1 = $0_1 - 1 & $0_1; |
| $1 = $1 + 1 | 0; |
| continue; |
| } |
| break; |
| }; |
| return $1 | 0; |
| } |
| |
| function $5($0_1) { |
| $0_1 = $0_1 | 0; |
| return Math_clz32($0_1) | 0; |
| } |
| |
| function $6($0_1) { |
| $0_1 = $0_1 | 0; |
| if ($0_1) { |
| $0_1 = 31 - Math_clz32($0_1 - 1 ^ $0_1) | 0 |
| } else { |
| $0_1 = 32 |
| } |
| return $0_1 | 0; |
| } |
| |
| function legalstub$1($0_1, $1, $2, $3) { |
| var $4 = 0, $5_1 = 0, $6_1 = 0; |
| $4 = $0_1; |
| while (1) { |
| if ($1 | $4) { |
| $0_1 = $4; |
| $4 = $0_1 & $0_1 - 1; |
| $1 = $1 - !$0_1 & $1; |
| $5_1 = $5_1 + 1 | 0; |
| $6_1 = $5_1 ? $6_1 : $6_1 + 1 | 0; |
| continue; |
| } |
| break; |
| }; |
| i64toi32_i32$HIGH_BITS = $6_1; |
| return ($2 | 0) == ($5_1 | 0) & ($3 | 0) == (i64toi32_i32$HIGH_BITS | 0); |
| } |
| |
| function legalstub$2($0_1, $1, $2) { |
| return !$2 & ($0_1 | 0) == ($1 | 0); |
| } |
| |
| function legalstub$3($0_1, $1, $2) { |
| return ($0_1 | 0) == ($1 | 0) & ($2 | 0) == $0_1 >> 31; |
| } |
| |
| function legalstub$4($0_1, $1) { |
| return !($0_1 | $1); |
| } |
| |
| function legalstub$7($0_1, $1, $2, $3) { |
| var $4 = 0; |
| $4 = Math_clz32($0_1) + 32 | 0; |
| $0_1 = Math_clz32($1); |
| return !$3 & ($2 | 0) == ((($0_1 | 0) == 32 ? $4 : $0_1) | 0); |
| } |
| |
| function legalstub$8($0_1, $1, $2, $3) { |
| var $4 = 0, $5_1 = 0, $6_1 = 0, $7 = 0; |
| __inlined_func$__wasm_ctz_i64$3 : { |
| if ($1 | $0_1) { |
| $4 = $1 - 1 | 0; |
| $5_1 = $4 + 1 | 0; |
| $6_1 = $4; |
| $4 = $0_1 - 1 | 0; |
| $7 = Math_clz32($0_1 ^ $4) + 32 | 0; |
| $0_1 = Math_clz32($1 ^ (($4 | 0) != -1 ? $5_1 : $6_1)); |
| $0_1 = ($0_1 | 0) == 32 ? $7 : $0_1; |
| $1 = 63 - $0_1 | 0; |
| i64toi32_i32$HIGH_BITS = 0 - ($0_1 >>> 0 > 63) | 0; |
| break __inlined_func$__wasm_ctz_i64$3; |
| } |
| i64toi32_i32$HIGH_BITS = 0; |
| $1 = 64; |
| } |
| return ($1 | 0) == ($2 | 0) & ($3 | 0) == (i64toi32_i32$HIGH_BITS | 0); |
| } |
| |
| return { |
| "i32_popcnt": $0, |
| "check_popcnt_i64": legalstub$1, |
| "check_extend_ui32": legalstub$2, |
| "check_extend_si32": legalstub$3, |
| "check_eqz_i64": legalstub$4, |
| "i32_clz": $5, |
| "i32_ctz": $6, |
| "check_clz_i64": legalstub$7, |
| "check_ctz_i64": legalstub$8 |
| }; |
| } |
| |
| var retasmFunc = asmFunc({ |
| }); |
| 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; |