diff options
Diffstat (limited to 'test/wasm2js/conversions-modified.2asm.js.opt')
-rw-r--r-- | test/wasm2js/conversions-modified.2asm.js.opt | 282 |
1 files changed, 282 insertions, 0 deletions
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; |