diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-06-05 19:34:34 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-05 19:34:34 -0700 |
commit | 616abe47020c90278eaf8d14ae9815c31d2d14fb (patch) | |
tree | 91ad94c219f2028285605e3285b19d81ad655878 /test/passes/ssa-nomerge_enable-simd.txt | |
parent | 917fabf8fb8c2efbfadc608efa79c0937830ce10 (diff) | |
download | binaryen-616abe47020c90278eaf8d14ae9815c31d2d14fb.tar.gz binaryen-616abe47020c90278eaf8d14ae9815c31d2d14fb.tar.bz2 binaryen-616abe47020c90278eaf8d14ae9815c31d2d14fb.zip |
Use splatted zero vector in makeZero (#2164)
This prevents the optimizer from producing v128.const instructions,
which are not supported by V8 at this time.
Diffstat (limited to 'test/passes/ssa-nomerge_enable-simd.txt')
-rw-r--r-- | test/passes/ssa-nomerge_enable-simd.txt | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/test/passes/ssa-nomerge_enable-simd.txt b/test/passes/ssa-nomerge_enable-simd.txt new file mode 100644 index 000000000..7674e0626 --- /dev/null +++ b/test/passes/ssa-nomerge_enable-simd.txt @@ -0,0 +1,214 @@ +(module + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$v (func)) + (memory $0 1 1) + (global $global$0 (mut i32) (i32.const 1)) + (func $basics (; 0 ;) (type $FUNCSIG$vi) (param $x i32) + (local $y i32) + (local $z f32) + (local $w i64) + (local $t f64) + (local $5 i32) + (local $6 f64) + (local $7 f64) + (drop + (local.get $x) + ) + (drop + (i32.const 0) + ) + (drop + (f32.const 0) + ) + (drop + (i64.const 0) + ) + (drop + (f64.const 0) + ) + (local.set $5 + (i32.const 100) + ) + (drop + (local.get $5) + ) + (local.set $6 + (f64.const 2) + ) + (drop + (local.get $6) + ) + (local.set $7 + (f64.const 33) + ) + (drop + (local.get $7) + ) + (drop + (local.get $7) + ) + ) + (func $if (; 1 ;) (type $FUNCSIG$vi) (param $p i32) + (local $x i32) + (local $y i32) + (local $3 i32) + (drop + (if (result i32) + (i32.const 1) + (i32.const 0) + (i32.const 0) + ) + ) + (if + (i32.const 1) + (local.set $x + (i32.const 1) + ) + ) + (drop + (local.get $x) + ) + (if + (i32.const 1) + (local.set $p + (i32.const 1) + ) + ) + (drop + (local.get $p) + ) + (if + (i32.const 1) + (local.set $x + (i32.const 2) + ) + (nop) + ) + (drop + (local.get $x) + ) + (if + (i32.const 1) + (nop) + (local.set $x + (i32.const 3) + ) + ) + (drop + (local.get $x) + ) + (if + (i32.const 1) + (local.set $x + (i32.const 4) + ) + (local.set $x + (i32.const 5) + ) + ) + (drop + (local.get $x) + ) + (if + (i32.const 1) + (local.set $x + (i32.const 6) + ) + (block $block + (local.set $3 + (i32.const 7) + ) + (local.set $x + (i32.const 8) + ) + ) + ) + (drop + (local.get $x) + ) + ) + (func $if2 (; 2 ;) (type $FUNCSIG$vi) (param $x i32) + (if + (i32.const 1) + (block $block + (local.set $x + (i32.const 1) + ) + (drop + (local.get $x) + ) + ) + ) + (drop + (local.get $x) + ) + ) + (func $nomerge (; 3 ;) (type $FUNCSIG$vii) (param $p i32) (param $q i32) + (local $x i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local.set $3 + (i32.const 1) + ) + (call $nomerge + (local.get $3) + (local.get $3) + ) + (local.set $4 + (i32.const 2) + ) + (call $nomerge + (local.get $4) + (local.get $4) + ) + (local.set $x + (i32.const 3) + ) + (call $nomerge + (local.get $x) + (local.get $x) + ) + (if + (i32.const 1) + (local.set $x + (i32.const 4) + ) + ) + (call $nomerge + (local.get $x) + (local.get $x) + ) + (local.set $5 + (i32.const 5) + ) + (call $nomerge + (local.get $5) + (local.get $5) + ) + (if + (i32.const 1) + (local.set $x + (i32.const 6) + ) + (local.set $x + (i32.const 7) + ) + ) + (call $nomerge + (local.get $x) + (local.get $x) + ) + ) + (func $simd-zero (; 4 ;) (type $FUNCSIG$v) + (local $0 v128) + (v128.store align=4 + (i32.const 0) + (i32x4.splat + (i32.const 0) + ) + ) + (unreachable) + ) +) |