summaryrefslogtreecommitdiff
path: root/test/interp/binary.txt
diff options
context:
space:
mode:
authorBen Smith <binji@chromium.org>2016-09-26 17:03:05 -0700
committerBen Smith <binji@chromium.org>2016-09-29 11:37:27 -0700
commit1133575d48958ef6cd483e7ecef0ed1001d3ae57 (patch)
tree3189025965fec901ffb4ee4ae44c17fac8c51e63 /test/interp/binary.txt
parentc92a909563d12f81d382df8428d5e4e0e2ee91fc (diff)
downloadwabt-1133575d48958ef6cd483e7ecef0ed1001d3ae57.tar.gz
wabt-1133575d48958ef6cd483e7ecef0ed1001d3ae57.tar.bz2
wabt-1133575d48958ef6cd483e7ecef0ed1001d3ae57.zip
fix most of the interp tests
Still need to do imports
Diffstat (limited to 'test/interp/binary.txt')
-rw-r--r--test/interp/binary.txt199
1 files changed, 74 insertions, 125 deletions
diff --git a/test/interp/binary.txt b/test/interp/binary.txt
index a3eeca0f..3c70634b 100644
--- a/test/interp/binary.txt
+++ b/test/interp/binary.txt
@@ -1,122 +1,71 @@
;;; TOOL: run-interp
(module
;; i32
- (export "i32_add" $i32_add)
- (func $i32_add (result i32) (i32.add (i32.const 1) (i32.const 2)))
- (export "i32_sub" $i32_sub)
- (func $i32_sub (result i32) (i32.sub (i32.const 20) (i32.const 4)))
- (export "i32_mul" $i32_mul)
- (func $i32_mul (result i32) (i32.mul (i32.const 3) (i32.const 7)))
- (export "i32_div_s" $i32_div_s)
- (func $i32_div_s (result i32) (i32.div_s (i32.const -4) (i32.const 2)))
- (export "i32_div_u" $i32_div_u)
- (func $i32_div_u (result i32) (i32.div_u (i32.const -4) (i32.const 2)))
- (export "i32_rem_s" $i32_rem_s)
- (func $i32_rem_s (result i32) (i32.rem_s (i32.const -5) (i32.const 2)))
- (export "i32_rem_u" $i32_rem_u)
- (func $i32_rem_u (result i32) (i32.rem_u (i32.const -5) (i32.const 2)))
- (export "i32_and" $i32_and)
- (func $i32_and (result i32) (i32.and (i32.const 11) (i32.const 5)))
- (export "i32_or" $i32_or)
- (func $i32_or (result i32) (i32.or (i32.const 11) (i32.const 5)))
- (export "i32_xor" $i32_xor)
- (func $i32_xor (result i32) (i32.xor (i32.const 11) (i32.const 5)))
- (export "i32_shl" $i32_shl)
- (func $i32_shl (result i32) (i32.shl (i32.const -100) (i32.const 3)))
- (export "i32_shr_u" $i32_shr_u)
- (func $i32_shr_u (result i32) (i32.shr_u (i32.const -100) (i32.const 3)))
- (export "i32_shr_s" $i32_shr_s)
- (func $i32_shr_s (result i32) (i32.shr_s (i32.const -100) (i32.const 3)))
- (export "i32_rotl" $i32_rotl)
- (func $i32_rotl (result i32) (i32.rotl (i32.const -100) (i32.const 3)))
- (export "i32_rotr" $i32_rotr)
- (func $i32_rotr (result i32) (i32.rotr (i32.const -100) (i32.const 3)))
+ (func (export "i32_add") (result i32) (i32.add (i32.const 1) (i32.const 2)))
+ (func (export "i32_sub") (result i32) (i32.sub (i32.const 20) (i32.const 4)))
+ (func (export "i32_mul") (result i32) (i32.mul (i32.const 3) (i32.const 7)))
+ (func (export "i32_div_s") (result i32) (i32.div_s (i32.const -4) (i32.const 2)))
+ (func (export "i32_div_u") (result i32) (i32.div_u (i32.const -4) (i32.const 2)))
+ (func (export "i32_rem_s") (result i32) (i32.rem_s (i32.const -5) (i32.const 2)))
+ (func (export "i32_rem_u") (result i32) (i32.rem_u (i32.const -5) (i32.const 2)))
+ (func (export "i32_and") (result i32) (i32.and (i32.const 11) (i32.const 5)))
+ (func (export "i32_or") (result i32) (i32.or (i32.const 11) (i32.const 5)))
+ (func (export "i32_xor") (result i32) (i32.xor (i32.const 11) (i32.const 5)))
+ (func (export "i32_shl") (result i32) (i32.shl (i32.const -100) (i32.const 3)))
+ (func (export "i32_shr_u") (result i32) (i32.shr_u (i32.const -100) (i32.const 3)))
+ (func (export "i32_shr_s") (result i32) (i32.shr_s (i32.const -100) (i32.const 3)))
+ (func (export "i32_rotl") (result i32) (i32.rotl (i32.const -100) (i32.const 3)))
+ (func (export "i32_rotr") (result i32) (i32.rotr (i32.const -100) (i32.const 3)))
;; i64
- ;; The JavaScript host truncates if you try to return an i64, so we'll do a
- ;; comparison against the expected value instead.
- (export "i64_add" $i64_add)
- (func $i64_add (result i32) (i64.eq (i64.add (i64.const 1) (i64.const 2))
- (i64.const 3)))
- (export "i64_sub" $i64_sub)
- (func $i64_sub (result i32) (i64.eq (i64.sub (i64.const 20) (i64.const 4))
- (i64.const 16)))
- (export "i64_mul" $i64_mul)
- (func $i64_mul (result i32) (i64.eq (i64.mul (i64.const 3) (i64.const 7))
- (i64.const 21)))
- (export "i64_div_s" $i64_div_s)
- (func $i64_div_s (result i32) (i64.eq (i64.div_s (i64.const -4) (i64.const 2))
- (i64.const -2)))
- (export "i64_div_u" $i64_div_u)
- (func $i64_div_u (result i32) (i64.eq (i64.div_u (i64.const -4) (i64.const 2))
- (i64.const 9223372036854775806)))
- (export "i64_rem_s" $i64_rem_s)
- (func $i64_rem_s (result i32) (i64.eq (i64.rem_s (i64.const -5) (i64.const 2))
- (i64.const -1)))
- (export "i64_rem_u" $i64_rem_u)
- (func $i64_rem_u (result i32) (i64.eq (i64.rem_u (i64.const -5) (i64.const 2))
- (i64.const 1)))
- (export "i64_and" $i64_and)
- (func $i64_and (result i32) (i64.eq (i64.and (i64.const 11) (i64.const 5))
- (i64.const 1)))
- (export "i64_or" $i64_or)
- (func $i64_or (result i32) (i64.eq (i64.or (i64.const 11) (i64.const 5))
- (i64.const 15)))
- (export "i64_xor" $i64_xor)
- (func $i64_xor (result i32) (i64.eq (i64.xor (i64.const 11) (i64.const 5))
- (i64.const 14)))
- (export "i64_shl" $i64_shl)
- (func $i64_shl (result i32) (i64.eq (i64.shl (i64.const -100) (i64.const 3))
- (i64.const -800)))
- (export "i64_shr_u" $i64_shr_u)
- (func $i64_shr_u (result i32)
- (i64.eq (i64.shr_u (i64.const -100) (i64.const 3))
- (i64.const 2305843009213693939)))
- (export "i64_shr_s" $i64_shr_s)
- (func $i64_shr_s (result i32)
- (i64.eq (i64.shr_s (i64.const -100) (i64.const 3)) (i64.const -13)))
- (export "i64_rotl" $i64_rotl)
- (func $i64_rotl (result i32) (i64.eq (i64.rotl (i64.const -100) (i64.const 3))
- (i64.const -793)))
- (export "i64_rotr" $i64_rotr)
- (func $i64_rotr (result i32) (i64.eq (i64.rotr (i64.const -100) (i64.const 3))
- (i64.const -6917529027641081869)))
+ (func (export "i64_add") (result i64) (i64.add (i64.const 1) (i64.const 2)))
+ (func (export "i64_sub") (result i64) (i64.sub (i64.const 20) (i64.const 4)))
+ (func (export "i64_mul") (result i64) (i64.mul (i64.const 3) (i64.const 7)))
+ (func (export "i64_div_s") (result i64) (i64.div_s (i64.const -4) (i64.const 2)))
+ (func (export "i64_div_u") (result i64) (i64.div_u (i64.const -4) (i64.const 2)))
+ (func (export "i64_rem_s") (result i64) (i64.rem_s (i64.const -5) (i64.const 2)))
+ (func (export "i64_rem_u") (result i64) (i64.rem_u (i64.const -5) (i64.const 2)))
+ (func (export "i64_and") (result i64) (i64.and (i64.const 11) (i64.const 5)))
+ (func (export "i64_or") (result i64) (i64.or (i64.const 11) (i64.const 5)))
+ (func (export "i64_xor") (result i64) (i64.xor (i64.const 11) (i64.const 5)))
+ (func (export "i64_shl") (result i64) (i64.shl (i64.const -100) (i64.const 3)))
+ (func (export "i64_shr_u") (result i64) (i64.shr_u (i64.const -100) (i64.const 3)))
+ (func (export "i64_shr_s") (result i64) (i64.shr_s (i64.const -100) (i64.const 3)))
+ (func (export "i64_rotl") (result i64) (i64.rotl (i64.const -100) (i64.const 3)))
+ (func (export "i64_rotr") (result i64) (i64.rotr (i64.const -100) (i64.const 3)))
;; f32
- (export "f32_add" $f32_add)
- (func $f32_add (result f32) (f32.add (f32.const 1.25) (f32.const 3.75)))
- (export "f32_sub" $f32_sub)
- (func $f32_sub (result f32) (f32.sub (f32.const 4.5) (f32.const 1e4)))
- (export "f32_mul" $f32_mul)
- (func $f32_mul (result f32) (f32.mul (f32.const 1234.5) (f32.const -6.875)))
- (export "f32_div" $f32_div)
- (func $f32_div (result f32) (f32.div (f32.const 1e14) (f32.const -2e5)))
- (export "f32_min" $f32_min)
- (func $f32_min (result f32) (f32.min (f32.const 0) (f32.const 0)))
- (export "f32_max" $f32_max)
- (func $f32_max (result f32) (f32.max (f32.const 0) (f32.const 0)))
- (export "f32_copysign" $f32_copysign)
- (func $f32_copysign (result f32) (f32.copysign (f32.const 0) (f32.const 0)))
+ (func (export "f32_add") (result f32)
+ (f32.add (f32.const 1.25) (f32.const 3.75)))
+ (func (export "f32_sub") (result f32)
+ (f32.sub (f32.const 4.5) (f32.const 1e4)))
+ (func (export "f32_mul") (result f32)
+ (f32.mul (f32.const 1234.5) (f32.const -6.875)))
+ (func (export "f32_div") (result f32)
+ (f32.div (f32.const 1e14) (f32.const -2e5)))
+ (func (export "f32_min") (result f32)
+ (f32.min (f32.const 0) (f32.const 0)))
+ (func (export "f32_max") (result f32)
+ (f32.max (f32.const 0) (f32.const 0)))
+ (func (export "f32_copysign") (result f32)
+ (f32.copysign (f32.const 0) (f32.const 0)))
;; f64
- (export "f64_add" $f64_add)
- (func $f64_add (result f64) (f64.add (f64.const 987654321)
- (f64.const 123456789)))
- ;; seems to be returning the first value, not subtracting.
- (export "f64_sub" $f64_sub)
- (func $f64_sub (result f64) (f64.sub (f64.const 1234e56) (f64.const 5.5e23)))
-
- (export "f64_mul" $f64_mul)
- (func $f64_mul (result f64) (f64.mul (f64.const -123e4) (f64.const 12341234)))
- (export "f64_div" $f64_div)
- (func $f64_div (result f64) (f64.div (f64.const 1e200) (f64.const 1e50)))
- (export "f64_min" $f64_min)
- (func $f64_min (result f64) (f64.min (f64.const 0) (f64.const 0)))
- (export "f64_max" $f64_max)
- (func $f64_max (result f64) (f64.max (f64.const 0) (f64.const 0)))
- (export "f64_copysign" $f64_copysign)
- (func $f64_copysign (result f64) (f64.copysign (f64.const 0) (f64.const 0)))
- )
+ (func (export "f64_add") (result f64)
+ (f64.add (f64.const 987654321) (f64.const 123456789)))
+ (func (export "f64_sub") (result f64)
+ (f64.sub (f64.const 1234e56) (f64.const 5.5e23)))
+ (func (export "f64_mul") (result f64)
+ (f64.mul (f64.const -123e4) (f64.const 12341234)))
+ (func (export "f64_div") (result f64)
+ (f64.div (f64.const 1e200) (f64.const 1e50)))
+ (func (export "f64_min") (result f64)
+ (f64.min (f64.const 0) (f64.const 0)))
+ (func (export "f64_max") (result f64)
+ (f64.max (f64.const 0) (f64.const 0)))
+ (func (export "f64_copysign") (result f64)
+ (f64.copysign (f64.const 0) (f64.const 0)))
+)
(;; STDOUT ;;;
i32_add() => i32:3
i32_sub() => i32:16
@@ -133,21 +82,21 @@ i32_shr_u() => i32:536870899
i32_shr_s() => i32:4294967283
i32_rotl() => i32:4294966503
i32_rotr() => i32:2684354547
-i64_add() => i32:1
-i64_sub() => i32:1
-i64_mul() => i32:1
-i64_div_s() => i32:1
-i64_div_u() => i32:1
-i64_rem_s() => i32:1
-i64_rem_u() => i32:1
-i64_and() => i32:1
-i64_or() => i32:1
-i64_xor() => i32:1
-i64_shl() => i32:1
-i64_shr_u() => i32:1
-i64_shr_s() => i32:1
-i64_rotl() => i32:1
-i64_rotr() => i32:1
+i64_add() => i64:3
+i64_sub() => i64:16
+i64_mul() => i64:21
+i64_div_s() => i64:18446744073709551614
+i64_div_u() => i64:9223372036854775806
+i64_rem_s() => i64:18446744073709551615
+i64_rem_u() => i64:1
+i64_and() => i64:1
+i64_or() => i64:15
+i64_xor() => i64:14
+i64_shl() => i64:18446744073709550816
+i64_shr_u() => i64:2305843009213693939
+i64_shr_s() => i64:18446744073709551603
+i64_rotl() => i64:18446744073709550823
+i64_rotr() => i64:11529215046068469747
f32_add() => f32:5
f32_sub() => f32:-9995.5
f32_mul() => f32:-8487.19