summaryrefslogtreecommitdiff
path: root/test/passes/ssa-nomerge_enable-simd.txt
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2019-06-05 19:34:34 -0700
committerGitHub <noreply@github.com>2019-06-05 19:34:34 -0700
commit616abe47020c90278eaf8d14ae9815c31d2d14fb (patch)
tree91ad94c219f2028285605e3285b19d81ad655878 /test/passes/ssa-nomerge_enable-simd.txt
parent917fabf8fb8c2efbfadc608efa79c0937830ce10 (diff)
downloadbinaryen-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.txt214
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)
+ )
+)