diff options
Diffstat (limited to 'test/passes/optimize-instructions.wast')
-rw-r--r-- | test/passes/optimize-instructions.wast | 208 |
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) + ) + ) + ) ) ) - |