1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \ 3; RUN: | FileCheck -check-prefix=RV32I %s 4; RUN: llc -mtriple=riscv32 -mattr=+a -verify-machineinstrs < %s \ 5; RUN: | FileCheck -check-prefix=RV32I %s 6 7define void @fence_acquire() nounwind { 8; RV32I-LABEL: fence_acquire: 9; RV32I: # %bb.0: 10; RV32I-NEXT: fence r, rw 11; RV32I-NEXT: ret 12 fence acquire 13 ret void 14} 15 16define void @fence_release() nounwind { 17; RV32I-LABEL: fence_release: 18; RV32I: # %bb.0: 19; RV32I-NEXT: fence rw, w 20; RV32I-NEXT: ret 21 fence release 22 ret void 23} 24 25define void @fence_acq_rel() nounwind { 26; RV32I-LABEL: fence_acq_rel: 27; RV32I: # %bb.0: 28; RV32I-NEXT: fence.tso 29; RV32I-NEXT: ret 30 fence acq_rel 31 ret void 32} 33 34define void @fence_seq_cst() nounwind { 35; RV32I-LABEL: fence_seq_cst: 36; RV32I: # %bb.0: 37; RV32I-NEXT: fence rw, rw 38; RV32I-NEXT: ret 39 fence seq_cst 40 ret void 41} 42