diff options
author | taylor.fish <taylor-github@taylor.fish> | 2022-06-24 18:04:09 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-24 11:04:09 -0700 |
commit | 93b8849d9f98ef7ed812938ff0b3219819c2be77 (patch) | |
tree | 41ce9e70faa8150a74edd77af7956aca6dd6ba4c /test/wasm2js/sign_ext.2asm.js.opt | |
parent | a0f7540305d94c0182c3dd16161a84ab808ef340 (diff) | |
download | binaryen-93b8849d9f98ef7ed812938ff0b3219819c2be77.tar.gz binaryen-93b8849d9f98ef7ed812938ff0b3219819c2be77.tar.bz2 binaryen-93b8849d9f98ef7ed812938ff0b3219819c2be77.zip |
[Wasm2JS] Fix lowering of i64.extendN_s instructions (#4321)
Diffstat (limited to 'test/wasm2js/sign_ext.2asm.js.opt')
-rw-r--r-- | test/wasm2js/sign_ext.2asm.js.opt | 34 |
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; |