diff options
author | Nathan Froyd <froydnj@gmail.com> | 2018-03-01 17:05:36 -0500 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2018-03-01 14:05:36 -0800 |
commit | 363c2c7abd68847b4b226764160e2d3431dc3b54 (patch) | |
tree | df8337f6fbb18aa816eb20b3deec958425862bfe /test/i32.2asm.js | |
parent | 142bd78059afd225c404ea1caedd0114699f7bc7 (diff) | |
download | binaryen-363c2c7abd68847b4b226764160e2d3431dc3b54.tar.gz binaryen-363c2c7abd68847b4b226764160e2d3431dc3b54.tar.bz2 binaryen-363c2c7abd68847b4b226764160e2d3431dc3b54.zip |
eliminate multiple return statements for wasm2asm functions (#1448)
This change eliminates one issue that prevents asm.js validation of the
generated code, see #1443.
Diffstat (limited to 'test/i32.2asm.js')
-rw-r--r-- | test/i32.2asm.js | 93 |
1 files changed, 31 insertions, 62 deletions
diff --git a/test/i32.2asm.js b/test/i32.2asm.js index 4c6500471..4628aeb11 100644 --- a/test/i32.2asm.js +++ b/test/i32.2asm.js @@ -15,229 +15,200 @@ function asmFunc(global, env, buffer) { function $0(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x + y | 0 | 0; - return wasm2asm_i32$0 | 0; } function $1(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x - y | 0 | 0; - return wasm2asm_i32$0 | 0; } function $2(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return Math_imul(x, y) | 0; - return wasm2asm_i32$0 | 0; } function $3(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x | 0) / (y | 0) | 0 | 0; - return wasm2asm_i32$0 | 0; } function $4(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x >>> 0) / (y >>> 0) | 0 | 0; - return wasm2asm_i32$0 | 0; } function $5(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x | 0) % (y | 0) | 0 | 0; - return wasm2asm_i32$0 | 0; } function $6(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x >>> 0) % (y >>> 0) | 0 | 0; - return wasm2asm_i32$0 | 0; } function $7(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x & y | 0 | 0; - return wasm2asm_i32$0 | 0; } function $8(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x | y | 0 | 0; - return wasm2asm_i32$0 | 0; } function $9(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x ^ y | 0 | 0; - return wasm2asm_i32$0 | 0; } function $10(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x << y | 0 | 0; - return wasm2asm_i32$0 | 0; } function $11(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x >> y | 0 | 0; - return wasm2asm_i32$0 | 0; } function $12(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x >>> y | 0 | 0; - return wasm2asm_i32$0 | 0; } function $13(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return __wasm_rotl_i32(x, y) | 0 | 0; - return wasm2asm_i32$0 | 0; } function $14(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return __wasm_rotr_i32(x, y) | 0 | 0; - return wasm2asm_i32$0 | 0; } function $15(x) { x = x | 0; - var $1 = 0, $2 = 0, wasm2asm_i32$0 = 0; + var $1 = 0, $2 = 0; return Math_clz32(x) | 0; - return wasm2asm_i32$0 | 0; } function $16(x) { x = x | 0; - var $1 = 0, $2 = 0, wasm2asm_i32$0 = 0; + var $1 = 0, $2 = 0; return __wasm_ctz_i32(x) | 0 | 0; - return wasm2asm_i32$0 | 0; } function $17(x) { x = x | 0; - var $1 = 0, $2 = 0, wasm2asm_i32$0 = 0; + var $1 = 0, $2 = 0; return __wasm_popcnt_i32(x) | 0 | 0; - return wasm2asm_i32$0 | 0; } function $18(x) { x = x | 0; - var $1 = 0, $2 = 0, wasm2asm_i32$0 = 0; + var $1 = 0, $2 = 0; return (x | 0) == (0 | 0) | 0; - return wasm2asm_i32$0 | 0; } function $19(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x | 0) == (y | 0) | 0; - return wasm2asm_i32$0 | 0; } function $20(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x | 0) != (y | 0) | 0; - return wasm2asm_i32$0 | 0; } function $21(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x | 0) < (y | 0) | 0; - return wasm2asm_i32$0 | 0; } function $22(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x >>> 0 < y >>> 0 | 0; - return wasm2asm_i32$0 | 0; } function $23(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x | 0) <= (y | 0) | 0; - return wasm2asm_i32$0 | 0; } function $24(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x >>> 0 <= y >>> 0 | 0; - return wasm2asm_i32$0 | 0; } function $25(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x | 0) > (y | 0) | 0; - return wasm2asm_i32$0 | 0; } function $26(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x >>> 0 > y >>> 0 | 0; - return wasm2asm_i32$0 | 0; } function $27(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return (x | 0) >= (y | 0) | 0; - return wasm2asm_i32$0 | 0; } function $28(x, y) { x = x | 0; y = y | 0; - var $2 = 0, $3 = 0, $4 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0; return x >>> 0 >= y >>> 0 | 0; - return wasm2asm_i32$0 | 0; } function __wasm_ctz_i32(x) { @@ -267,17 +238,15 @@ function asmFunc(global, env, buffer) { function __wasm_rotl_i32(x, k) { x = x | 0; k = k | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; return ((4294967295 >>> (k & 31 | 0) | 0) & x | 0) << (k & 31 | 0) | 0 | (((4294967295 << (32 - (k & 31 | 0) | 0) | 0) & x | 0) >>> (32 - (k & 31 | 0) | 0) | 0) | 0 | 0; - return wasm2asm_i32$0 | 0; } function __wasm_rotr_i32(x, k) { x = x | 0; k = k | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, wasm2asm_i32$0 = 0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; return ((4294967295 << (k & 31 | 0) | 0) & x | 0) >>> (k & 31 | 0) | 0 | (((4294967295 >>> (32 - (k & 31 | 0) | 0) | 0) & x | 0) << (32 - (k & 31 | 0) | 0) | 0) | 0 | 0; - return wasm2asm_i32$0 | 0; } return { |