16bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker/*===---- x86intrin.h - X86 intrinsics -------------------------------------=== 26bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * 36bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * Permission is hereby granted, free of charge, to any person obtaining a copy 46bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * of this software and associated documentation files (the "Software"), to deal 56bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * in the Software without restriction, including without limitation the rights 66bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 76bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * copies of the Software, and to permit persons to whom the Software is 86bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * furnished to do so, subject to the following conditions: 96bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * 106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * The above copyright notice and this permission notice shall be included in 116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * all copies or substantial portions of the Software. 126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * 136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * THE SOFTWARE. 206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * 216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker *===-----------------------------------------------------------------------=== 226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker */ 236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#ifndef __X86INTRIN_H 256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define __X86INTRIN_H 266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <ia32intrin.h> 286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <immintrin.h> 306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__3dNOW__) 326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <mm3dnow.h> 336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__BMI__) 366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <bmiintrin.h> 376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__BMI2__) 406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <bmi2intrin.h> 416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__LZCNT__) 446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <lzcntintrin.h> 456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__POPCNT__) 486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <popcntintrin.h> 496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__RDSEED__) 526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <rdseedintrin.h> 536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__PRFCHW__) 566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <prfchwintrin.h> 576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__SSE4A__) 606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <ammintrin.h> 616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__FMA4__) 646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <fma4intrin.h> 656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__XOP__) 686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <xopintrin.h> 696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__TBM__) 726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <tbmintrin.h> 736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__F16C__) 766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <f16cintrin.h> 776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#if !defined(_MSC_VER) || __has_feature(modules) || defined(__MWAITX__) 806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <mwaitxintrin.h> 816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker/* FIXME: LWP */ 846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif /* __X86INTRIN_H */ 86