summaryrefslogtreecommitdiff
path: root/test/wasm2asm/i64-rotate.2asm.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2asm/i64-rotate.2asm.js')
-rw-r--r--test/wasm2asm/i64-rotate.2asm.js292
1 files changed, 234 insertions, 58 deletions
diff --git a/test/wasm2asm/i64-rotate.2asm.js b/test/wasm2asm/i64-rotate.2asm.js
index 860ad7fbb..7c18f699c 100644
--- a/test/wasm2asm/i64-rotate.2asm.js
+++ b/test/wasm2asm/i64-rotate.2asm.js
@@ -29,20 +29,19 @@ function asmFunc(global, env, buffer) {
$1$hi = $1$hi | 0;
$2 = $2 | 0;
$2$hi = $2$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5$hi = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5$hi = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$3 = $1;
- i64toi32_i32$4 = __wasm_rotl_i64($0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 & 63 | 0 | 0) | 0;
- i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
- $5$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = __wasm_rotl_i64($0 | 0, i64toi32_i32$0 | 0, $1 | 0, i64toi32_i32$1 | 0) | 0;
+ i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
+ $5$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $2$hi;
+ i64toi32_i32$0 = $5$hi;
+ i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = $2$hi;
- i64toi32_i32$1 = $5$hi;
- i64toi32_i32$0 = i64toi32_i32$4;
- i64toi32_i32$3 = $2;
- return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == ($2$hi | 0) | 0 | 0;
+ return (i64toi32_i32$2 | 0) == ($2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 | 0;
}
function $2($0, $0$hi, $1, $1$hi, $2, $2$hi) {
@@ -52,68 +51,245 @@ function asmFunc(global, env, buffer) {
$1$hi = $1$hi | 0;
$2 = $2 | 0;
$2$hi = $2$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5$hi = 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5$hi = 0, i64toi32_i32$2 = 0;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$0 = $1$hi;
i64toi32_i32$0 = $0$hi;
i64toi32_i32$1 = $1$hi;
- i64toi32_i32$3 = $1;
- i64toi32_i32$4 = __wasm_rotr_i64($0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 & 63 | 0 | 0) | 0;
- i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
- $5$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = __wasm_rotr_i64($0 | 0, i64toi32_i32$0 | 0, $1 | 0, i64toi32_i32$1 | 0) | 0;
+ i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
+ $5$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $2$hi;
+ i64toi32_i32$0 = $5$hi;
+ i64toi32_i32$2 = i64toi32_i32$1;
i64toi32_i32$1 = $2$hi;
- i64toi32_i32$1 = $5$hi;
- i64toi32_i32$0 = i64toi32_i32$4;
- i64toi32_i32$3 = $2;
- return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == ($2$hi | 0) | 0 | 0;
+ return (i64toi32_i32$2 | 0) == ($2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 | 0;
}
- function __wasm_rotl_i64($0, $1, $2) {
- $0 = $0 | 0;
- $1 = $1 | 0;
- $2 = $2 | 0;
- var $3 = 0, $4 = 0, $5 = 0;
- if (($2 | 0) == (32 | 0)) {
- i64toi32_i32$HIGH_BITS = $0;
- $4 = $1;
+ 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;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
+ var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, var$2$hi = 0, var$2 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6$hi = 0, $8$hi = 0, $10 = 0, $10$hi = 0, $15$hi = 0, $17$hi = 0, $19$hi = 0;
+ i64toi32_i32$0 = var$1$hi;
+ i64toi32_i32$0 = i64toi32_i32$0;
+ i64toi32_i32$2 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = 63;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ i64toi32_i32$1 = i64toi32_i32$1;
+ var$2 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
+ var$2$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$1;
+ i64toi32_i32$1 = 4294967295;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = var$2$hi;
+ i64toi32_i32$3 = var$2;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ i64toi32_i32$2 = 0;
+ $19 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ } else {
+ i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $19 = (((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;
+ }
+ $6$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$0$hi;
+ i64toi32_i32$2 = $6$hi;
+ i64toi32_i32$1 = $19;
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$3 = var$0;
+ i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
+ $8$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = var$2$hi;
+ i64toi32_i32$0 = $8$hi;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
+ i64toi32_i32$1 = var$2$hi;
+ i64toi32_i32$3 = var$2;
+ 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;
+ $20 = 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;
+ $20 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ $10 = $20;
+ $10$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = var$1$hi;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0;
+ i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0;
+ i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0;
+ i64toi32_i32$5 = i64toi32_i32$5;
+ i64toi32_i32$1 = i64toi32_i32$4;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 63;
+ i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0;
+ var$1 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
+ var$1$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = i64toi32_i32$0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$5 = 4294967295;
+ i64toi32_i32$1 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ i64toi32_i32$1 = i64toi32_i32$5 << i64toi32_i32$2 | 0;
+ $21 = 0;
+ } else {
+ i64toi32_i32$1 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$2 | 0) | 0;
+ $21 = i64toi32_i32$5 << i64toi32_i32$2 | 0;
+ }
+ $15$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = var$0$hi;
+ i64toi32_i32$1 = $15$hi;
+ i64toi32_i32$0 = $21;
+ i64toi32_i32$5 = var$0$hi;
+ i64toi32_i32$3 = var$0;
+ i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0;
+ $17$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = var$1$hi;
+ i64toi32_i32$5 = $17$hi;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
+ i64toi32_i32$0 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ i64toi32_i32$0 = 0;
+ $22 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0;
} else {
- if ($2 >>> 0 >= 32 >>> 0) {
- $2 = $2 - 32 | 0;
- $3 = 32 - $2 | 0;
- i64toi32_i32$HIGH_BITS = $0 << $2 | 0 | ($1 >>> $3 | 0) | 0;
- $5 = $1 << $2 | 0 | ($0 >>> $3 | 0) | 0;
- } else {
- $3 = 32 - $2 | 0;
- i64toi32_i32$HIGH_BITS = $1 << $2 | 0 | ($0 >>> $3 | 0) | 0;
- $5 = $0 << $2 | 0 | ($1 >>> $3 | 0) | 0;
- }
- $4 = $5;
+ i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$2 | 0;
+ $22 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$2 | 0) | 0;
}
- return $4 | 0;
+ $19$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $10$hi;
+ i64toi32_i32$5 = $10;
+ i64toi32_i32$1 = $19$hi;
+ i64toi32_i32$3 = $22;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$1 = i64toi32_i32$1;
+ i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3 | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$5 | 0;
}
- function __wasm_rotr_i64($0, $1, $2) {
- $0 = $0 | 0;
- $1 = $1 | 0;
- $2 = $2 | 0;
- var $3 = 0, $4 = 0, $5 = 0;
- if (($2 | 0) == (32 | 0)) {
- i64toi32_i32$HIGH_BITS = $0;
- $4 = $1;
+ function __wasm_rotr_i64(var$0, var$0$hi, var$1, var$1$hi) {
+ var$0 = var$0 | 0;
+ var$0$hi = var$0$hi | 0;
+ var$1 = var$1 | 0;
+ var$1$hi = var$1$hi | 0;
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, var$2$hi = 0, var$2 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6$hi = 0, $8$hi = 0, $10 = 0, $10$hi = 0, $15$hi = 0, $17$hi = 0, $19$hi = 0;
+ i64toi32_i32$0 = var$1$hi;
+ i64toi32_i32$0 = i64toi32_i32$0;
+ i64toi32_i32$2 = var$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = 63;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0;
+ i64toi32_i32$1 = i64toi32_i32$1;
+ var$2 = i64toi32_i32$2 & i64toi32_i32$3 | 0;
+ var$2$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = i64toi32_i32$1;
+ i64toi32_i32$1 = 4294967295;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$2 = var$2$hi;
+ i64toi32_i32$3 = var$2;
+ 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;
+ $19 = 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;
+ $19 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
+ }
+ $6$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = var$0$hi;
+ i64toi32_i32$2 = $6$hi;
+ i64toi32_i32$1 = $19;
+ i64toi32_i32$0 = var$0$hi;
+ i64toi32_i32$3 = var$0;
+ i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0;
+ $8$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = var$2$hi;
+ i64toi32_i32$0 = $8$hi;
+ i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
+ i64toi32_i32$1 = var$2$hi;
+ i64toi32_i32$3 = var$2;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ i64toi32_i32$1 = 0;
+ $20 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ } else {
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $20 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ $10 = $20;
+ $10$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = var$1$hi;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$2 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$3 | 0;
+ i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0;
+ i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0;
+ i64toi32_i32$5 = i64toi32_i32$5;
+ i64toi32_i32$1 = i64toi32_i32$4;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 63;
+ i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0;
+ i64toi32_i32$0 = i64toi32_i32$0;
+ var$1 = i64toi32_i32$1 & i64toi32_i32$3 | 0;
+ var$1$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = i64toi32_i32$0;
+ i64toi32_i32$0 = 4294967295;
+ i64toi32_i32$5 = 4294967295;
+ i64toi32_i32$1 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ i64toi32_i32$1 = 0;
+ $21 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0;
+ } else {
+ i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$2 | 0;
+ $21 = (((1 << i64toi32_i32$2 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$2 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$2 | 0) | 0;
+ }
+ $15$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = var$0$hi;
+ i64toi32_i32$1 = $15$hi;
+ i64toi32_i32$0 = $21;
+ i64toi32_i32$5 = var$0$hi;
+ i64toi32_i32$3 = var$0;
+ i64toi32_i32$5 = i64toi32_i32$1 & i64toi32_i32$5 | 0;
+ $17$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = var$1$hi;
+ i64toi32_i32$5 = $17$hi;
+ i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0;
+ i64toi32_i32$0 = var$1$hi;
+ i64toi32_i32$3 = var$1;
+ i64toi32_i32$2 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$2 | 0;
+ $22 = 0;
} else {
- if ($2 >>> 0 >= 32 >>> 0) {
- $2 = $2 - 32 | 0;
- $3 = 32 - $2 | 0;
- i64toi32_i32$HIGH_BITS = $0 >>> $2 | 0 | ($1 << $3 | 0) | 0;
- $5 = $1 >>> $2 | 0 | ($0 << $3 | 0) | 0;
- } else {
- $3 = 32 - $2 | 0;
- i64toi32_i32$HIGH_BITS = $1 >>> $2 | 0 | ($0 << $3 | 0) | 0;
- $5 = $0 >>> $2 | 0 | ($1 << $3 | 0) | 0;
- }
- $4 = $5;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$2 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$2 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$2 | 0) | 0;
+ $22 = i64toi32_i32$1 << i64toi32_i32$2 | 0;
}
- return $4 | 0;
+ $19$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $10$hi;
+ i64toi32_i32$5 = $10;
+ i64toi32_i32$1 = $19$hi;
+ i64toi32_i32$3 = $22;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ i64toi32_i32$1 = i64toi32_i32$1;
+ i64toi32_i32$5 = i64toi32_i32$5 | i64toi32_i32$3 | 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
+ return i64toi32_i32$5 | 0;
}
return {