blob: 9cda827f430a665fbe28a8d2c3bd2d0d9d98ba08 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
import { setTempRet0 } from 'env';
function asmFunc(env) {
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_sqrt = Math.sqrt;
var abort = env.abort;
var nan = NaN;
var infinity = 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;
if ($0 | $1) {
$2 = $1 - 1 | 0;
$3 = $0 - 1 | 0;
$2 = ($3 | 0) != -1 ? $2 + 1 | 0 : $2;
$3 = Math_clz32($0 ^ $3) + 32 | 0;
$0 = Math_clz32($1 ^ $2);
$0 = ($0 | 0) == 32 ? $3 : $0;
$1 = 63 - $0 | 0;
i64toi32_i32$HIGH_BITS = 0 - ($0 >>> 0 > 63) | 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;
while (1) {
$5 = $4;
$2 = $3;
if ($0 | $1) {
$2 = $0;
$0 = $2 - 1 & $2;
$1 = $1 - ($2 >>> 0 < 1) & $1;
$2 = $4 + 1 | 0;
$3 = $2 >>> 0 < 1 ? $3 + 1 | 0 : $3;
$4 = $2;
continue;
}
break;
};
i64toi32_i32$HIGH_BITS = $2;
return $5;
}
return {
"a": legalstub$popcnt64,
"b": legalstub$ctz64
};
}
var retasmFunc = asmFunc( { abort: function() { throw new Error('abort'); },
setTempRet0
});
export var a = retasmFunc.a;
export var b = retasmFunc.b;
|