summaryrefslogtreecommitdiff
path: root/test/unit.wast.fromBinary
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-01-21 20:40:36 -0800
committerAlon Zakai <alonzakai@gmail.com>2016-01-21 20:40:36 -0800
commit0d512c9013aa8410a05bf1b3b4bb203dd1d526cc (patch)
treea2146d998795e736cbd22560d81eb8c34f71e7c0 /test/unit.wast.fromBinary
parent7b043e38223b1e5d5673f87b704ef220a42525eb (diff)
downloadbinaryen-0d512c9013aa8410a05bf1b3b4bb203dd1d526cc.tar.gz
binaryen-0d512c9013aa8410a05bf1b3b4bb203dd1d526cc.tar.bz2
binaryen-0d512c9013aa8410a05bf1b3b4bb203dd1d526cc.zip
add missing binary opcodes
Diffstat (limited to 'test/unit.wast.fromBinary')
-rw-r--r--test/unit.wast.fromBinary397
1 files changed, 397 insertions, 0 deletions
diff --git a/test/unit.wast.fromBinary b/test/unit.wast.fromBinary
new file mode 100644
index 000000000..460c90834
--- /dev/null
+++ b/test/unit.wast.fromBinary
@@ -0,0 +1,397 @@
+(module
+ (memory 4096 4096)
+ (type $0 (func (param f32)))
+ (type $1 (func))
+ (type $2 (func (param f64) (result i32)))
+ (type $3 (func (param f64 f64) (result f64)))
+ (type $4 (func (result f64)))
+ (type $5 (func (result i32)))
+ (type $6 (func (param i32) (result i32)))
+ (import $_emscripten_asm_const_vi "env" "_emscripten_asm_const_vi")
+ (import $f64-to-int "env" "f64-to-int" (param f64) (result i32))
+ (import $f64-rem "env" "f64-rem" (param f64 f64) (result f64))
+ (export "big_negative" $big_negative)
+ (table $z $big_negative $z $z $w $w $importedDoubles $w $z $cneg)
+ (func $big_negative
+ (local $var$0 f64)
+ (block $label$0
+ (set_local $var$0
+ (f64.const -2147483648)
+ )
+ (set_local $var$0
+ (f64.const -2147483648)
+ )
+ (set_local $var$0
+ (f64.const -21474836480)
+ )
+ (set_local $var$0
+ (f64.const 0.039625)
+ )
+ (set_local $var$0
+ (f64.const -0.039625)
+ )
+ )
+ )
+ (func $importedDoubles
+ (local $var$0 f64)
+ (block $label$0
+ (set_local $var$0
+ (f64.add
+ (f64.add
+ (f64.add
+ (f64.load align=8
+ (i32.const 8)
+ )
+ (f64.load align=8
+ (i32.const 16)
+ )
+ )
+ (f64.neg
+ (f64.load align=8
+ (i32.const 16)
+ )
+ )
+ )
+ (f64.neg
+ (f64.load align=8
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (if
+ (i32.gt_s
+ (i32.load align=4
+ (i32.const 24)
+ )
+ (i32.const 0)
+ )
+ (br $label$0
+ (f64.const -3.4)
+ )
+ )
+ (if
+ (f64.gt
+ (f64.load align=8
+ (i32.const 32)
+ )
+ (f64.const 0)
+ )
+ (br $label$0
+ (f64.const 5.6)
+ )
+ )
+ (f64.const 1.2)
+ )
+ )
+ (func $doubleCompares (param $var$0 f64) (param $var$1 f64)
+ (local $var$2 i32)
+ (local $var$3 f64)
+ (local $var$4 f64)
+ (block $label$0
+ (if
+ (f64.gt
+ (get_local $var$0)
+ (f64.const 0)
+ )
+ (br $label$0
+ (f64.const 1.2)
+ )
+ )
+ (if
+ (f64.gt
+ (get_local $var$4)
+ (f64.const 0)
+ )
+ (br $label$0
+ (f64.const -3.4)
+ )
+ )
+ (if
+ (i32.gt_s
+ (get_local $var$2)
+ (i32.const 0)
+ )
+ (br $label$0
+ (f64.const 5.6)
+ )
+ )
+ (if
+ (f64.lt
+ (get_local $var$0)
+ (get_local $var$1)
+ )
+ (br $label$0
+ (get_local $var$0)
+ )
+ )
+ (get_local $var$1)
+ )
+ )
+ (func $intOps
+ (local $var$0 i32)
+ (i32.eq
+ (get_local $var$0)
+ (i32.const 0)
+ )
+ )
+ (func $conversions
+ (local $var$0 i32)
+ (local $var$1 f64)
+ (block $label$0
+ (set_local $var$0
+ (call_import $f64-to-int
+ (get_local $var$1)
+ )
+ )
+ (set_local $var$1
+ (f64.convert_s/i32
+ (get_local $var$0)
+ )
+ )
+ (set_local $var$1
+ (f64.convert_u/i32
+ (i32.shr_u
+ (get_local $var$0)
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ )
+ (func $seq
+ (local $var$0 f64)
+ (set_local $var$0
+ (f64.sub
+ (block $label$0
+ (f64.const 0.1)
+ (f64.const 5.1)
+ )
+ (block $label$1
+ (f64.const 3.2)
+ (f64.const 4.2)
+ )
+ )
+ )
+ )
+ (func $switcher (param $var$0 i32)
+ (block $label$0
+ (tableswitch $label$4
+ (i32.sub
+ (get_local $var$0)
+ (i32.const 1)
+ )
+ (table (case $label$1) (case $label$2)) (case $label$3)
+ (case $label$1
+ (br $label$0
+ (i32.const 1)
+ )
+ )
+ (case $label$2
+ (br $label$0
+ (i32.const 2)
+ )
+ )
+ (case $label$3
+ (nop)
+ )
+ )
+ (tableswitch $label$8
+ (i32.sub
+ (get_local $var$0)
+ (i32.const 5)
+ )
+ (table (case $label$5) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$7)) (case $label$6)
+ (case $label$7
+ (br $label$0
+ (i32.const 121)
+ )
+ )
+ (case $label$5
+ (br $label$0
+ (i32.const 51)
+ )
+ )
+ (case $label$6
+ (nop)
+ )
+ )
+ (tableswitch $label$14
+ (i32.sub
+ (get_local $var$0)
+ (i32.const 2)
+ )
+ (table (case $label$9) (case $label$10) (case $label$10) (case $label$11) (case $label$10) (case $label$10) (case $label$10) (case $label$10) (case $label$12) (case $label$10) (case $label$13)) (case $label$10)
+ (case $label$13
+ (br $label$14)
+ )
+ (case $label$12
+ (br $label$14)
+ )
+ (case $label$11
+ (block $label$15
+ (loop $label$16 $label$17
+ (block $label$18
+ (br $label$16)
+ (br $label$17)
+ )
+ )
+ (br $label$14)
+ )
+ )
+ (case $label$9
+ (block $label$19
+ (loop $label$20 $label$21
+ (block $label$22
+ (br $label$14)
+ (br $label$21)
+ )
+ )
+ (br $label$14)
+ )
+ )
+ (case $label$10
+ (nop)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (func $blocker
+ (block $label$0
+ (br $label$0)
+ )
+ )
+ (func $frem
+ (call_import $f64-rem
+ (f64.const 5.5)
+ (f64.const 1.2)
+ )
+ )
+ (func $big_uint_div_u
+ (local $var$0 i32)
+ (block $label$0
+ (set_local $var$0
+ (i32.and
+ (i32.div_u
+ (i32.const 255)
+ (i32.const 2)
+ )
+ (i32.const 255)
+ )
+ )
+ (get_local $var$0)
+ )
+ )
+ (func $fr (param $var$0 f32)
+ (local $var$1 f32)
+ (local $var$2 f64)
+ (block $label$0
+ (f32.demote/f64
+ (get_local $var$2)
+ )
+ (get_local $var$1)
+ (f32.const 5)
+ (f32.const 0)
+ (f32.const 5)
+ (f32.const 0)
+ )
+ )
+ (func $negZero
+ (f64.const -0)
+ )
+ (func $abs
+ (local $var$0 i32)
+ (local $var$1 i32)
+ (local $var$2 f32)
+ (local $var$3 f64)
+ (block $label$0
+ (set_local $var$0
+ (block $label$1
+ (set_local $var$1
+ (i32.const 0)
+ )
+ (i32.select
+ (i32.lt_s
+ (get_local $var$1)
+ (i32.const 0)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $var$1)
+ )
+ (get_local $var$1)
+ )
+ )
+ )
+ (set_local $var$3
+ (f64.abs
+ (f64.const 0)
+ )
+ )
+ (set_local $var$2
+ (f32.abs
+ (f32.const 0)
+ )
+ )
+ )
+ )
+ (func $neg
+ (local $var$0 f32)
+ (block $label$0
+ (set_local $var$0
+ (f32.neg
+ (get_local $var$0)
+ )
+ )
+ (call_indirect $0
+ (i32.add
+ (i32.and
+ (i32.const 1)
+ (i32.const 7)
+ )
+ (i32.const 8)
+ )
+ (get_local $var$0)
+ )
+ )
+ )
+ (func $cneg (param $var$0 f32)
+ (call_indirect $0
+ (i32.add
+ (i32.and
+ (i32.const 1)
+ (i32.const 7)
+ )
+ (i32.const 8)
+ )
+ (get_local $var$0)
+ )
+ )
+ (func $___syscall_ret
+ (local $var$0 i32)
+ (i32.gt_u
+ (i32.shr_u
+ (get_local $var$0)
+ (i32.const 0)
+ )
+ (i32.const -4096)
+ )
+ )
+ (func $z
+ (nop)
+ )
+ (func $w
+ (nop)
+ )
+ (func $block_and_after
+ (block $label$0
+ (block $label$1
+ (i32.const 1)
+ (br $label$1)
+ )
+ (i32.const 0)
+ )
+ )
+)
+