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