summaryrefslogtreecommitdiff
path: root/test/passes/optimize-instructions.wast
diff options
context:
space:
mode:
Diffstat (limited to 'test/passes/optimize-instructions.wast')
-rw-r--r--test/passes/optimize-instructions.wast208
1 files changed, 178 insertions, 30 deletions
diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast
index bea01bd1c..f06d99fd9 100644
--- a/test/passes/optimize-instructions.wast
+++ b/test/passes/optimize-instructions.wast
@@ -1,48 +1,196 @@
(module
(memory 0)
- (func $f (param $i1 i32) (param $i2 i64)
+ (type $0 (func (param i32 i64)))
+ (func $f (type $0) (param $i1 i32) (param $i2 i64)
(if
(i32.eqz
(get_local $i1)
)
- (i32.const 10)
+ (drop
+ (i32.const 10)
+ )
)
(if
(i32.eqz
(get_local $i1)
)
- (i32.const 11)
- (i32.const 12)
+ (drop
+ (i32.const 11)
+ )
+ (drop
+ (i32.const 12)
+ )
)
(if
(i64.eqz
(get_local $i2)
)
- (i32.const 11)
- (i32.const 12)
- )
- (i32.eqz (i32.gt_s (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.ge_s (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.lt_s (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.le_s (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.gt_u (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.ge_u (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.lt_u (i32.const 1) (i32.const 2)))
- (i32.eqz (i32.le_u (i32.const 1) (i32.const 2)))
-
- (i32.eqz (f32.gt (f32.const 1) (f32.const 2)))
- (i32.eqz (f32.ge (f32.const 1) (f32.const 2)))
- (i32.eqz (f32.lt (f32.const 1) (f32.const 2)))
- (i32.eqz (f32.le (f32.const 1) (f32.const 2)))
- (i32.eqz (f64.gt (f64.const 1) (f64.const 2)))
- (i32.eqz (f64.ge (f64.const 1) (f64.const 2)))
- (i32.eqz (f64.lt (f64.const 1) (f64.const 2)))
- (i32.eqz (f64.le (f64.const 1) (f64.const 2)))
-
- (i32.eqz (f32.eq (f32.const 1) (f32.const 2)))
- (i32.eqz (f32.ne (f32.const 1) (f32.const 2)))
- (i32.eqz (f64.eq (f64.const 1) (f64.const 2)))
- (i32.eqz (f64.ne (f64.const 1) (f64.const 2)))
+ (drop
+ (i32.const 11)
+ )
+ (drop
+ (i32.const 12)
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.gt_s
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.ge_s
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.lt_s
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.le_s
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.gt_u
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.ge_u
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.lt_u
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (i32.le_u
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.gt
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.ge
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.lt
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.le
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.gt
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.ge
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.lt
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.le
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.eq
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f32.ne
+ (f32.const 1)
+ (f32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.eq
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.eqz
+ (f64.ne
+ (f64.const 1)
+ (f64.const 2)
+ )
+ )
+ )
)
)
-