summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2017-07-10 09:47:21 -0700
committerGitHub <noreply@github.com>2017-07-10 09:47:21 -0700
commitbcb29e59c92347eebcd138034a4f4c06d042670a (patch)
treece51ac4020bacd34c748693d85d70616bf340714 /test
parent4995132cfaf575e430a7d0e95257b677286171c3 (diff)
downloadbinaryen-bcb29e59c92347eebcd138034a4f4c06d042670a.tar.gz
binaryen-bcb29e59c92347eebcd138034a4f4c06d042670a.tar.bz2
binaryen-bcb29e59c92347eebcd138034a4f4c06d042670a.zip
Add IR, parsing, printing, and binary for atomic cmpxchg (#1083)
Diffstat (limited to 'test')
-rw-r--r--test/atomics.wast32
-rw-r--r--test/atomics.wast.from-wast32
-rw-r--r--test/atomics.wast.fromBinary34
-rw-r--r--test/atomics.wast.fromBinary.noDebugInfo34
4 files changed, 132 insertions, 0 deletions
diff --git a/test/atomics.wast b/test/atomics.wast
index 26aebdb0d..6b85c80ef 100644
--- a/test/atomics.wast
+++ b/test/atomics.wast
@@ -102,4 +102,36 @@
)
)
)
+ (func $atomic-cmpxchg (type $0)
+ (local $0 i32)
+ (local $1 i32)
+ (drop
+ (i32.atomic.rmw.cmpxchg offset=4
+ (get_local $0)
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.cmpxchg
+ (get_local $0)
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw.cmpxchg offset=4
+ (get_local $0)
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw32_u.cmpxchg align=4
+ (get_local $0)
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.from-wast b/test/atomics.wast.from-wast
index ef15de7e2..01735c1fc 100644
--- a/test/atomics.wast.from-wast
+++ b/test/atomics.wast.from-wast
@@ -102,4 +102,36 @@
)
)
)
+ (func $atomic-cmpxchg (type $0)
+ (local $0 i32)
+ (local $1 i32)
+ (drop
+ (i32.atomic.rmw.cmpxchg offset=4
+ (get_local $0)
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.cmpxchg
+ (get_local $0)
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw.cmpxchg offset=4
+ (get_local $0)
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw32_u.cmpxchg
+ (get_local $0)
+ (get_local $0)
+ (get_local $0)
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.fromBinary b/test/atomics.wast.fromBinary
index b3bce034a..63809f1ed 100644
--- a/test/atomics.wast.fromBinary
+++ b/test/atomics.wast.fromBinary
@@ -106,5 +106,39 @@
)
)
)
+ (func $atomic-cmpxchg (type $0)
+ (local $var$0 i32)
+ (local $var$1 i32)
+ (block $label$0
+ (drop
+ (i32.atomic.rmw.cmpxchg offset=4
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.cmpxchg
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw.cmpxchg offset=4
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw32_u.cmpxchg
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ )
+ )
)
diff --git a/test/atomics.wast.fromBinary.noDebugInfo b/test/atomics.wast.fromBinary.noDebugInfo
index 3777417bf..8dcca9d15 100644
--- a/test/atomics.wast.fromBinary.noDebugInfo
+++ b/test/atomics.wast.fromBinary.noDebugInfo
@@ -106,5 +106,39 @@
)
)
)
+ (func $2 (type $0)
+ (local $var$0 i32)
+ (local $var$1 i32)
+ (block $label$0
+ (drop
+ (i32.atomic.rmw.cmpxchg offset=4
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i32.atomic.rmw8_u.cmpxchg
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw.cmpxchg offset=4
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ (drop
+ (i64.atomic.rmw32_u.cmpxchg
+ (get_local $var$0)
+ (get_local $var$0)
+ (get_local $var$0)
+ )
+ )
+ )
+ )
)