summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/passes/precompute-propagate.txt23
-rw-r--r--test/passes/precompute-propagate.wast28
-rw-r--r--test/wasm-only.fromasm19
-rw-r--r--test/wasm-only.fromasm.clamp19
4 files changed, 53 insertions, 36 deletions
diff --git a/test/passes/precompute-propagate.txt b/test/passes/precompute-propagate.txt
index 262b4880c..15abe1f2e 100644
--- a/test/passes/precompute-propagate.txt
+++ b/test/passes/precompute-propagate.txt
@@ -1,6 +1,7 @@
(module
(type $0 (func (param i32)))
(type $1 (func (param i32) (result i32)))
+ (type $2 (func (param i32 i32) (result i32)))
(func $basic (; 0 ;) (type $0) (param $p i32)
(local $x i32)
(set_local $x
@@ -210,4 +211,26 @@
(br $loop)
)
)
+ (func $through-tee (; 13 ;) (type $2) (param $x i32) (param $y i32) (result i32)
+ (set_local $x
+ (tee_local $y
+ (i32.const 7)
+ )
+ )
+ (return
+ (i32.const 14)
+ )
+ )
+ (func $through-tee-more (; 14 ;) (type $2) (param $x i32) (param $y i32) (result i32)
+ (set_local $x
+ (i32.eqz
+ (tee_local $y
+ (i32.const 7)
+ )
+ )
+ )
+ (return
+ (i32.const 7)
+ )
+ )
)
diff --git a/test/passes/precompute-propagate.wast b/test/passes/precompute-propagate.wast
index af1a21ba2..4cf440829 100644
--- a/test/passes/precompute-propagate.wast
+++ b/test/passes/precompute-propagate.wast
@@ -109,5 +109,33 @@
(br $loop)
)
)
+ (func $through-tee (param $x i32) (param $y i32) (result i32)
+ (set_local $x
+ (tee_local $y
+ (i32.const 7)
+ )
+ )
+ (return
+ (i32.add
+ (get_local $x)
+ (get_local $y)
+ )
+ )
+ )
+ (func $through-tee-more (param $x i32) (param $y i32) (result i32)
+ (set_local $x
+ (i32.eqz
+ (tee_local $y
+ (i32.const 7)
+ )
+ )
+ )
+ (return
+ (i32.add
+ (get_local $x)
+ (get_local $y)
+ )
+ )
+ )
)
diff --git a/test/wasm-only.fromasm b/test/wasm-only.fromasm
index 596ab5eb6..f2c80a778 100644
--- a/test/wasm-only.fromasm
+++ b/test/wasm-only.fromasm
@@ -368,24 +368,7 @@
(local $2 f64)
(set_local $0
(call $i64s-div
- (block (result i64)
- (set_local $0
- (i64.mul
- (i64.sub
- (i64.add
- (i64.const 128849018897)
- (i64.const 100)
- )
- (i64.const 128849018897)
- )
- (i64.const 128849018897)
- )
- )
- (i64.div_u
- (get_local $0)
- (i64.const 128849018897)
- )
- )
+ (i64.const 100)
(i64.const 128849018897)
)
)
diff --git a/test/wasm-only.fromasm.clamp b/test/wasm-only.fromasm.clamp
index 596ab5eb6..f2c80a778 100644
--- a/test/wasm-only.fromasm.clamp
+++ b/test/wasm-only.fromasm.clamp
@@ -368,24 +368,7 @@
(local $2 f64)
(set_local $0
(call $i64s-div
- (block (result i64)
- (set_local $0
- (i64.mul
- (i64.sub
- (i64.add
- (i64.const 128849018897)
- (i64.const 100)
- )
- (i64.const 128849018897)
- )
- (i64.const 128849018897)
- )
- )
- (i64.div_u
- (get_local $0)
- (i64.const 128849018897)
- )
- )
+ (i64.const 100)
(i64.const 128849018897)
)
)