llvm/llvm/test/CodeGen/AArch64/fence-singlethread.ll

; RUN: llc -mtriple=aarch64-linux-gnu %s -o - | FileCheck %s --check-prefix=LINUX
; RUN: llc -mtriple=aarch64-apple-ios %s -o - | FileCheck %s --check-prefix=IOS
; RUN: llc -mtriple=aarch64-apple-ios %s -o - -global-isel | FileCheck %s --check-prefix=IOS
; RUN: llc -mtriple=aarch64 %s -filetype=obj -o %t
; RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=OBJ

; OBJ-NOT: dmb

define void @fence_singlethread() {
; LINUX-LABEL: fence_singlethread:
; LINUX-NOT: dmb
; LINUX: //MEMBARRIER
; LINUX-NOT: dmb

; IOS-LABEL: fence_singlethread:
; IOS-NOT: dmb
; IOS: ;MEMBARRIER
; IOS-NOT: dmb

  fence syncscope("singlethread") seq_cst
  ret void
}