blob: 728c58c3ebbce0e4f0290c9ee9e79c7c7dc27209 [file] [log] [blame]
Nick Lewycky0b849142010-08-22 20:38:05 +00001/*===---- 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
Alexey Bataev7cab0072014-03-04 03:03:03 +000027#include <ia32intrin.h>
28
Nick Lewycky0b849142010-08-22 20:38:05 +000029#include <immintrin.h>
30
Nico Weber379a1952016-05-16 18:14:07 +000031#if !defined(_MSC_VER) || __has_feature(modules) || defined(__3dNOW__)
Chandler Carrutha2a54102012-02-20 07:35:45 +000032#include <mm3dnow.h>
Nico Weber379a1952016-05-16 18:14:07 +000033#endif
Chandler Carrutha2a54102012-02-20 07:35:45 +000034
Nico Weber379a1952016-05-16 18:14:07 +000035#if !defined(_MSC_VER) || __has_feature(modules) || defined(__PRFCHW__)
Michael Liao74f4eaf2013-03-26 17:52:08 +000036#include <prfchwintrin.h>
Nico Weber379a1952016-05-16 18:14:07 +000037#endif
Michael Liao74f4eaf2013-03-26 17:52:08 +000038
Nico Weber379a1952016-05-16 18:14:07 +000039#if !defined(_MSC_VER) || __has_feature(modules) || defined(__SSE4A__)
Benjamin Kramerba6e2522012-05-29 19:10:17 +000040#include <ammintrin.h>
Nico Weber379a1952016-05-16 18:14:07 +000041#endif
Benjamin Kramerba6e2522012-05-29 19:10:17 +000042
Nico Weber379a1952016-05-16 18:14:07 +000043#if !defined(_MSC_VER) || __has_feature(modules) || defined(__FMA4__)
Craig Topperb4ceb6f2011-12-30 09:15:03 +000044#include <fma4intrin.h>
Nico Weber379a1952016-05-16 18:14:07 +000045#endif
Craig Topperb4ceb6f2011-12-30 09:15:03 +000046
Nico Weber379a1952016-05-16 18:14:07 +000047#if !defined(_MSC_VER) || __has_feature(modules) || defined(__XOP__)
Craig Topper33b6d5e2012-06-10 00:39:38 +000048#include <xopintrin.h>
Nico Weber379a1952016-05-16 18:14:07 +000049#endif
Craig Topper33b6d5e2012-06-10 00:39:38 +000050
Nico Weber379a1952016-05-16 18:14:07 +000051#if !defined(_MSC_VER) || __has_feature(modules) || defined(__TBM__)
Yunzhong Gaof4e0b102013-09-30 17:25:14 +000052#include <tbmintrin.h>
Nico Weber379a1952016-05-16 18:14:07 +000053#endif
Yunzhong Gaof4e0b102013-09-30 17:25:14 +000054
Simon Pilgrim35113482017-05-08 12:09:45 +000055#if !defined(_MSC_VER) || __has_feature(modules) || defined(__LWP__)
56#include <lwpintrin.h>
57#endif
58
Ashutosh Nema51c9dd02016-05-18 11:56:23 +000059#if !defined(_MSC_VER) || __has_feature(modules) || defined(__MWAITX__)
60#include <mwaitxintrin.h>
61#endif
62
Craig Topper3e7d8df2018-05-23 21:04:26 +000063#if !defined(_MSC_VER) || __has_feature(modules) || defined(__CLZERO__)
64#include <clzerointrin.h>
65#endif
66
67
Nick Lewycky0b849142010-08-22 20:38:05 +000068#endif /* __X86INTRIN_H */