diff options
Diffstat (limited to 'test/passes')
-rw-r--r-- | test/passes/optimize-instructions_all-features.txt | 8 | ||||
-rw-r--r-- | test/passes/optimize-instructions_all-features.wast | 10 |
2 files changed, 17 insertions, 1 deletions
diff --git a/test/passes/optimize-instructions_all-features.txt b/test/passes/optimize-instructions_all-features.txt index 82b0af68a..e3ad30a0b 100644 --- a/test/passes/optimize-instructions_all-features.txt +++ b/test/passes/optimize-instructions_all-features.txt @@ -3434,6 +3434,14 @@ ) (drop (i32.wrap_i64 + (i64.shr_u + (local.get $y) + (i64.const 63) + ) + ) + ) + (drop + (i32.wrap_i64 (i64.and (local.get $y) (i64.const 1) diff --git a/test/passes/optimize-instructions_all-features.wast b/test/passes/optimize-instructions_all-features.wast index a89a16c1b..8c2cefb53 100644 --- a/test/passes/optimize-instructions_all-features.wast +++ b/test/passes/optimize-instructions_all-features.wast @@ -3988,7 +3988,15 @@ ) (i32.const 1) )) - ;; i64(bool(expr)) == 1 -> i64(bool(expr)) + ;; i64(bool(expr)) != 0 -> i32(bool(expr)) + (drop (i64.ne + (i64.shr_u + (local.get $y) + (i64.const 63) + ) + (i64.const 0) + )) + ;; i64(bool(expr)) == 1 -> i32(bool(expr)) (drop (i64.eq (i64.and (local.get $y) |