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