diff options
author | Alon Zakai <azakai@google.com> | 2019-04-30 20:30:03 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-30 20:30:03 -0700 |
commit | 8d4bcd6e02bb0df3ac87e4850896ba733525b055 (patch) | |
tree | 1f98b878c22fd23c918992b53fd8e9f4f78d3788 /test/wasm2js/select.2asm.js | |
parent | fba743ca5bdfe4fb437a36503b8983c5f42e4575 (diff) | |
download | binaryen-8d4bcd6e02bb0df3ac87e4850896ba733525b055.tar.gz binaryen-8d4bcd6e02bb0df3ac87e4850896ba733525b055.tar.bz2 binaryen-8d4bcd6e02bb0df3ac87e4850896ba733525b055.zip |
wasm2js: run full optimizations during the pipeline (#2071)
We flatten for the i64 lowering etc. passes, and it is worth optimizing afterwards, to clean up stuff they created. That is run if the user ran wasm2js with an optimization level (like wasm2js -O3).
Split the test files to check both optimized and unoptimized code.
Diffstat (limited to 'test/wasm2js/select.2asm.js')
-rw-r--r-- | test/wasm2js/select.2asm.js | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/test/wasm2js/select.2asm.js b/test/wasm2js/select.2asm.js index efe720c21..a13fac28b 100644 --- a/test/wasm2js/select.2asm.js +++ b/test/wasm2js/select.2asm.js @@ -75,6 +75,11 @@ function asmFunc(global, env, buffer) { } 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; @@ -83,16 +88,16 @@ function asmFunc(global, env, buffer) { i64toi32_i32$2 = $1_1; i64toi32_i32$1 = 0; i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31; - if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) { + 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; + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; $22 = 0; } } else { { - i64toi32_i32$1 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$2 >>> 32 - i64toi32_i32$4 | i64toi32_i32$0 << i64toi32_i32$4; - $22 = i64toi32_i32$2 << i64toi32_i32$4; + 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; @@ -100,8 +105,8 @@ function asmFunc(global, env, buffer) { i64toi32_i32$0 = $7; i64toi32_i32$2 = $10$hi; i64toi32_i32$3 = $22; - i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2; - $11 = i64toi32_i32$0 | i64toi32_i32$3; + 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; @@ -110,16 +115,16 @@ function asmFunc(global, env, buffer) { i64toi32_i32$1 = $3_1; i64toi32_i32$0 = 0; i64toi32_i32$3 = 32; - i64toi32_i32$4 = i64toi32_i32$3 & 31; - if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) { + 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; + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; $23 = 0; } } else { { - i64toi32_i32$0 = (1 << i64toi32_i32$4) - 1 & i64toi32_i32$1 >>> 32 - i64toi32_i32$4 | i64toi32_i32$2 << i64toi32_i32$4; - $23 = i64toi32_i32$1 << i64toi32_i32$4; + 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; @@ -127,33 +132,33 @@ function asmFunc(global, env, buffer) { i64toi32_i32$2 = $13; i64toi32_i32$1 = $16$hi; i64toi32_i32$3 = $23; - i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1; - $17 = i64toi32_i32$2 | i64toi32_i32$3; + 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, i64toi32_i32$1, $17, i64toi32_i32$2, $4_1); + 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; - if (32 >>> 0 <= (i64toi32_i32$3 & 63) >>> 0) { + 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; + $24 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; } } else { { - i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4; - $24 = ((1 << i64toi32_i32$4) - 1 & i64toi32_i32$1) << 32 - i64toi32_i32$4 | i64toi32_i32$0 >>> i64toi32_i32$4; + 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; + return $5_1 | 0; } var FUNCTION_TABLE = []; |