diff options
Diffstat (limited to 'test/passes/optimize-instructions_all-features.txt')
-rw-r--r-- | test/passes/optimize-instructions_all-features.txt | 83 |
1 files changed, 79 insertions, 4 deletions
diff --git a/test/passes/optimize-instructions_all-features.txt b/test/passes/optimize-instructions_all-features.txt index ee6b1162a..272cce240 100644 --- a/test/passes/optimize-instructions_all-features.txt +++ b/test/passes/optimize-instructions_all-features.txt @@ -2737,13 +2737,25 @@ ) (unreachable) ) - (func $srem-by-1 (param $x i32) (param $y i64) + (func $srem-by-const (param $x i32) (param $y i64) (drop (i32.const 0) ) (drop (i64.const 0) ) + (drop + (i32.and + (local.get $x) + (i32.const 2147483647) + ) + ) + (drop + (i64.and + (local.get $y) + (i64.const 9223372036854775807) + ) + ) ) (func $srem-by-pot-eq-ne-zero (param $x i32) (param $y i64) (drop @@ -2774,11 +2786,43 @@ (i64.eqz (i64.and (local.get $y) + (i64.const 3) + ) + ) + ) + (drop + (i32.eqz + (i32.and + (local.get $x) + (i32.const 3) + ) + ) + ) + (drop + (i64.eqz + (i64.and + (local.get $y) (i64.const 1) ) ) ) (drop + (i32.eqz + (i32.and + (local.get $x) + (i32.const 3) + ) + ) + ) + (drop + (i64.eqz + (i64.and + (local.get $y) + (i64.const 3) + ) + ) + ) + (drop (i32.ne (i32.and (local.get $x) @@ -2797,17 +2841,48 @@ ) (drop (i32.eqz - (i32.rem_s + (i32.const 0) + ) + ) + (drop + (i32.eqz + (i32.and (local.get $x) - (i32.const 3) + (i32.const 2147483647) + ) + ) + ) + (drop + (i32.ne + (i32.and + (local.get $x) + (i32.const 2147483647) + ) + (i32.const 0) + ) + ) + (drop + (i64.eqz + (i64.and + (local.get $y) + (i64.const 9223372036854775807) ) ) ) (drop + (i64.ne + (i64.and + (local.get $y) + (i64.const 9223372036854775807) + ) + (i64.const 0) + ) + ) + (drop (i32.eqz (i32.rem_s (local.get $x) - (i32.const -4) + (i32.const 3) ) ) ) |