diff options
author | Alon Zakai (kripken) <alonzakai@gmail.com> | 2017-07-31 14:11:33 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2017-08-01 10:10:36 -0700 |
commit | 04418d5617f6ab7015c5cf7b905b4775a5219f4b (patch) | |
tree | 3b6b75b982702f7cabc777ae7fcc3f1a8dec2392 /test | |
parent | 5a07a930ad51003411b2bc827ea9bf08728ecc5a (diff) | |
download | binaryen-04418d5617f6ab7015c5cf7b905b4775a5219f4b.tar.gz binaryen-04418d5617f6ab7015c5cf7b905b4775a5219f4b.tar.bz2 binaryen-04418d5617f6ab7015c5cf7b905b4775a5219f4b.zip |
use effective shifts in more places in optimize-instructions
Diffstat (limited to 'test')
-rw-r--r-- | test/passes/optimize-instructions.txt | 15 | ||||
-rw-r--r-- | test/passes/optimize-instructions.wast | 30 |
2 files changed, 45 insertions, 0 deletions
diff --git a/test/passes/optimize-instructions.txt b/test/passes/optimize-instructions.txt index a399a9096..2e46379fb 100644 --- a/test/passes/optimize-instructions.txt +++ b/test/passes/optimize-instructions.txt @@ -2061,4 +2061,19 @@ (i32.const 9) ) ) + (func $mix-shifts (type $2) (result i32) + (i32.shr_s + (i32.shl + (i32.const 23) + (i32.const -61) + ) + (i32.const 168) + ) + ) + (func $actually-no-shifts (type $2) (result i32) + (i32.const 33) + ) + (func $less-shifts-than-it-seems (type $3) (param $x i32) (result i32) + (i32.const 4800) + ) ) diff --git a/test/passes/optimize-instructions.wast b/test/passes/optimize-instructions.wast index 8362453e9..517c74ea6 100644 --- a/test/passes/optimize-instructions.wast +++ b/test/passes/optimize-instructions.wast @@ -2496,4 +2496,34 @@ (i32.const 4098) ;; 2 bits effectively ) ) + (func $mix-shifts (result i32) + (i32.shr_s + (i32.shl + (i32.const 23) + (i32.const -61) + ) + (i32.const 168) + ) + ) + (func $actually-no-shifts (result i32) + (i32.add + (i32.shl + (i32.const 23) + (i32.const 32) ;; really 0 + ) + (i32.const 10) + ) + ) + (func $less-shifts-than-it-seems (param $x i32) (result i32) + (i32.add + (i32.shl + (i32.const 200) + (i32.const 36) ;; really 4 + ) + (i32.shl + (i32.const 100) + (i32.const 4) + ) + ) + ) ) |