diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-07-14 17:59:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-14 17:59:33 -0700 |
commit | e4f99f6c81a5f23318787adba6fea1137dc755bb (patch) | |
tree | 2fff27409e894cbfb0d473c4e768455795903505 /test/emcc_hello_world.fromasm.no-opts | |
parent | 4994da80284c337e5395ad836948ee38ffb967f1 (diff) | |
download | binaryen-e4f99f6c81a5f23318787adba6fea1137dc755bb.tar.gz binaryen-e4f99f6c81a5f23318787adba6fea1137dc755bb.tar.bz2 binaryen-e4f99f6c81a5f23318787adba6fea1137dc755bb.zip |
emit safe calls for i32 div/rem when in precise mode in asm2wasm, as they can trap (#637)
Diffstat (limited to 'test/emcc_hello_world.fromasm.no-opts')
-rw-r--r-- | test/emcc_hello_world.fromasm.no-opts | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/test/emcc_hello_world.fromasm.no-opts b/test/emcc_hello_world.fromasm.no-opts index ffd67e6f0..41e3e9e26 100644 --- a/test/emcc_hello_world.fromasm.no-opts +++ b/test/emcc_hello_world.fromasm.no-opts @@ -3,11 +3,11 @@ (export "memory" memory) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (type $FUNCSIG$id (func (param f64) (result i32))) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) - (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) (import $abort "env" "abort") (import $nullFunc_ii "env" "nullFunc_ii" (param i32)) @@ -28,6 +28,10 @@ (import $_sysconf "env" "_sysconf" (param i32) (result i32)) (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32)) (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32)) + (import $i32s-div "asm2wasm" "i32s-div" (param i32 i32) (result i32)) + (import $i32s-rem "asm2wasm" "i32s-rem" (param i32 i32) (result i32)) + (import $i32u-rem "asm2wasm" "i32u-rem" (param i32 i32) (result i32)) + (import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32)) (export "_i64Subtract" $_i64Subtract) (export "_free" $_free) (export "_main" $_main) @@ -10317,7 +10321,7 @@ ) (set_local $$div274$i (i32.and - (i32.div_s + (call_import $i32s-div (get_local $$add273$i) (i32.const 9) ) @@ -10865,7 +10869,7 @@ ) (set_local $$div356$i (i32.and - (i32.div_s + (call_import $i32s-div (get_local $$add355$i) (i32.const 9) ) @@ -10889,7 +10893,7 @@ ) (set_local $$rem360$i (i32.and - (i32.rem_s + (call_import $i32s-rem (get_local $$add355$i) (i32.const 9) ) @@ -10967,7 +10971,7 @@ ) (set_local $$rem370$i (i32.and - (i32.rem_u + (call_import $i32u-rem (get_local $$231) (get_local $$i$1$lcssa$i) ) @@ -11015,7 +11019,7 @@ (block (set_local $$div378$i (i32.and - (i32.div_u + (call_import $i32u-div (get_local $$231) (get_local $$i$1$lcssa$i) ) @@ -11043,7 +11047,7 @@ ) (set_local $$div384$i (i32.and - (i32.div_s + (call_import $i32s-div (get_local $$i$1$lcssa$i) (i32.const 2) ) @@ -11666,7 +11670,7 @@ ) (set_local $$rem494$510$i (i32.and - (i32.rem_u + (call_import $i32u-rem (get_local $$237) (i32.const 10) ) @@ -11711,7 +11715,7 @@ ) (set_local $$rem494$i (i32.and - (i32.rem_u + (call_import $i32u-rem (get_local $$237) (get_local $$mul499$i) ) @@ -16032,7 +16036,7 @@ (loop $while-out$2 $while-in$3 (set_local $$rem4 (i32.and - (i32.rem_u + (call_import $i32u-rem (get_local $$y$010) (i32.const 10) ) @@ -16063,7 +16067,7 @@ ) (set_local $$div9 (i32.and - (i32.div_u + (call_import $i32u-div (get_local $$y$010) (i32.const 10) ) @@ -31549,7 +31553,7 @@ (block (i32.store (get_local $$rem) - (i32.rem_u + (call_import $i32u-rem (get_local $$n_sroa_0_0_extract_trunc) (get_local $$d_sroa_0_0_extract_trunc) ) @@ -31567,7 +31571,7 @@ (i32.const 0) ) (set_local $$_0$0 - (i32.div_u + (call_import $i32u-div (get_local $$n_sroa_0_0_extract_trunc) (get_local $$d_sroa_0_0_extract_trunc) ) @@ -31665,7 +31669,7 @@ (block (i32.store (get_local $$rem) - (i32.rem_u + (call_import $i32u-rem (get_local $$n_sroa_1_4_extract_trunc) (get_local $$d_sroa_0_0_extract_trunc) ) @@ -31683,7 +31687,7 @@ (i32.const 0) ) (set_local $$_0$0 - (i32.div_u + (call_import $i32u-div (get_local $$n_sroa_1_4_extract_trunc) (get_local $$d_sroa_0_0_extract_trunc) ) @@ -31720,7 +31724,7 @@ (get_local $$rem) (i32.const 4) ) - (i32.rem_u + (call_import $i32u-rem (get_local $$n_sroa_1_4_extract_trunc) (get_local $$d_sroa_1_4_extract_trunc) ) @@ -31731,7 +31735,7 @@ (i32.const 0) ) (set_local $$_0$0 - (i32.div_u + (call_import $i32u-div (get_local $$n_sroa_1_4_extract_trunc) (get_local $$d_sroa_1_4_extract_trunc) ) |