;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited. ;; RUN: wasm-opt -all %s -S -o - | filecheck %s ;; RUN: wasm-opt -all %s --roundtrip -S -o - | filecheck %s (module ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (field (mut i32)))) ;; CHECK: (type $packed (struct (field (mut i8)))) (type $packed (struct (field (mut i8)))) ;; CHECK: (func $get (type $3) (param $0 (ref null $struct)) (result i32) ;; CHECK-NEXT: (struct.atomic.get $struct 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get (param (ref null $struct)) (result i32) (struct.atomic.get $struct 0 (local.get 0) ) ) ;; CHECK: (func $get-seqcst (type $3) (param $0 (ref null $struct)) (result i32) ;; CHECK-NEXT: (struct.atomic.get $struct 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get-seqcst (param (ref null $struct)) (result i32) (struct.atomic.get seqcst $struct 0 (local.get 0) ) ) ;; CHECK: (func $get-acqrel (type $3) (param $0 (ref null $struct)) (result i32) ;; CHECK-NEXT: (struct.atomic.get acqrel $struct 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get-acqrel (param (ref null $struct)) (result i32) (struct.atomic.get acqrel $struct 0 (local.get 0) ) ) ;; CHECK: (func $get-s (type $2) (param $0 (ref null $packed)) (result i32) ;; CHECK-NEXT: (struct.atomic.get_s $packed 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get-s (param (ref null $packed)) (result i32) (struct.atomic.get_s $packed 0 (local.get 0) ) ) ;; CHECK: (func $get-s-seqcst (type $2) (param $0 (ref null $packed)) (result i32) ;; CHECK-NEXT: (struct.atomic.get_s $packed 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get-s-seqcst (param (ref null $packed)) (result i32) (struct.atomic.get_s seqcst $packed 0 (local.get 0) ) ) ;; CHECK: (func $get-s-acqrel (type $2) (param $0 (ref null $packed)) (result i32) ;; CHECK-NEXT: (struct.atomic.get_s acqrel $packed 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get-s-acqrel (param (ref null $packed)) (result i32) (struct.atomic.get_s acqrel $packed 0 (local.get 0) ) ) ;; CHECK: (func $get-u (type $2) (param $0 (ref null $packed)) (result i32) ;; CHECK-NEXT: (struct.atomic.get_u $packed 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get-u (param (ref null $packed)) (result i32) (struct.atomic.get_u $packed 0 (local.get 0) ) ) ;; CHECK: (func $get-u-seqcst (type $2) (param $0 (ref null $packed)) (result i32) ;; CHECK-NEXT: (struct.atomic.get_u $packed 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get-u-seqcst (param (ref null $packed)) (result i32) (struct.atomic.get_u seqcst $packed 0 (local.get 0) ) ) ;; CHECK: (func $get-u-acqrel (type $2) (param $0 (ref null $packed)) (result i32) ;; CHECK-NEXT: (struct.atomic.get_u acqrel $packed 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $get-u-acqrel (param (ref null $packed)) (result i32) (struct.atomic.get_u acqrel $packed 0 (local.get 0) ) ) ;; CHECK: (func $set (type $4) (param $0 (ref null $struct)) ;; CHECK-NEXT: (struct.atomic.set $struct 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $set (param (ref null $struct)) (struct.atomic.set $struct 0 (local.get 0) (i32.const 0) ) ) ;; CHECK: (func $set-seqcst (type $4) (param $0 (ref null $struct)) ;; CHECK-NEXT: (struct.atomic.set $struct 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $set-seqcst (param (ref null $struct)) (struct.atomic.set seqcst $struct 0 (local.get 0) (i32.const 0) ) ) ;; CHECK: (func $set-acqrel (type $4) (param $0 (ref null $struct)) ;; CHECK-NEXT: (struct.atomic.set acqrel $struct 0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $set-acqrel (param (ref null $struct)) (struct.atomic.set acqrel $struct 0 (local.get 0) (i32.const 0) ) ) )