1; RUN: llc -mtriple=aarch64-linux-gnu %s -o - | FileCheck %s --check-prefix=LINUX
2; RUN: llc -mtriple=aarch64-apple-ios %s -o - | FileCheck %s --check-prefix=IOS
3; RUN: llc -mtriple=aarch64-apple-ios %s -o - -global-isel | FileCheck %s --check-prefix=IOS
4; RUN: llc -mtriple=aarch64-linux-gnueabihf %s -filetype=obj -o %t
5; RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=OBJ
6
7; OBJ-NOT: dmb
8
9define void @fence_singlethread() {
10; LINUX-LABEL: fence_singlethread:
11; LINUX-NOT: dmb
12; LINUX: // COMPILER BARRIER
13; LINUX-NOT: dmb
14
15; IOS-LABEL: fence_singlethread:
16; IOS-NOT: dmb
17; IOS: ; COMPILER BARRIER
18; IOS-NOT: dmb
19
20  fence syncscope("singlethread") seq_cst
21  ret void
22}
23