1*67e74705SXin Li /*===---- x86intrin.h - X86 intrinsics -------------------------------------=== 2*67e74705SXin Li * 3*67e74705SXin Li * Permission is hereby granted, free of charge, to any person obtaining a copy 4*67e74705SXin Li * of this software and associated documentation files (the "Software"), to deal 5*67e74705SXin Li * in the Software without restriction, including without limitation the rights 6*67e74705SXin Li * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7*67e74705SXin Li * copies of the Software, and to permit persons to whom the Software is 8*67e74705SXin Li * furnished to do so, subject to the following conditions: 9*67e74705SXin Li * 10*67e74705SXin Li * The above copyright notice and this permission notice shall be included in 11*67e74705SXin Li * all copies or substantial portions of the Software. 12*67e74705SXin Li * 13*67e74705SXin Li * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14*67e74705SXin Li * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15*67e74705SXin Li * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16*67e74705SXin Li * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17*67e74705SXin Li * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18*67e74705SXin Li * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19*67e74705SXin Li * THE SOFTWARE. 20*67e74705SXin Li * 21*67e74705SXin Li *===-----------------------------------------------------------------------=== 22*67e74705SXin Li */ 23*67e74705SXin Li 24*67e74705SXin Li #ifndef __X86INTRIN_H 25*67e74705SXin Li #define __X86INTRIN_H 26*67e74705SXin Li 27*67e74705SXin Li #include <ia32intrin.h> 28*67e74705SXin Li 29*67e74705SXin Li #include <immintrin.h> 30*67e74705SXin Li 31*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__3dNOW__) 32*67e74705SXin Li #include <mm3dnow.h> 33*67e74705SXin Li #endif 34*67e74705SXin Li 35*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__BMI__) 36*67e74705SXin Li #include <bmiintrin.h> 37*67e74705SXin Li #endif 38*67e74705SXin Li 39*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__BMI2__) 40*67e74705SXin Li #include <bmi2intrin.h> 41*67e74705SXin Li #endif 42*67e74705SXin Li 43*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__LZCNT__) 44*67e74705SXin Li #include <lzcntintrin.h> 45*67e74705SXin Li #endif 46*67e74705SXin Li 47*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__POPCNT__) 48*67e74705SXin Li #include <popcntintrin.h> 49*67e74705SXin Li #endif 50*67e74705SXin Li 51*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__RDSEED__) 52*67e74705SXin Li #include <rdseedintrin.h> 53*67e74705SXin Li #endif 54*67e74705SXin Li 55*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__PRFCHW__) 56*67e74705SXin Li #include <prfchwintrin.h> 57*67e74705SXin Li #endif 58*67e74705SXin Li 59*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__SSE4A__) 60*67e74705SXin Li #include <ammintrin.h> 61*67e74705SXin Li #endif 62*67e74705SXin Li 63*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__FMA4__) 64*67e74705SXin Li #include <fma4intrin.h> 65*67e74705SXin Li #endif 66*67e74705SXin Li 67*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__XOP__) 68*67e74705SXin Li #include <xopintrin.h> 69*67e74705SXin Li #endif 70*67e74705SXin Li 71*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__TBM__) 72*67e74705SXin Li #include <tbmintrin.h> 73*67e74705SXin Li #endif 74*67e74705SXin Li 75*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__F16C__) 76*67e74705SXin Li #include <f16cintrin.h> 77*67e74705SXin Li #endif 78*67e74705SXin Li 79*67e74705SXin Li #if !defined(_MSC_VER) || __has_feature(modules) || defined(__MWAITX__) 80*67e74705SXin Li #include <mwaitxintrin.h> 81*67e74705SXin Li #endif 82*67e74705SXin Li 83*67e74705SXin Li /* FIXME: LWP */ 84*67e74705SXin Li 85*67e74705SXin Li #endif /* __X86INTRIN_H */ 86