ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
cetintrin.h
Go to the documentation of this file.
1/*===---- cetintrin.h - CET intrinsic --------------------------------------===
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#ifndef __IMMINTRIN_H
11#error "Never use <cetintrin.h> directly; include <immintrin.h> instead."
12#endif
13
14#ifndef __CETINTRIN_H
15#define __CETINTRIN_H
16
17/* Define the default attributes for the functions in this file. */
18#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, __target__("shstk")))
20
21static __inline__ void __DEFAULT_FN_ATTRS _incsspd(int __a) {
22 __builtin_ia32_incsspd(__a);
23}
24
25#ifdef __x86_64__
26static __inline__ void __DEFAULT_FN_ATTRS _incsspq(unsigned long long __a) {
27 __builtin_ia32_incsspq(__a);
28}
29#endif /* __x86_64__ */
30
31#ifdef __x86_64__
32static __inline__ void __DEFAULT_FN_ATTRS _inc_ssp(unsigned int __a) {
33 __builtin_ia32_incsspq(__a);
34}
35#else /* __x86_64__ */
36static __inline__ void __DEFAULT_FN_ATTRS _inc_ssp(unsigned int __a) {
37 __builtin_ia32_incsspd((int)__a);
38}
39#endif /* __x86_64__ */
40
41static __inline__ unsigned int __DEFAULT_FN_ATTRS _rdsspd(unsigned int __a) {
42 return __builtin_ia32_rdsspd(__a);
43}
44
45#ifdef __x86_64__
46static __inline__ unsigned long long __DEFAULT_FN_ATTRS _rdsspq(unsigned long long __a) {
47 return __builtin_ia32_rdsspq(__a);
48}
49#endif /* __x86_64__ */
50
51#ifdef __x86_64__
52static __inline__ unsigned long long __DEFAULT_FN_ATTRS _get_ssp(void) {
53 return __builtin_ia32_rdsspq(0);
54}
55#else /* __x86_64__ */
56static __inline__ unsigned int __DEFAULT_FN_ATTRS _get_ssp(void) {
57 return __builtin_ia32_rdsspd(0);
58}
59#endif /* __x86_64__ */
60
61static __inline__ void __DEFAULT_FN_ATTRS _saveprevssp() {
62 __builtin_ia32_saveprevssp();
63}
64
65static __inline__ void __DEFAULT_FN_ATTRS _rstorssp(void * __p) {
66 __builtin_ia32_rstorssp(__p);
67}
68
69static __inline__ void __DEFAULT_FN_ATTRS _wrssd(unsigned int __a, void * __p) {
70 __builtin_ia32_wrssd(__a, __p);
71}
72
73#ifdef __x86_64__
74static __inline__ void __DEFAULT_FN_ATTRS _wrssq(unsigned long long __a, void * __p) {
75 __builtin_ia32_wrssq(__a, __p);
76}
77#endif /* __x86_64__ */
78
79static __inline__ void __DEFAULT_FN_ATTRS _wrussd(unsigned int __a, void * __p) {
80 __builtin_ia32_wrussd(__a, __p);
81}
82
83#ifdef __x86_64__
84static __inline__ void __DEFAULT_FN_ATTRS _wrussq(unsigned long long __a, void * __p) {
85 __builtin_ia32_wrussq(__a, __p);
86}
87#endif /* __x86_64__ */
88
89static __inline__ void __DEFAULT_FN_ATTRS _setssbsy() {
90 __builtin_ia32_setssbsy();
91}
92
93static __inline__ void __DEFAULT_FN_ATTRS _clrssbsy(void * __p) {
94 __builtin_ia32_clrssbsy(__p);
95}
96
97#undef __DEFAULT_FN_ATTRS
98
99#endif /* __CETINTRIN_H */
static __inline unsigned char unsigned int unsigned int unsigned int * __p
Definition adxintrin.h:24
static __inline__ unsigned int __DEFAULT_FN_ATTRS _get_ssp(void)
Definition cetintrin.h:56
static __inline__ void __DEFAULT_FN_ATTRS _wrussd(unsigned int __a, void *__p)
Definition cetintrin.h:79
static __inline__ void __DEFAULT_FN_ATTRS _clrssbsy(void *__p)
Definition cetintrin.h:93
static __inline__ void __DEFAULT_FN_ATTRS _inc_ssp(unsigned int __a)
Definition cetintrin.h:36
#define __DEFAULT_FN_ATTRS
Definition cetintrin.h:18
static __inline__ void __DEFAULT_FN_ATTRS _rstorssp(void *__p)
Definition cetintrin.h:65
static __inline__ void __DEFAULT_FN_ATTRS _saveprevssp()
Definition cetintrin.h:61
static __inline__ void __DEFAULT_FN_ATTRS _wrssd(unsigned int __a, void *__p)
Definition cetintrin.h:69
static __inline__ void __DEFAULT_FN_ATTRS _setssbsy()
Definition cetintrin.h:89
static __inline__ unsigned int __DEFAULT_FN_ATTRS _rdsspd(unsigned int __a)
Definition cetintrin.h:41
static __inline__ void __DEFAULT_FN_ATTRS _incsspd(int __a)
Definition cetintrin.h:21
static __inline__ void int __a
Definition emmintrin.h:4185