clang
16.0.0git
lib
Headers
tsxldtrkintrin.h
Go to the documentation of this file.
1
/*===------------- tsxldtrkintrin.h - tsxldtrk 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
#ifndef __IMMINTRIN_H
11
#error "Never use <tsxldtrkintrin.h> directly; include <immintrin.h> instead."
12
#endif
13
14
#ifndef __TSXLDTRKINTRIN_H
15
#define __TSXLDTRKINTRIN_H
16
17
/* Define the default attributes for the functions in this file */
18
#define _DEFAULT_FN_ATTRS \
19
__attribute__((__always_inline__, __nodebug__, __target__("tsxldtrk")))
20
21
/// Marks the start of an TSX (RTM) suspend load address tracking region. If
22
/// this intrinsic is used inside a transactional region, subsequent loads
23
/// are not added to the read set of the transaction. If it's used inside a
24
/// suspend load address tracking region it will cause transaction abort.
25
/// If it's used outside of a transactional region it behaves like a NOP.
26
///
27
/// \headerfile <x86intrin.h>
28
///
29
/// This intrinsic corresponds to the \c XSUSLDTRK instruction.
30
///
31
static
__inline__
void
_DEFAULT_FN_ATTRS
32
_xsusldtrk
(
void
)
33
{
34
__builtin_ia32_xsusldtrk();
35
}
36
37
/// Marks the end of an TSX (RTM) suspend load address tracking region. If this
38
/// intrinsic is used inside a suspend load address tracking region it will
39
/// end the suspend region and all following load addresses will be added to
40
/// the transaction read set. If it's used inside an active transaction but
41
/// not in a suspend region it will cause transaction abort. If it's used
42
/// outside of a transactional region it behaves like a NOP.
43
///
44
/// \headerfile <x86intrin.h>
45
///
46
/// This intrinsic corresponds to the \c XRESLDTRK instruction.
47
///
48
static
__inline__
void
_DEFAULT_FN_ATTRS
49
_xresldtrk
(
void
)
50
{
51
__builtin_ia32_xresldtrk();
52
}
53
54
#undef _DEFAULT_FN_ATTRS
55
56
#endif
/* __TSXLDTRKINTRIN_H */
_DEFAULT_FN_ATTRS
#define _DEFAULT_FN_ATTRS
Definition:
tsxldtrkintrin.h:18
_xsusldtrk
static __inline__ void _DEFAULT_FN_ATTRS _xsusldtrk(void)
Marks the start of an TSX (RTM) suspend load address tracking region.
Definition:
tsxldtrkintrin.h:32
_xresldtrk
static __inline__ void _DEFAULT_FN_ATTRS _xresldtrk(void)
Marks the end of an TSX (RTM) suspend load address tracking region.
Definition:
tsxldtrkintrin.h:49
Generated on Tue Aug 16 2022 16:59:55 for clang by
1.8.17