blob: 37130a62518b14d1568db4d31a0f00cdc6def540 [file] [log] [blame] [edit]
;; RUN: not wasm-opt %s --enable-gc --enable-shared-everything --enable-reference-types --disable-threads 2>&1 | filecheck %s
;; RUN: wasm-opt %s --enable-gc --enable-shared-everything --enable-reference-types --enable-threads
(module
(type $struct (struct (field (mut i32))))
(type $array (array (mut i32)))
(func $struct-cmpxchg (param $ref (ref $struct)) (param $expected i32) (param $replacement i32)
(drop
(struct.atomic.rmw.cmpxchg $struct 0
(local.get $ref)
(local.get $expected)
(local.get $replacement)
)
)
)
(func $struct-rmw (param $ref (ref $struct)) (param $value i32)
(drop
(struct.atomic.rmw.add $struct 0
(local.get $ref)
(local.get $value)
)
)
)
(func $array-cmpxchg (param $ref (ref $array)) (param $expected i32) (param $replacement i32)
(drop
(array.atomic.rmw.cmpxchg $array
(local.get $ref)
(i32.const 0)
(local.get $expected)
(local.get $replacement)
)
)
)
(func $array-rmw (param $ref (ref $array)) (param $value i32)
(drop
(array.atomic.rmw.add $array
(local.get $ref)
(i32.const 0)
(local.get $value)
)
)
)
)
;; CHECK: [wasm-validator error in function struct-cmpxchg] unexpected false: struct.atomic.rmw requires additional features , on
;; CHECK: [--enable-threads]
;; CHECK: [wasm-validator error in function struct-rmw] unexpected false: struct.atomic.rmw requires additional features , on
;; CHECK: [--enable-threads]
;; CHECK: [wasm-validator error in function array-cmpxchg] unexpected false: array.atomic.rmw requires additional features , on
;; CHECK: [--enable-threads]
;; CHECK: [wasm-validator error in function array-rmw] unexpected false: array.atomic.rmw requires additional features , on
;; CHECK: [--enable-threads]