xref: /openbsd-src/gnu/llvm/clang/lib/Headers/invpcidintrin.h (revision e5dd70708596ae51455a0ffa086a00c5b29f8583)
1*e5dd7070Spatrick /*===------------- invpcidintrin.h - INVPCID intrinsic ---------------------===
2*e5dd7070Spatrick  *
3*e5dd7070Spatrick  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*e5dd7070Spatrick  * See https://llvm.org/LICENSE.txt for license information.
5*e5dd7070Spatrick  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*e5dd7070Spatrick  *
7*e5dd7070Spatrick  *===-----------------------------------------------------------------------===
8*e5dd7070Spatrick  */
9*e5dd7070Spatrick 
10*e5dd7070Spatrick #ifndef __IMMINTRIN_H
11*e5dd7070Spatrick #error "Never use <invpcidintrin.h> directly; include <immintrin.h> instead."
12*e5dd7070Spatrick #endif
13*e5dd7070Spatrick 
14*e5dd7070Spatrick #ifndef __INVPCIDINTRIN_H
15*e5dd7070Spatrick #define __INVPCIDINTRIN_H
16*e5dd7070Spatrick 
17*e5dd7070Spatrick static __inline__ void
18*e5dd7070Spatrick   __attribute__((__always_inline__, __nodebug__,  __target__("invpcid")))
_invpcid(unsigned int __type,void * __descriptor)19*e5dd7070Spatrick _invpcid(unsigned int __type, void *__descriptor) {
20*e5dd7070Spatrick   __builtin_ia32_invpcid(__type, __descriptor);
21*e5dd7070Spatrick }
22*e5dd7070Spatrick 
23*e5dd7070Spatrick #endif /* __INVPCIDINTRIN_H */
24