xref: /freebsd/contrib/llvm-project/clang/lib/Headers/x86intrin.h (revision 0b57cec536236d46e3dba9bd041533462f33dbb7)
1*0b57cec5SDimitry Andric /*===---- x86intrin.h - X86 intrinsics -------------------------------------===
2*0b57cec5SDimitry Andric  *
3*0b57cec5SDimitry Andric  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*0b57cec5SDimitry Andric  * See https://llvm.org/LICENSE.txt for license information.
5*0b57cec5SDimitry Andric  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*0b57cec5SDimitry Andric  *
7*0b57cec5SDimitry Andric  *===-----------------------------------------------------------------------===
8*0b57cec5SDimitry Andric  */
9*0b57cec5SDimitry Andric 
10*0b57cec5SDimitry Andric #ifndef __X86INTRIN_H
11*0b57cec5SDimitry Andric #define __X86INTRIN_H
12*0b57cec5SDimitry Andric 
13*0b57cec5SDimitry Andric #include <ia32intrin.h>
14*0b57cec5SDimitry Andric 
15*0b57cec5SDimitry Andric #include <immintrin.h>
16*0b57cec5SDimitry Andric 
17*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__3dNOW__)
18*0b57cec5SDimitry Andric #include <mm3dnow.h>
19*0b57cec5SDimitry Andric #endif
20*0b57cec5SDimitry Andric 
21*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__PRFCHW__)
22*0b57cec5SDimitry Andric #include <prfchwintrin.h>
23*0b57cec5SDimitry Andric #endif
24*0b57cec5SDimitry Andric 
25*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__SSE4A__)
26*0b57cec5SDimitry Andric #include <ammintrin.h>
27*0b57cec5SDimitry Andric #endif
28*0b57cec5SDimitry Andric 
29*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__FMA4__)
30*0b57cec5SDimitry Andric #include <fma4intrin.h>
31*0b57cec5SDimitry Andric #endif
32*0b57cec5SDimitry Andric 
33*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__XOP__)
34*0b57cec5SDimitry Andric #include <xopintrin.h>
35*0b57cec5SDimitry Andric #endif
36*0b57cec5SDimitry Andric 
37*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__TBM__)
38*0b57cec5SDimitry Andric #include <tbmintrin.h>
39*0b57cec5SDimitry Andric #endif
40*0b57cec5SDimitry Andric 
41*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__LWP__)
42*0b57cec5SDimitry Andric #include <lwpintrin.h>
43*0b57cec5SDimitry Andric #endif
44*0b57cec5SDimitry Andric 
45*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__MWAITX__)
46*0b57cec5SDimitry Andric #include <mwaitxintrin.h>
47*0b57cec5SDimitry Andric #endif
48*0b57cec5SDimitry Andric 
49*0b57cec5SDimitry Andric #if !defined(_MSC_VER) || __has_feature(modules) || defined(__CLZERO__)
50*0b57cec5SDimitry Andric #include <clzerointrin.h>
51*0b57cec5SDimitry Andric #endif
52*0b57cec5SDimitry Andric 
53*0b57cec5SDimitry Andric 
54*0b57cec5SDimitry Andric #endif /* __X86INTRIN_H */
55