summaryrefslogtreecommitdiff
path: root/test/wasm2js/sign_ext.2asm.js.opt
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js/sign_ext.2asm.js.opt')
-rw-r--r--test/wasm2js/sign_ext.2asm.js.opt34
1 files changed, 32 insertions, 2 deletions
diff --git a/test/wasm2js/sign_ext.2asm.js.opt b/test/wasm2js/sign_ext.2asm.js.opt
index 31dbdc970..d4d572c1b 100644
--- a/test/wasm2js/sign_ext.2asm.js.opt
+++ b/test/wasm2js/sign_ext.2asm.js.opt
@@ -1,3 +1,4 @@
+import { setTempRet0 } from 'env';
function asmFunc(env) {
var Math_imul = Math.imul;
@@ -13,6 +14,8 @@ function asmFunc(env) {
var abort = env.abort;
var nan = NaN;
var infinity = Infinity;
+ var setTempRet0 = env.setTempRet0;
+ var i64toi32_i32$HIGH_BITS = 0;
function $0($0_1) {
$0_1 = $0_1 | 0;
return $0_1 << 24 >> 24;
@@ -23,13 +26,40 @@ function asmFunc(env) {
return $0_1 << 16 >> 16;
}
+ function legalstub$2($0_1, $1_1) {
+ $0_1 = $0_1 << 24 >> 24;
+ i64toi32_i32$HIGH_BITS = $0_1 >> 31;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$3($0_1, $1_1) {
+ $0_1 = $0_1 << 16 >> 16;
+ i64toi32_i32$HIGH_BITS = $0_1 >> 31;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
+ function legalstub$4($0_1, $1_1) {
+ i64toi32_i32$HIGH_BITS = $0_1 >> 31;
+ setTempRet0(i64toi32_i32$HIGH_BITS | 0);
+ return $0_1;
+ }
+
return {
"test8": $0,
- "test16": $1
+ "test16": $1,
+ "test8_i64": legalstub$2,
+ "test16_i64": legalstub$3,
+ "test32_i64": legalstub$4
};
}
-var retasmFunc = asmFunc( { abort: function() { throw new Error('abort'); }
+var retasmFunc = asmFunc( { abort: function() { throw new Error('abort'); },
+ setTempRet0
});
export var test8 = retasmFunc.test8;
export var test16 = retasmFunc.test16;
+export var test8_i64 = retasmFunc.test8_i64;
+export var test16_i64 = retasmFunc.test16_i64;
+export var test32_i64 = retasmFunc.test32_i64;