aboutsummaryrefslogtreecommitdiff
path: root/lib/clang/11.0.0/include/lwpintrin.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/clang/11.0.0/include/lwpintrin.h')
-rw-r--r--lib/clang/11.0.0/include/lwpintrin.h136
1 files changed, 0 insertions, 136 deletions
diff --git a/lib/clang/11.0.0/include/lwpintrin.h b/lib/clang/11.0.0/include/lwpintrin.h
deleted file mode 100644
index d8ab0db..0000000
--- a/lib/clang/11.0.0/include/lwpintrin.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*===---- lwpintrin.h - LWP intrinsics -------------------------------------===
- *
- * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- * See https://llvm.org/LICENSE.txt for license information.
- * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- *
- *===-----------------------------------------------------------------------===
- */
-
-#ifndef __X86INTRIN_H
-#error "Never use <lwpintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef __LWPINTRIN_H
-#define __LWPINTRIN_H
-
-/* Define the default attributes for the functions in this file. */
-#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("lwp")))
-
-/// Parses the LWPCB at the specified address and enables
-/// profiling if valid.
-///
-/// \headerfile <x86intrin.h>
-///
-/// This intrinsic corresponds to the <c> LLWPCB </c> instruction.
-///
-/// \param __addr
-/// Address to the new Lightweight Profiling Control Block (LWPCB). If the
-/// LWPCB is valid, writes the address into the LWP_CBADDR MSR and enables
-/// Lightweight Profiling.
-static __inline__ void __DEFAULT_FN_ATTRS
-__llwpcb (void *__addr)
-{
- __builtin_ia32_llwpcb(__addr);
-}
-
-/// Flushes the LWP state to memory and returns the address of the LWPCB.
-///
-/// \headerfile <x86intrin.h>
-///
-/// This intrinsic corresponds to the <c> SLWPCB </c> instruction.
-///
-/// \return
-/// Address to the current Lightweight Profiling Control Block (LWPCB).
-/// If LWP is not currently enabled, returns NULL.
-static __inline__ void* __DEFAULT_FN_ATTRS
-__slwpcb (void)
-{
- return __builtin_ia32_slwpcb();
-}
-
-/// Inserts programmed event record into the LWP event ring buffer
-/// and advances the ring buffer pointer.
-///
-/// \headerfile <x86intrin.h>
-///
-/// This intrinsic corresponds to the <c> LWPINS </c> instruction.
-///
-/// \param DATA2
-/// A 32-bit value is zero-extended and inserted into the 64-bit Data2 field.
-/// \param DATA1
-/// A 32-bit value is inserted into the 32-bit Data1 field.
-/// \param FLAGS
-/// A 32-bit immediate value is inserted into the 32-bit Flags field.
-/// \returns If the ring buffer is full and LWP is running in Synchronized Mode,
-/// the event record overwrites the last record in the buffer, the MissedEvents
-/// counter in the LWPCB is incremented, the head pointer is not advanced, and
-/// 1 is returned. Otherwise 0 is returned.
-#define __lwpins32(DATA2, DATA1, FLAGS) \
- (__builtin_ia32_lwpins32((unsigned int) (DATA2), (unsigned int) (DATA1), \
- (unsigned int) (FLAGS)))
-
-/// Decrements the LWP programmed value sample event counter. If the result is
-/// negative, inserts an event record into the LWP event ring buffer in memory
-/// and advances the ring buffer pointer.
-///
-/// \headerfile <x86intrin.h>
-///
-/// This intrinsic corresponds to the <c> LWPVAL </c> instruction.
-///
-/// \param DATA2
-/// A 32-bit value is zero-extended and inserted into the 64-bit Data2 field.
-/// \param DATA1
-/// A 32-bit value is inserted into the 32-bit Data1 field.
-/// \param FLAGS
-/// A 32-bit immediate value is inserted into the 32-bit Flags field.
-#define __lwpval32(DATA2, DATA1, FLAGS) \
- (__builtin_ia32_lwpval32((unsigned int) (DATA2), (unsigned int) (DATA1), \
- (unsigned int) (FLAGS)))
-
-#ifdef __x86_64__
-
-/// Inserts programmed event record into the LWP event ring buffer
-/// and advances the ring buffer pointer.
-///
-/// \headerfile <x86intrin.h>
-///
-/// This intrinsic corresponds to the <c> LWPINS </c> instruction.
-///
-/// \param DATA2
-/// A 64-bit value is inserted into the 64-bit Data2 field.
-/// \param DATA1
-/// A 32-bit value is inserted into the 32-bit Data1 field.
-/// \param FLAGS
-/// A 32-bit immediate value is inserted into the 32-bit Flags field.
-/// \returns If the ring buffer is full and LWP is running in Synchronized Mode,
-/// the event record overwrites the last record in the buffer, the MissedEvents
-/// counter in the LWPCB is incremented, the head pointer is not advanced, and
-/// 1 is returned. Otherwise 0 is returned.
-#define __lwpins64(DATA2, DATA1, FLAGS) \
- (__builtin_ia32_lwpins64((unsigned long long) (DATA2), (unsigned int) (DATA1), \
- (unsigned int) (FLAGS)))
-
-/// Decrements the LWP programmed value sample event counter. If the result is
-/// negative, inserts an event record into the LWP event ring buffer in memory
-/// and advances the ring buffer pointer.
-///
-/// \headerfile <x86intrin.h>
-///
-/// This intrinsic corresponds to the <c> LWPVAL </c> instruction.
-///
-/// \param DATA2
-/// A 64-bit value is and inserted into the 64-bit Data2 field.
-/// \param DATA1
-/// A 32-bit value is inserted into the 32-bit Data1 field.
-/// \param FLAGS
-/// A 32-bit immediate value is inserted into the 32-bit Flags field.
-#define __lwpval64(DATA2, DATA1, FLAGS) \
- (__builtin_ia32_lwpval64((unsigned long long) (DATA2), (unsigned int) (DATA1), \
- (unsigned int) (FLAGS)))
-
-#endif
-
-#undef __DEFAULT_FN_ATTRS
-
-#endif /* __LWPINTRIN_H */