blob: 220b2753da5ec27b169f19571da5ea77faf4485f [file] [log] [blame] [edit]
import * as env from 'env';
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 env = imports.env;
var setTempRet0 = env.setTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function test8(x) {
x = x | 0;
return x << 24 >> 24 | 0;
}
function test16(x) {
x = x | 0;
return x << 16 >> 16 | 0;
}
function test8_i64(x, x$hi) {
x = x | 0;
x$hi = x$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$2 = x << 24 >> 24;
i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$2 | 0;
}
function test16_i64(x, x$hi) {
x = x | 0;
x$hi = x$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$2 = x << 16 >> 16;
i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$2 | 0;
}
function test32_i64(x, x$hi) {
x = x | 0;
x$hi = x$hi | 0;
var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0;
i64toi32_i32$2 = x;
i64toi32_i32$1 = i64toi32_i32$2 >> 31 | 0;
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
return i64toi32_i32$2 | 0;
}
function legalstub$test8_i64($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;
$4$hi = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
} else {
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
$12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
$7$hi = i64toi32_i32$1;
i64toi32_i32$1 = $4$hi;
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
i64toi32_i32$2 = test8_i64(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 | 0;
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
i64toi32_i32$2 = 0;
$13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
} else {
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 | 0;
}
function legalstub$test16_i64($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;
$4$hi = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
} else {
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
$12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
$7$hi = i64toi32_i32$1;
i64toi32_i32$1 = $4$hi;
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
i64toi32_i32$2 = test16_i64(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 | 0;
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
i64toi32_i32$2 = 0;
$13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
} else {
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 | 0;
}
function legalstub$test32_i64($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;
$4$hi = i64toi32_i32$0;
i64toi32_i32$0 = 0;
i64toi32_i32$2 = $1;
i64toi32_i32$1 = 0;
i64toi32_i32$3 = 32;
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
$12 = 0;
} else {
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
$12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
$7$hi = i64toi32_i32$1;
i64toi32_i32$1 = $4$hi;
i64toi32_i32$0 = $4;
i64toi32_i32$2 = $7$hi;
i64toi32_i32$3 = $12;
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
i64toi32_i32$2 = test32_i64(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 | 0;
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
i64toi32_i32$2 = 0;
$13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
} else {
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 | 0;
}
return {
"test8": test8,
"test16": test16,
"test8_i64": legalstub$test8_i64,
"test16_i64": legalstub$test16_i64,
"test32_i64": legalstub$test32_i64
};
}
var retasmFunc = asmFunc({
"env": env,
});
export var test8 = retasmFunc.test8;
export var test16 = retasmFunc.test16;
export var test8_i64 = retasmFunc.test8_i64;
export var test16_i64 = retasmFunc.test16_i64;
export var test32_i64 = retasmFunc.test32_i64;