summaryrefslogtreecommitdiff
path: root/test/wasm2js/select.2asm.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js/select.2asm.js')
-rw-r--r--test/wasm2js/select.2asm.js102
1 files changed, 99 insertions, 3 deletions
diff --git a/test/wasm2js/select.2asm.js b/test/wasm2js/select.2asm.js
index 893d6db56..fdc12ba92 100644
--- a/test/wasm2js/select.2asm.js
+++ b/test/wasm2js/select.2asm.js
@@ -1,3 +1,4 @@
+import { setTempRet0 } from 'env';
function asmFunc(global, env, buffer) {
"almost asm";
@@ -21,6 +22,7 @@ function asmFunc(global, env, buffer) {
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
+ var setTempRet0 = env.setTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function $0(lhs, rhs, cond) {
lhs = lhs | 0;
@@ -75,11 +77,105 @@ function asmFunc(global, env, buffer) {
return abort() | 0;
}
+ 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;
+ $7$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$2 = $1_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;
+ $22 = 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;
+ $22 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $10$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $7$hi;
+ i64toi32_i32$0 = $7;
+ i64toi32_i32$2 = $10$hi;
+ i64toi32_i32$3 = $22;
+ 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;
+ $13$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$1 = $3_1;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 32;
+ 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 | 0;
+ $23 = 0;
+ }
+ } else {
+ {
+ 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;
+ i64toi32_i32$0 = $13$hi;
+ i64toi32_i32$2 = $13;
+ i64toi32_i32$1 = $16$hi;
+ i64toi32_i32$3 = $23;
+ 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 | 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 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$2 = 0;
+ $24 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ 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 | 0;
+ }
+
+ function legalstub$2($0_1, $1_1, $2_1) {
+ $0_1 = +$0_1;
+ $1_1 = +$1_1;
+ $2_1 = $2_1 | 0;
+ return +(+Math_fround($2(Math_fround(Math_fround($0_1)), Math_fround(Math_fround($1_1)), $2_1 | 0)));
+ }
+
var FUNCTION_TABLE = [];
return {
select_i32: $0,
- select_i64: $1,
- select_f32: $2,
+ select_i64: legalstub$1,
+ select_f32: legalstub$2,
select_f64: $3,
select_trap_l: $4,
select_trap_r: $5
@@ -87,7 +183,7 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
export const select_i32 = retasmFunc.select_i32;
export const select_i64 = retasmFunc.select_i64;
export const select_f32 = retasmFunc.select_f32;