xref: /llvm-project/llvm/test/CodeGen/AArch64/fence-singlethread.ll (revision 3d18c8cd265c0c0bf1d85226c4770a2dd0f86e8f)
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 %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: //MEMBARRIER
13; LINUX-NOT: dmb
14
15; IOS-LABEL: fence_singlethread:
16; IOS-NOT: dmb
17; IOS: ;MEMBARRIER
18; IOS-NOT: dmb
19
20  fence syncscope("singlethread") seq_cst
21  ret void
22}
23