summaryrefslogtreecommitdiff
path: root/test/wasm2js/i64-rotate.2asm.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2019-04-19 15:22:55 -0700
committerGitHub <noreply@github.com>2019-04-19 15:22:55 -0700
commitdb14d0477f2715e3071687f42b77d8712477d83e (patch)
tree7cb4f679bfc18cbb7d4a87db0b3d5a02f6bcaeed /test/wasm2js/i64-rotate.2asm.js
parenta4baf2152d11c28964025759d2702fe7c48d321e (diff)
downloadbinaryen-db14d0477f2715e3071687f42b77d8712477d83e.tar.gz
binaryen-db14d0477f2715e3071687f42b77d8712477d83e.tar.bz2
binaryen-db14d0477f2715e3071687f42b77d8712477d83e.zip
wasm2js2 import fixes (#2031)
* Don't assume function types exist in legalize-js-interface. * Properly handle (ignore) imports in RemoveNonJSOps - do not try to recurse into them. * Run legalize-js-interface and remove-unused-module-elements in wasm2js, the first is necessary, the last is nice to have.
Diffstat (limited to 'test/wasm2js/i64-rotate.2asm.js')
-rw-r--r--test/wasm2js/i64-rotate.2asm.js198
1 files changed, 192 insertions, 6 deletions
diff --git a/test/wasm2js/i64-rotate.2asm.js b/test/wasm2js/i64-rotate.2asm.js
index b7684673a..4506e8e35 100644
--- a/test/wasm2js/i64-rotate.2asm.js
+++ b/test/wasm2js/i64-rotate.2asm.js
@@ -22,10 +22,6 @@ function asmFunc(global, env, buffer) {
var nan = global.NaN;
var infinity = global.Infinity;
var i64toi32_i32$HIGH_BITS = 0;
- function dummy() {
-
- }
-
function $1($0, $0$hi, $1_1, $1$hi, $2_1, $2$hi) {
$0 = $0 | 0;
$0$hi = $0$hi | 0;
@@ -70,6 +66,196 @@ function asmFunc(global, env, buffer) {
return (i64toi32_i32$2 | 0) == ($2_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 | 0;
}
+ function legalstub$1($0, $1_1, $2_1, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 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, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
+ i64toi32_i32$0 = 0;
+ $7 = $0;
+ $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;
+ $26 = 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;
+ $26 = 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 = $26;
+ 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;
+ 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;
+ $27 = 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;
+ $27 = 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 = $27;
+ 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 = 0;
+ $19 = $4;
+ $19$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = $5;
+ 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 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
+ $28 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
+ }
+ }
+ $22$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $19$hi;
+ i64toi32_i32$1 = $19;
+ i64toi32_i32$0 = $22$hi;
+ i64toi32_i32$3 = $28;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
+ $23$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $11$hi;
+ i64toi32_i32$1 = $17$hi;
+ i64toi32_i32$2 = $23$hi;
+ return $1($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
+ }
+
+ function legalstub$2($0, $1_1, $2_1, $3, $4, $5) {
+ $0 = $0 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = $2_1 | 0;
+ $3 = $3 | 0;
+ $4 = $4 | 0;
+ $5 = $5 | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 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, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
+ i64toi32_i32$0 = 0;
+ $7 = $0;
+ $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;
+ $26 = 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;
+ $26 = 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 = $26;
+ 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;
+ 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;
+ $27 = 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;
+ $27 = 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 = $27;
+ 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 = 0;
+ $19 = $4;
+ $19$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = $5;
+ 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 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
+ $28 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
+ }
+ }
+ $22$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $19$hi;
+ i64toi32_i32$1 = $19;
+ i64toi32_i32$0 = $22$hi;
+ i64toi32_i32$3 = $28;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
+ $23$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $11$hi;
+ i64toi32_i32$1 = $17$hi;
+ i64toi32_i32$2 = $23$hi;
+ return $2($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
+ }
+
function __wasm_rotl_i64(var$0, var$0$hi, var$1, var$1$hi) {
var$0 = var$0 | 0;
var$0$hi = var$0$hi | 0;
@@ -316,8 +502,8 @@ function asmFunc(global, env, buffer) {
var FUNCTION_TABLE = [];
return {
- rotl: $1,
- rotr: $2
+ rotl: legalstub$1,
+ rotr: legalstub$2
};
}