Home | History | Annotate | Download | only in RISCV
      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 
      7 define 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 
     16 define 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 
     25 define 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 
     34 define 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