diff options
author | Alon Zakai (kripken) <alonzakai@gmail.com> | 2017-02-13 14:15:48 -0800 |
---|---|---|
committer | Alon Zakai (kripken) <alonzakai@gmail.com> | 2017-02-16 22:45:39 -0800 |
commit | 04d38f6f881b16a014c47e897a4590d76ec548ff (patch) | |
tree | b83569be07ccb148331da81591a1f5fde7ecbfaa /test/passes/optimize-instructions.wast | |
parent | f05efb982f8472c1dd6beb0e8dbc8afc73e82fcb (diff) | |
download | binaryen-04d38f6f881b16a014c47e897a4590d76ec548ff.tar.gz binaryen-04d38f6f881b16a014c47e897a4590d76ec548ff.tar.bz2 binaryen-04d38f6f881b16a014c47e897a4590d76ec548ff.zip |
remove unneeded masks using getMaxBits
Diffstat (limited to 'test/passes/optimize-instructions.wast')
-rw-r--r-- | test/passes/optimize-instructions.wast | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast index f8c93d03c..c305ccbbb 100644 --- a/test/passes/optimize-instructions.wast +++ b/test/passes/optimize-instructions.wast @@ -1625,4 +1625,70 @@ ) ) ) + (func $mask-bits (param $0 i32) (param $1 i32) + (drop + (i32.and + (tee_local $0 + (i32.const 127) ;; 7 bits + ) + (i32.const 255) ;; mask 8, so we don't need this + ) + ) + (drop + (i32.and + (tee_local $0 + (i32.const 128) ;; 8 bits + ) + (i32.const 255) ;; mask 8, so we don't need this + ) + ) + (drop + (i32.and + (tee_local $0 + (i32.const 128) + ) + (i32.const 254) ;; improper mask, small + ) + ) + (drop + (i32.and + (tee_local $0 + (i32.const 128) + ) + (i32.const 1279) ;; improper mask, large + ) + ) + (drop + (i32.and + (tee_local $0 + (i32.const 128) + ) + (i32.const 1290) ;; improper mask, large + ) + ) + (drop + (i32.and + (tee_local $0 + (i32.const 128) + ) + (i32.const 4095) ;; proper mask, huge + ) + ) + (drop + (i32.and + (tee_local $0 + (i32.const 128) + ) + (i32.const 511) ;; proper mask, large + ) + ) + (drop + (i32.and + (tee_local $0 + (i32.const 128) + ) + (i32.const 127) ;; proper mask, just too small + ) + ) + ) ) |