xref: /freebsd/contrib/llvm-project/clang/lib/Headers/x86intrin.h (revision 5ffd83dbcc34f10e07f6d3e968ae6365869615f4)
10b57cec5SDimitry Andric /*===---- x86intrin.h - X86 intrinsics -------------------------------------===
20b57cec5SDimitry Andric  *
30b57cec5SDimitry Andric  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric  * See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric  *
70b57cec5SDimitry Andric  *===-----------------------------------------------------------------------===
80b57cec5SDimitry Andric  */
90b57cec5SDimitry Andric 
100b57cec5SDimitry Andric #ifndef __X86INTRIN_H
110b57cec5SDimitry Andric #define __X86INTRIN_H
120b57cec5SDimitry Andric 
130b57cec5SDimitry Andric #include <ia32intrin.h>
140b57cec5SDimitry Andric 
150b57cec5SDimitry Andric #include <immintrin.h>
160b57cec5SDimitry Andric 
17*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
18*5ffd83dbSDimitry Andric     defined(__3dNOW__)
190b57cec5SDimitry Andric #include <mm3dnow.h>
200b57cec5SDimitry Andric #endif
210b57cec5SDimitry Andric 
22*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
23*5ffd83dbSDimitry Andric     defined(__PRFCHW__)
240b57cec5SDimitry Andric #include <prfchwintrin.h>
250b57cec5SDimitry Andric #endif
260b57cec5SDimitry Andric 
27*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
28*5ffd83dbSDimitry Andric     defined(__SSE4A__)
290b57cec5SDimitry Andric #include <ammintrin.h>
300b57cec5SDimitry Andric #endif
310b57cec5SDimitry Andric 
32*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
33*5ffd83dbSDimitry Andric     defined(__FMA4__)
340b57cec5SDimitry Andric #include <fma4intrin.h>
350b57cec5SDimitry Andric #endif
360b57cec5SDimitry Andric 
37*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
38*5ffd83dbSDimitry Andric     defined(__XOP__)
390b57cec5SDimitry Andric #include <xopintrin.h>
400b57cec5SDimitry Andric #endif
410b57cec5SDimitry Andric 
42*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
43*5ffd83dbSDimitry Andric     defined(__TBM__)
440b57cec5SDimitry Andric #include <tbmintrin.h>
450b57cec5SDimitry Andric #endif
460b57cec5SDimitry Andric 
47*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
48*5ffd83dbSDimitry Andric     defined(__LWP__)
490b57cec5SDimitry Andric #include <lwpintrin.h>
500b57cec5SDimitry Andric #endif
510b57cec5SDimitry Andric 
52*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
53*5ffd83dbSDimitry Andric     defined(__MWAITX__)
540b57cec5SDimitry Andric #include <mwaitxintrin.h>
550b57cec5SDimitry Andric #endif
560b57cec5SDimitry Andric 
57*5ffd83dbSDimitry Andric #if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) ||      \
58*5ffd83dbSDimitry Andric     defined(__CLZERO__)
590b57cec5SDimitry Andric #include <clzerointrin.h>
600b57cec5SDimitry Andric #endif
610b57cec5SDimitry Andric 
620b57cec5SDimitry Andric 
630b57cec5SDimitry Andric #endif /* __X86INTRIN_H */
64