summaryrefslogtreecommitdiffstats
path: root/clang/lib/Headers/immintrin.h
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-05-23 18:32:58 +0000
committerCraig Topper <craig.topper@intel.com>2018-05-23 18:32:58 +0000
commit664af9bc345e1c34f03f6bf95931d98e0f8d87bd (patch)
tree86569a1cc2ec6393e191baaa0842a8fd9808b128 /clang/lib/Headers/immintrin.h
parent08c630457aaa0fcb677232c4f6b38e82c1d37ba4 (diff)
downloadbcm5719-llvm-664af9bc345e1c34f03f6bf95931d98e0f8d87bd.tar.gz
bcm5719-llvm-664af9bc345e1c34f03f6bf95931d98e0f8d87bd.zip
[X86] Move all Intel defined intrinsic includes into immintrin.h
This matches the Intel documentation which shows them available by importing immintrin.h. x86intrin.h also includes immintrin.h so anyone including x86intrin.h will still get them. This is different than gcc, but I don't think we were a perfect match there already. I'm unclear what gcc's policy is about how they choose which to add things to. Differential Revision: https://reviews.llvm.org/D47182 llvm-svn: 333110
Diffstat (limited to 'clang/lib/Headers/immintrin.h')
-rw-r--r--clang/lib/Headers/immintrin.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/clang/lib/Headers/immintrin.h b/clang/lib/Headers/immintrin.h
index e5127181bec..6d3407f7434 100644
--- a/clang/lib/Headers/immintrin.h
+++ b/clang/lib/Headers/immintrin.h
@@ -90,6 +90,10 @@
#include <lzcntintrin.h>
#endif
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__POPCNT__)
+#include <popcntintrin.h>
+#endif
+
#if !defined(_MSC_VER) || __has_feature(modules) || defined(__FMA__)
#include <fmaintrin.h>
#endif
@@ -339,4 +343,41 @@ _writegsbase_u64(unsigned long long __V)
* whereas others are also available at all times. */
#include <adxintrin.h>
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__RDSEED__)
+#include <rdseedintrin.h>
+#endif
+
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__CLZERO__)
+#include <clzerointrin.h>
+#endif
+
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__WBNOINVD__)
+#include <wbnoinvdintrin.h>
+#endif
+
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__CLDEMOTE__)
+#include <cldemoteintrin.h>
+#endif
+
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__WAITPKG__)
+#include <waitpkgintrin.h>
+#endif
+
+#if !defined(_MSC_VER) || __has_feature(modules) || \
+ defined(__MOVDIRI__) || defined(__MOVDIR64B__)
+#include <movdirintrin.h>
+#endif
+
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__PCONFIG__)
+#include <pconfigintrin.h>
+#endif
+
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__SGX__)
+#include <sgxintrin.h>
+#endif
+
+#if !defined(_MSC_VER) || __has_feature(modules) || defined(__PTWRITE__)
+#include <ptwriteintrin.h>
+#endif
+
#endif /* __IMMINTRIN_H */
OpenPOWER on IntegriCloud