Author: ctopper
Date: Wed May 23 11:32:58 2018
New Revision: 333110

URL: http://llvm.org/viewvc/llvm-project?rev=333110&view=rev
Log:
[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

Modified:
    cfe/trunk/lib/Headers/cldemoteintrin.h
    cfe/trunk/lib/Headers/clzerointrin.h
    cfe/trunk/lib/Headers/immintrin.h
    cfe/trunk/lib/Headers/movdirintrin.h
    cfe/trunk/lib/Headers/pconfigintrin.h
    cfe/trunk/lib/Headers/ptwriteintrin.h
    cfe/trunk/lib/Headers/rdseedintrin.h
    cfe/trunk/lib/Headers/sgxintrin.h
    cfe/trunk/lib/Headers/waitpkgintrin.h
    cfe/trunk/lib/Headers/wbnoinvdintrin.h
    cfe/trunk/lib/Headers/x86intrin.h

Modified: cfe/trunk/lib/Headers/cldemoteintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/cldemoteintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/cldemoteintrin.h (original)
+++ cfe/trunk/lib/Headers/cldemoteintrin.h Wed May 23 11:32:58 2018
@@ -21,7 +21,7 @@
  *===-----------------------------------------------------------------------===
  */
 
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <cldemoteintrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/clzerointrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/clzerointrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/clzerointrin.h (original)
+++ cfe/trunk/lib/Headers/clzerointrin.h Wed May 23 11:32:58 2018
@@ -20,7 +20,7 @@
  *
  *===-----------------------------------------------------------------------===
  */
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <clzerointrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/immintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/immintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/immintrin.h (original)
+++ cfe/trunk/lib/Headers/immintrin.h Wed May 23 11:32:58 2018
@@ -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 */

Modified: cfe/trunk/lib/Headers/movdirintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/movdirintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/movdirintrin.h (original)
+++ cfe/trunk/lib/Headers/movdirintrin.h Wed May 23 11:32:58 2018
@@ -20,7 +20,7 @@
  *
  *===-----------------------------------------------------------------------===
  */
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <movdirintrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/pconfigintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/pconfigintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/pconfigintrin.h (original)
+++ cfe/trunk/lib/Headers/pconfigintrin.h Wed May 23 11:32:58 2018
@@ -21,7 +21,7 @@
  *===-----------------------------------------------------------------------===
  */
 
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <pconfigintrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/ptwriteintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/ptwriteintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/ptwriteintrin.h (original)
+++ cfe/trunk/lib/Headers/ptwriteintrin.h Wed May 23 11:32:58 2018
@@ -21,7 +21,7 @@
  *===-----------------------------------------------------------------------===
  */
 
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <ptwriteintrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/rdseedintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/rdseedintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/rdseedintrin.h (original)
+++ cfe/trunk/lib/Headers/rdseedintrin.h Wed May 23 11:32:58 2018
@@ -21,7 +21,7 @@
  *===-----------------------------------------------------------------------===
  */
 
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <rdseedintrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/sgxintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/sgxintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/sgxintrin.h (original)
+++ cfe/trunk/lib/Headers/sgxintrin.h Wed May 23 11:32:58 2018
@@ -21,7 +21,7 @@
  *===-----------------------------------------------------------------------===
  */
 
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <sgxintrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/waitpkgintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/waitpkgintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/waitpkgintrin.h (original)
+++ cfe/trunk/lib/Headers/waitpkgintrin.h Wed May 23 11:32:58 2018
@@ -20,7 +20,7 @@
  *
  *===-----------------------------------------------------------------------===
  */
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <waitpkgintrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/wbnoinvdintrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/wbnoinvdintrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/wbnoinvdintrin.h (original)
+++ cfe/trunk/lib/Headers/wbnoinvdintrin.h Wed May 23 11:32:58 2018
@@ -21,7 +21,7 @@
  *===-----------------------------------------------------------------------===
  */
 
-#ifndef __X86INTRIN_H
+#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
 #error "Never use <wbnoinvdintrin.h> directly; include <x86intrin.h> instead."
 #endif
 

Modified: cfe/trunk/lib/Headers/x86intrin.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/x86intrin.h?rev=333110&r1=333109&r2=333110&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/x86intrin.h (original)
+++ cfe/trunk/lib/Headers/x86intrin.h Wed May 23 11:32:58 2018
@@ -32,26 +32,6 @@
 #include <mm3dnow.h>
 #endif
 
-#if !defined(_MSC_VER) || __has_feature(modules) || defined(__BMI__)
-#include <bmiintrin.h>
-#endif
-
-#if !defined(_MSC_VER) || __has_feature(modules) || defined(__BMI2__)
-#include <bmi2intrin.h>
-#endif
-
-#if !defined(_MSC_VER) || __has_feature(modules) || defined(__LZCNT__)
-#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(__RDSEED__)
-#include <rdseedintrin.h>
-#endif
-
 #if !defined(_MSC_VER) || __has_feature(modules) || defined(__PRFCHW__)
 #include <prfchwintrin.h>
 #endif
@@ -76,45 +56,8 @@
 #include <lwpintrin.h>
 #endif
 
-#if !defined(_MSC_VER) || __has_feature(modules) || defined(__F16C__)
-#include <f16cintrin.h>
-#endif
-
 #if !defined(_MSC_VER) || __has_feature(modules) || defined(__MWAITX__)
 #include <mwaitxintrin.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 /* __X86INTRIN_H */


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to