xref: /freebsd/contrib/llvm-project/clang/lib/Headers/arm64intr.h (revision 2e3507c25e42292b45a5482e116d278f5515d04d)
1 /*===---- arm64intr.h - ARM64 Windows intrinsics -------------------------------===
2  *
3  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4  * See https://llvm.org/LICENSE.txt for license information.
5  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6  *
7  *===-----------------------------------------------------------------------===
8  */
9 
10 /* Only include this if we're compiling for the windows platform. */
11 #ifndef _MSC_VER
12 #include_next <arm64intr.h>
13 #else
14 
15 #ifndef __ARM64INTR_H
16 #define __ARM64INTR_H
17 
18 typedef enum
19 {
20   _ARM64_BARRIER_SY    = 0xF,
21   _ARM64_BARRIER_ST    = 0xE,
22   _ARM64_BARRIER_LD    = 0xD,
23   _ARM64_BARRIER_ISH   = 0xB,
24   _ARM64_BARRIER_ISHST = 0xA,
25   _ARM64_BARRIER_ISHLD = 0x9,
26   _ARM64_BARRIER_NSH   = 0x7,
27   _ARM64_BARRIER_NSHST = 0x6,
28   _ARM64_BARRIER_NSHLD = 0x5,
29   _ARM64_BARRIER_OSH   = 0x3,
30   _ARM64_BARRIER_OSHST = 0x2,
31   _ARM64_BARRIER_OSHLD = 0x1
32 } _ARM64INTR_BARRIER_TYPE;
33 
34 #endif /* __ARM64INTR_H */
35 #endif /* _MSC_VER */
36