; RUN: llc < %s -mtriple=ve | FileCheck %s ;;; Test atomic fence for all memory order ; Function Attrs: norecurse nounwind readnone define void @_Z20atomic_fence_relaxedv() { ; CHECK-LABEL: _Z20atomic_fence_relaxedv: ; CHECK: # %bb.0: ; CHECK-NEXT: b.l.t (, %s10) ret void } ; Function Attrs: nofree norecurse nounwind define void @_Z20atomic_fence_consumev() { ; CHECK-LABEL: _Z20atomic_fence_consumev: ; CHECK: # %bb.0: ; CHECK-NEXT: fencem 2 ; CHECK-NEXT: b.l.t (, %s10) fence acquire ret void } ; Function Attrs: nofree norecurse nounwind define void @_Z20atomic_fence_acquirev() { ; CHECK-LABEL: _Z20atomic_fence_acquirev: ; CHECK: # %bb.0: ; CHECK-NEXT: fencem 2 ; CHECK-NEXT: b.l.t (, %s10) fence acquire ret void } ; Function Attrs: nofree norecurse nounwind define void @_Z20atomic_fence_releasev() { ; CHECK-LABEL: _Z20atomic_fence_releasev: ; CHECK: # %bb.0: ; CHECK-NEXT: fencem 1 ; CHECK-NEXT: b.l.t (, %s10) fence release ret void } ; Function Attrs: nofree norecurse nounwind define void @_Z20atomic_fence_acq_relv() { ; CHECK-LABEL: _Z20atomic_fence_acq_relv: ; CHECK: # %bb.0: ; CHECK-NEXT: fencem 3 ; CHECK-NEXT: b.l.t (, %s10) fence acq_rel ret void } ; Function Attrs: nofree norecurse nounwind define void @_Z20atomic_fence_seq_cstv() { ; CHECK-LABEL: _Z20atomic_fence_seq_cstv: ; CHECK: # %bb.0: ; CHECK-NEXT: fencem 3 ; CHECK-NEXT: b.l.t (, %s10) fence seq_cst ret void }