@ 261106.8
current
;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.

;; RUN: wasm-opt -all %s -S -o -| filecheck %s

(module
  ;; CHECK:      (type $shared-struct (shared (struct (field (mut (ref null (shared eq)))))))
  (type $shared-struct (shared (struct (field (mut (ref null (shared eq)))))))
  ;; CHECK:      (func $cmpxchg-shared-expected (type $1) (param $shared-struct (ref $shared-struct))
  ;; CHECK-NEXT:  (struct.atomic.rmw.cmpxchg $shared-struct 0
  ;; CHECK-NEXT:   (local.get $shared-struct)
  ;; CHECK-NEXT:   (struct.new_default $shared-struct)
  ;; CHECK-NEXT:   (unreachable)
  ;; CHECK-NEXT:  )
  ;; CHECK-NEXT: )
  (func $cmpxchg-shared-expected (param $shared-struct (ref $shared-struct))
    (struct.atomic.rmw.cmpxchg $shared-struct 0
      (local.get $shared-struct)
      ;; We should expect a shared eqref here, so we can parse this as written
      ;; rather than dropping the operands and replacing them with unreachables.
      (struct.new_default $shared-struct)
      (unreachable)
    )
  )
)