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