summaryrefslogtreecommitdiff
path: root/test/parse/expr
diff options
context:
space:
mode:
authorWouter van Oortmerssen <aardappel@gmail.com>2020-08-07 12:55:47 -0700
committerGitHub <noreply@github.com>2020-08-07 12:55:47 -0700
commit4b9852ad23541c851031398b835d6387b1b51393 (patch)
treec41ad109e1e54825b4da0c823c62a28a97e0ed99 /test/parse/expr
parent05c1aa18e53258fefee9a8aac656280475ccf614 (diff)
downloadwabt-4b9852ad23541c851031398b835d6387b1b51393.tar.gz
wabt-4b9852ad23541c851031398b835d6387b1b51393.tar.bz2
wabt-4b9852ad23541c851031398b835d6387b1b51393.zip
Added initial "memory64" proposal support (#1500)
Diffstat (limited to 'test/parse/expr')
-rw-r--r--test/parse/expr/atomic64.txt82
-rw-r--r--test/parse/expr/bulk-memory-named64.txt19
-rw-r--r--test/parse/expr/grow-memory64.txt8
-rw-r--r--test/parse/expr/load64.txt46
-rw-r--r--test/parse/expr/memory-copy64.txt10
-rw-r--r--test/parse/expr/memory-fill64.txt10
-rw-r--r--test/parse/expr/memory-init64.txt12
-rw-r--r--test/parse/expr/store64.txt31
8 files changed, 218 insertions, 0 deletions
diff --git a/test/parse/expr/atomic64.txt b/test/parse/expr/atomic64.txt
new file mode 100644
index 00000000..356bf2fa
--- /dev/null
+++ b/test/parse/expr/atomic64.txt
@@ -0,0 +1,82 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-threads
+(module
+ (memory 1 1 shared i64)
+ (func
+ i64.const 0 i32.const 0 atomic.notify drop
+ i64.const 0 i32.const 0 i64.const 0 i32.atomic.wait drop
+ i64.const 0 i64.const 0 i64.const 0 i64.atomic.wait drop
+
+ i64.const 0 i32.atomic.load drop
+ i64.const 0 i64.atomic.load drop
+ i64.const 0 i32.atomic.load8_u drop
+ i64.const 0 i32.atomic.load16_u drop
+ i64.const 0 i64.atomic.load8_u drop
+ i64.const 0 i64.atomic.load16_u drop
+ i64.const 0 i64.atomic.load32_u drop
+
+ i64.const 0 i32.const 0 i32.atomic.store
+ i64.const 0 i64.const 0 i64.atomic.store
+ i64.const 0 i32.const 0 i32.atomic.store8
+ i64.const 0 i32.const 0 i32.atomic.store16
+ i64.const 0 i64.const 0 i64.atomic.store8
+ i64.const 0 i64.const 0 i64.atomic.store16
+ i64.const 0 i64.const 0 i64.atomic.store32
+
+ i64.const 0 i32.const 0 i32.atomic.rmw.add drop
+ i64.const 0 i64.const 0 i64.atomic.rmw.add drop
+ i64.const 0 i32.const 0 i32.atomic.rmw8.add_u drop
+ i64.const 0 i32.const 0 i32.atomic.rmw16.add_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw8.add_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw16.add_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw32.add_u drop
+
+ i64.const 0 i32.const 0 i32.atomic.rmw.sub drop
+ i64.const 0 i64.const 0 i64.atomic.rmw.sub drop
+ i64.const 0 i32.const 0 i32.atomic.rmw8.sub_u drop
+ i64.const 0 i32.const 0 i32.atomic.rmw16.sub_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw8.sub_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw16.sub_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw32.sub_u drop
+
+ i64.const 0 i32.const 0 i32.atomic.rmw.and drop
+ i64.const 0 i64.const 0 i64.atomic.rmw.and drop
+ i64.const 0 i32.const 0 i32.atomic.rmw8.and_u drop
+ i64.const 0 i32.const 0 i32.atomic.rmw16.and_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw8.and_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw16.and_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw32.and_u drop
+
+ i64.const 0 i32.const 0 i32.atomic.rmw.or drop
+ i64.const 0 i64.const 0 i64.atomic.rmw.or drop
+ i64.const 0 i32.const 0 i32.atomic.rmw8.or_u drop
+ i64.const 0 i32.const 0 i32.atomic.rmw16.or_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw8.or_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw16.or_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw32.or_u drop
+
+ i64.const 0 i32.const 0 i32.atomic.rmw.xor drop
+ i64.const 0 i64.const 0 i64.atomic.rmw.xor drop
+ i64.const 0 i32.const 0 i32.atomic.rmw8.xor_u drop
+ i64.const 0 i32.const 0 i32.atomic.rmw16.xor_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw8.xor_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw16.xor_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw32.xor_u drop
+
+ i64.const 0 i32.const 0 i32.atomic.rmw.xchg drop
+ i64.const 0 i64.const 0 i64.atomic.rmw.xchg drop
+ i64.const 0 i32.const 0 i32.atomic.rmw8.xchg_u drop
+ i64.const 0 i32.const 0 i32.atomic.rmw16.xchg_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw8.xchg_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw16.xchg_u drop
+ i64.const 0 i64.const 0 i64.atomic.rmw32.xchg_u drop
+
+ i64.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop
+ i64.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop
+ i64.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8.cmpxchg_u drop
+ i64.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16.cmpxchg_u drop
+ i64.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8.cmpxchg_u drop
+ i64.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16.cmpxchg_u drop
+ i64.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32.cmpxchg_u drop
+
+))
diff --git a/test/parse/expr/bulk-memory-named64.txt b/test/parse/expr/bulk-memory-named64.txt
new file mode 100644
index 00000000..acd21119
--- /dev/null
+++ b/test/parse/expr/bulk-memory-named64.txt
@@ -0,0 +1,19 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory
+
+(module
+ (memory 1 i64)
+ (data $data "a")
+ (func
+ i64.const 0 i32.const 0 i32.const 0 memory.init $data
+ data.drop $data
+ )
+
+ (table 1 anyfunc)
+ (elem $elem funcref (ref.func 0) (ref.null func))
+ (elem $elem2 func 0)
+ (func
+ i32.const 0 i32.const 0 i32.const 0 table.init $elem
+ elem.drop $elem
+ )
+)
diff --git a/test/parse/expr/grow-memory64.txt b/test/parse/expr/grow-memory64.txt
new file mode 100644
index 00000000..86157173
--- /dev/null
+++ b/test/parse/expr/grow-memory64.txt
@@ -0,0 +1,8 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-memory64
+(module
+ (memory 1 i64)
+ (func
+ i64.const 100
+ grow_memory
+ drop))
diff --git a/test/parse/expr/load64.txt b/test/parse/expr/load64.txt
new file mode 100644
index 00000000..c5e138fa
--- /dev/null
+++ b/test/parse/expr/load64.txt
@@ -0,0 +1,46 @@
+;;; TOOL: wat2wasm
+(module
+ (memory 1 i64)
+ (func
+ i64.const 0
+ i32.load
+ drop
+ i64.const 0
+ i32.load8_s
+ drop
+ i64.const 0
+ i32.load16_s
+ drop
+ i64.const 0
+ i32.load8_u
+ drop
+ i64.const 0
+ i32.load16_u
+ drop
+ i64.const 0
+ i64.load
+ drop
+ i64.const 0
+ i64.load8_s
+ drop
+ i64.const 0
+ i64.load16_s
+ drop
+ i64.const 0
+ i64.load32_s
+ drop
+ i64.const 0
+ i64.load8_u
+ drop
+ i64.const 0
+ i64.load16_u
+ drop
+ i64.const 0
+ i64.load32_u
+ drop
+ i64.const 0
+ f32.load
+ drop
+ i64.const 0
+ f64.load
+ drop))
diff --git a/test/parse/expr/memory-copy64.txt b/test/parse/expr/memory-copy64.txt
new file mode 100644
index 00000000..aa942e99
--- /dev/null
+++ b/test/parse/expr/memory-copy64.txt
@@ -0,0 +1,10 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory --enable-memory64
+(module
+ (memory 0 i64)
+
+ (func
+ i64.const 0
+ i64.const 0
+ i64.const 0
+ memory.copy))
diff --git a/test/parse/expr/memory-fill64.txt b/test/parse/expr/memory-fill64.txt
new file mode 100644
index 00000000..fb7eaf37
--- /dev/null
+++ b/test/parse/expr/memory-fill64.txt
@@ -0,0 +1,10 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory --enable-memory64
+(module
+ (memory 0 i64)
+
+ (func
+ i64.const 0
+ i32.const 0
+ i64.const 0
+ memory.fill))
diff --git a/test/parse/expr/memory-init64.txt b/test/parse/expr/memory-init64.txt
new file mode 100644
index 00000000..93fe469e
--- /dev/null
+++ b/test/parse/expr/memory-init64.txt
@@ -0,0 +1,12 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory --enable-memory64
+(module
+ (memory 0 i64)
+
+ (func
+ i64.const 0
+ i32.const 0
+ i32.const 0
+ memory.init 0)
+
+ (data "hi"))
diff --git a/test/parse/expr/store64.txt b/test/parse/expr/store64.txt
new file mode 100644
index 00000000..5f81e2e6
--- /dev/null
+++ b/test/parse/expr/store64.txt
@@ -0,0 +1,31 @@
+;;; TOOL: wat2wasm
+(module
+ (memory 1 i64)
+ (func
+ i64.const 0
+ i32.const 0
+ i32.store8
+ i64.const 0
+ i32.const 0
+ i32.store16
+ i64.const 0
+ i32.const 0
+ i32.store
+ i64.const 0
+ i64.const 0
+ i64.store
+ i64.const 0
+ i64.const 0
+ i64.store8
+ i64.const 0
+ i64.const 0
+ i64.store16
+ i64.const 0
+ i64.const 0
+ i64.store32
+ i64.const 0
+ f32.const 0
+ f32.store
+ i64.const 0
+ f64.const 0
+ f64.store))