62 lines · plain
1; RUN: llc < %s -mtriple=ve | FileCheck %s2 3;;; Test atomic fence for all memory order4 5; Function Attrs: norecurse nounwind readnone6define void @_Z20atomic_fence_relaxedv() {7; CHECK-LABEL: _Z20atomic_fence_relaxedv:8; CHECK: # %bb.0:9; CHECK-NEXT: b.l.t (, %s10)10 ret void11}12 13; Function Attrs: nofree norecurse nounwind14define void @_Z20atomic_fence_consumev() {15; CHECK-LABEL: _Z20atomic_fence_consumev:16; CHECK: # %bb.0:17; CHECK-NEXT: fencem 218; CHECK-NEXT: b.l.t (, %s10)19 fence acquire20 ret void21}22 23; Function Attrs: nofree norecurse nounwind24define void @_Z20atomic_fence_acquirev() {25; CHECK-LABEL: _Z20atomic_fence_acquirev:26; CHECK: # %bb.0:27; CHECK-NEXT: fencem 228; CHECK-NEXT: b.l.t (, %s10)29 fence acquire30 ret void31}32 33; Function Attrs: nofree norecurse nounwind34define void @_Z20atomic_fence_releasev() {35; CHECK-LABEL: _Z20atomic_fence_releasev:36; CHECK: # %bb.0:37; CHECK-NEXT: fencem 138; CHECK-NEXT: b.l.t (, %s10)39 fence release40 ret void41}42 43; Function Attrs: nofree norecurse nounwind44define void @_Z20atomic_fence_acq_relv() {45; CHECK-LABEL: _Z20atomic_fence_acq_relv:46; CHECK: # %bb.0:47; CHECK-NEXT: fencem 348; CHECK-NEXT: b.l.t (, %s10)49 fence acq_rel50 ret void51}52 53; Function Attrs: nofree norecurse nounwind54define void @_Z20atomic_fence_seq_cstv() {55; CHECK-LABEL: _Z20atomic_fence_seq_cstv:56; CHECK: # %bb.0:57; CHECK-NEXT: fencem 358; CHECK-NEXT: b.l.t (, %s10)59 fence seq_cst60 ret void61}62