summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/atomics.wast40
-rw-r--r--test/atomics.wast.from-wast36
-rw-r--r--test/atomics.wast.fromBinary38
-rw-r--r--test/atomics.wast.fromBinary.noDebugInfo36
4 files changed, 145 insertions, 5 deletions
diff --git a/test/atomics.wast b/test/atomics.wast
index af78b98d5..26aebdb0d 100644
--- a/test/atomics.wast
+++ b/test/atomics.wast
@@ -1,7 +1,7 @@
(module
(type $0 (func))
(memory $0 23 256 shared)
- (func $atomics (type $0)
+ (func $atomic-loadstore (type $0)
(local $0 i32)
(local $1 i64)
(drop
@@ -39,11 +39,11 @@
(get_local $0)
)
)
- (i32.atomic.store offset=4
+ (i32.atomic.store offset=4 align=4
(get_local $0)
(get_local $0)
)
- (i32.atomic.store8 offset=4
+ (i32.atomic.store8 offset=4 align=1
(get_local $0)
(get_local $0)
)
@@ -68,4 +68,38 @@
(get_local $1)
)
)
+ (func $atomic-rmw (type $0)
+ (local $0 i32)
+ (local $1 i64)
+ (drop
+ (i32.atomic.rmw.add offset=4
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.add offset=4
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw16_u.and align=2
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw32_u.or
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.xchg align=1
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.from-wast b/test/atomics.wast.from-wast
index af78b98d5..ef15de7e2 100644
--- a/test/atomics.wast.from-wast
+++ b/test/atomics.wast.from-wast
@@ -1,7 +1,7 @@
(module
(type $0 (func))
(memory $0 23 256 shared)
- (func $atomics (type $0)
+ (func $atomic-loadstore (type $0)
(local $0 i32)
(local $1 i64)
(drop
@@ -68,4 +68,38 @@
(get_local $1)
)
)
+ (func $atomic-rmw (type $0)
+ (local $0 i32)
+ (local $1 i64)
+ (drop
+ (i32.atomic.rmw.add offset=4
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.add offset=4
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw16_u.and
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw32_u.or
+ (get_local $0)
+ (get_local $1)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.xchg
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.fromBinary b/test/atomics.wast.fromBinary
index 95c5473e2..b3bce034a 100644
--- a/test/atomics.wast.fromBinary
+++ b/test/atomics.wast.fromBinary
@@ -1,7 +1,7 @@
(module
(type $0 (func))
(memory $0 23 256 shared)
- (func $atomics (type $0)
+ (func $atomic-loadstore (type $0)
(local $var$0 i32)
(local $var$1 i64)
(block $label$0
@@ -70,5 +70,41 @@
)
)
)
+ (func $atomic-rmw (type $0)
+ (local $var$0 i32)
+ (local $var$1 i64)
+ (block $label$0
+ (drop
+ (i32.atomic.rmw.add offset=4
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.add offset=4
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw16_u.and
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw32_u.or
+ (get_local $var$0)
+ (get_local $var$1)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.xchg
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.fromBinary.noDebugInfo b/test/atomics.wast.fromBinary.noDebugInfo
index 279ef79a6..3777417bf 100644
--- a/test/atomics.wast.fromBinary.noDebugInfo
+++ b/test/atomics.wast.fromBinary.noDebugInfo
@@ -70,5 +70,41 @@
)
)
)
+ (func $1 (type $0)
+ (local $var$0 i32)
+ (local $var$1 i64)
+ (block $label$0
+ (drop
+ (i32.atomic.rmw.add offset=4
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.add offset=4
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw16_u.and
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw32_u.or
+ (get_local $var$0)
+ (get_local $var$1)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.xchg
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ )
+ )
)