diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/atomics.wast | 40 | ||||
-rw-r--r-- | test/atomics.wast.from-wast | 36 | ||||
-rw-r--r-- | test/atomics.wast.fromBinary | 38 | ||||
-rw-r--r-- | test/atomics.wast.fromBinary.noDebugInfo | 36 |
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) + ) + ) + ) + ) ) |