From 6f255d3bea628bd8d2ae2e43d29faeac6dbd7daf Mon Sep 17 00:00:00 2001 From: Max Graey Date: Wed, 14 Oct 2020 20:14:57 +0300 Subject: Improve partial evaluation (#3236) --- test/passes/optimize-instructions_all-features.txt | 30 ++++++++++++++ .../passes/optimize-instructions_all-features.wast | 46 ++++++++++++++++++++++ 2 files changed, 76 insertions(+) (limited to 'test') diff --git a/test/passes/optimize-instructions_all-features.txt b/test/passes/optimize-instructions_all-features.txt index 93f4c3087..edebe0bc2 100644 --- a/test/passes/optimize-instructions_all-features.txt +++ b/test/passes/optimize-instructions_all-features.txt @@ -23,6 +23,36 @@ (memory $0 0) (export "load-off-2" (func $load-off-2)) (func $f (param $i1 i32) (param $i2 i64) + (drop + (i32.and + (local.get $i1) + (i32.const 1) + ) + ) + (drop + (i32.or + (local.get $i1) + (i32.const 3) + ) + ) + (drop + (i32.xor + (local.get $i1) + (i32.const 5) + ) + ) + (drop + (i32.mul + (local.get $i1) + (i32.const -10) + ) + ) + (drop + (i32.mul + (local.get $i1) + (i32.const -133169153) + ) + ) (if (i32.eqz (local.get $i1) diff --git a/test/passes/optimize-instructions_all-features.wast b/test/passes/optimize-instructions_all-features.wast index 80f440a59..cf3938cdf 100644 --- a/test/passes/optimize-instructions_all-features.wast +++ b/test/passes/optimize-instructions_all-features.wast @@ -2,6 +2,52 @@ (memory 0) (type $0 (func (param i32 i64))) (func $f (type $0) (param $i1 i32) (param $i2 i64) + (drop + (i32.and + (i32.and + (local.get $i1) + (i32.const 5) + ) + (i32.const 3) + ) + ) + (drop + (i32.or + (i32.or + (local.get $i1) + (i32.const 1) + ) + (i32.const 2) + ) + ) + (drop + (i32.xor + (i32.xor + (local.get $i1) + (i32.const -2) + ) + (i32.const -5) + ) + ) + (drop + (i32.mul + (i32.mul + (local.get $i1) + (i32.const -2) + ) + (i32.const 5) + ) + ) + ;; overflow also valid + (drop + (i32.mul + (i32.mul + (local.get $i1) + (i32.const 0xfffff) + ) + (i32.const 0x8000001) + ) + ) (if (i32.eqz (local.get $i1) -- cgit v1.2.3