aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2019-01-21 12:23:49 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2019-01-21 04:23:49 -0800
commit6c0d746f66cd349be052ca207e2397570f8aa314 (patch)
tree15c9073bdfd8351eb658ccab1ea1fe509d0cbadd /gcc
parent8f10fb5065db28760123a21cc8645cf4865d3ff8 (diff)
downloadgcc-6c0d746f66cd349be052ca207e2397570f8aa314.zip
gcc-6c0d746f66cd349be052ca207e2397570f8aa314.tar.gz
gcc-6c0d746f66cd349be052ca207e2397570f8aa314.tar.bz2
i386: Move Intel intrinsics head files to <immintrin.h>
According to Intel Intrinsics Guide: https://software.intel.com/sites/landingpage/IntrinsicsGuide/ Intel intrinsics should be available by including <immintrin.h>. This patch moves remaining Intel intrinsics head files from <x86intrin.h> to <immintrin.h>. PR target/71659 * config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED. * config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED instead of _X86INTRIN_H_INCLUDED. * onfig/i386/clwbintrin.h: Likewise. * config/i386/pkuintrin.h: Likewise. * config/i386/prfchwintrin.h: Likewise. * config/i386/rdseedintrin.h: Likewise. * config/i386/wbnoinvdintrin.h: Likewise. * config/i386/xsavecintrin.h: Likewise. * config/i386/xsavesintrin.h: Likewise. * config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check. * config/i386/xsaveintrin.h: Likewise. * config/i386/xsaveoptintrin.h: Likewise. * config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>, <prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>, <xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>, <clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>, <wbnoinvdintrin.h> and <pkuintrin.h> to ... * config/i386/immintrin.h: Here. From-SVN: r268113
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog23
-rw-r--r--gcc/config/i386/adxintrin.h4
-rw-r--r--gcc/config/i386/clflushoptintrin.h4
-rw-r--r--gcc/config/i386/clwbintrin.h4
-rw-r--r--gcc/config/i386/fxsrintrin.h6
-rw-r--r--gcc/config/i386/immintrin.h24
-rw-r--r--gcc/config/i386/pkuintrin.h4
-rw-r--r--gcc/config/i386/prfchwintrin.h4
-rw-r--r--gcc/config/i386/rdseedintrin.h4
-rw-r--r--gcc/config/i386/wbnoinvdintrin.h4
-rw-r--r--gcc/config/i386/x86intrin.h28
-rw-r--r--gcc/config/i386/xsavecintrin.h4
-rw-r--r--gcc/config/i386/xsaveintrin.h6
-rw-r--r--gcc/config/i386/xsaveoptintrin.h6
-rw-r--r--gcc/config/i386/xsavesintrin.h4
15 files changed, 74 insertions, 55 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6ce35e0..6fbfef4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,26 @@
+2019-01-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/71659
+ * config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED.
+ * config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED
+ instead of _X86INTRIN_H_INCLUDED.
+ * onfig/i386/clwbintrin.h: Likewise.
+ * config/i386/pkuintrin.h: Likewise.
+ * config/i386/prfchwintrin.h: Likewise.
+ * config/i386/rdseedintrin.h: Likewise.
+ * config/i386/wbnoinvdintrin.h: Likewise.
+ * config/i386/xsavecintrin.h: Likewise.
+ * config/i386/xsavesintrin.h: Likewise.
+ * config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check.
+ * config/i386/xsaveintrin.h: Likewise.
+ * config/i386/xsaveoptintrin.h: Likewise.
+ * config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>,
+ <prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>,
+ <xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>,
+ <clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>,
+ <wbnoinvdintrin.h> and <pkuintrin.h> to ...
+ * config/i386/immintrin.h: Here.
+
2019-01-20 Martin Jambor <mjambor@suse.cz>
PR ipa/87615
diff --git a/gcc/config/i386/adxintrin.h b/gcc/config/i386/adxintrin.h
index e01b77d..e8cb004 100644
--- a/gcc/config/i386/adxintrin.h
+++ b/gcc/config/i386/adxintrin.h
@@ -21,8 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
-# error "Never use <adxintrin.h> directly; include <x86intrin.h> instead."
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <adxintrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _ADXINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/clflushoptintrin.h b/gcc/config/i386/clflushoptintrin.h
index 1e720c2..89aa0f6 100644
--- a/gcc/config/i386/clflushoptintrin.h
+++ b/gcc/config/i386/clflushoptintrin.h
@@ -21,8 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <clflushoptintrin.h> directly; include <x86intrin.h> instead."
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <clflushoptintrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _CLFLUSHOPTINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/clwbintrin.h b/gcc/config/i386/clwbintrin.h
index 217fb3b..68b20ea 100644
--- a/gcc/config/i386/clwbintrin.h
+++ b/gcc/config/i386/clwbintrin.h
@@ -21,8 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <clwbintrin.h> directly; include <x86intrin.h> instead."
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <clwbintrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _CLWBINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/fxsrintrin.h b/gcc/config/i386/fxsrintrin.h
index ff6c6f8..c4b12cf 100644
--- a/gcc/config/i386/fxsrintrin.h
+++ b/gcc/config/i386/fxsrintrin.h
@@ -21,9 +21,9 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-/* #if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED */
-/* # error "Never use <fxsrintrin.h> directly; include <x86intrin.h> instead." */
-/* #endif */
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <fxsrintrin.h> directly; include <immintrin.h> instead."
+#endif
#ifndef _FXSRINTRIN_H_INCLUDED
#define _FXSRINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/immintrin.h b/gcc/config/i386/immintrin.h
index 6ce0001..10e1f27 100644
--- a/gcc/config/i386/immintrin.h
+++ b/gcc/config/i386/immintrin.h
@@ -38,6 +38,16 @@
#include <wmmintrin.h>
+#include <fxsrintrin.h>
+
+#include <xsaveintrin.h>
+
+#include <xsaveoptintrin.h>
+
+#include <xsavesintrin.h>
+
+#include <xsavecintrin.h>
+
#include <avxintrin.h>
#include <avx2intrin.h>
@@ -120,6 +130,20 @@
#include <cldemoteintrin.h>
+#include <rdseedintrin.h>
+
+#include <prfchwintrin.h>
+
+#include <adxintrin.h>
+
+#include <clwbintrin.h>
+
+#include <clflushoptintrin.h>
+
+#include <wbnoinvdintrin.h>
+
+#include <pkuintrin.h>
+
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_wbinvd (void)
diff --git a/gcc/config/i386/pkuintrin.h b/gcc/config/i386/pkuintrin.h
index 727bec5..be46522 100644
--- a/gcc/config/i386/pkuintrin.h
+++ b/gcc/config/i386/pkuintrin.h
@@ -21,8 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <pkuintrin.h> directly; include <x86intrin.h> instead."
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <pkuintrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _PKUINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/prfchwintrin.h b/gcc/config/i386/prfchwintrin.h
index dab4639..3ecf908 100644
--- a/gcc/config/i386/prfchwintrin.h
+++ b/gcc/config/i386/prfchwintrin.h
@@ -21,8 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _X86INTRIN_H_INCLUDED && !defined _MM3DNOW_H_INCLUDED
-# error "Never use <prfchwintrin.h> directly; include <x86intrin.h> or <mm3dnow.h> instead."
+#if !defined _IMMINTRIN_H_INCLUDED && !defined _MM3DNOW_H_INCLUDED
+# error "Never use <prfchwintrin.h> directly; include <immintrin.h> or <mm3dnow.h> instead."
#endif
#ifndef _PRFCHWINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/rdseedintrin.h b/gcc/config/i386/rdseedintrin.h
index 56c7ec8..73c0763 100644
--- a/gcc/config/i386/rdseedintrin.h
+++ b/gcc/config/i386/rdseedintrin.h
@@ -21,8 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <rdseedintrin.h> directly; include <x86intrin.h> instead."
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <rdseedintrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _RDSEEDINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/wbnoinvdintrin.h b/gcc/config/i386/wbnoinvdintrin.h
index 9312a00..5393698 100644
--- a/gcc/config/i386/wbnoinvdintrin.h
+++ b/gcc/config/i386/wbnoinvdintrin.h
@@ -1,5 +1,5 @@
-#ifndef _X86INTRIN_H_INCLUDED
-#error "Never use <wbnoinvdintrin.h> directly; include <x86intrin.h> instead."
+#ifndef _IMMINTRIN_H_INCLUDED
+#error "Never use <wbnoinvdintrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _WBNOINVDINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/x86intrin.h b/gcc/config/i386/x86intrin.h
index 0eb8d88..6a08806 100644
--- a/gcc/config/i386/x86intrin.h
+++ b/gcc/config/i386/x86intrin.h
@@ -43,38 +43,10 @@
#include <popcntintrin.h>
-#include <rdseedintrin.h>
-
-#include <prfchwintrin.h>
-
-#include <fxsrintrin.h>
-
-#include <xsaveintrin.h>
-
-#include <xsaveoptintrin.h>
-
-#endif /* __iamcu__ */
-
-#include <adxintrin.h>
-
-#ifndef __iamcu__
-
-#include <clwbintrin.h>
-
-#include <clflushoptintrin.h>
-
-#include <xsavesintrin.h>
-
-#include <xsavecintrin.h>
-
#include <mwaitxintrin.h>
#include <clzerointrin.h>
-#include <wbnoinvdintrin.h>
-
-#include <pkuintrin.h>
-
#endif /* __iamcu__ */
#endif /* _X86INTRIN_H_INCLUDED */
diff --git a/gcc/config/i386/xsavecintrin.h b/gcc/config/i386/xsavecintrin.h
index c61f2d6..d7aa435 100644
--- a/gcc/config/i386/xsavecintrin.h
+++ b/gcc/config/i386/xsavecintrin.h
@@ -21,8 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <xsavecintrin.h> directly; include <x86intrin.h> instead."
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <xsavecintrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _XSAVECINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/xsaveintrin.h b/gcc/config/i386/xsaveintrin.h
index 3ab1c10..77f9667 100644
--- a/gcc/config/i386/xsaveintrin.h
+++ b/gcc/config/i386/xsaveintrin.h
@@ -21,9 +21,9 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-/* #if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED */
-/* # error "Never use <xsaveintrin.h> directly; include <x86intrin.h> instead." */
-/* #endif */
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <xsaveintrin.h> directly; include <immintrin.h> instead."
+#endif
#ifndef _XSAVEINTRIN_H_INCLUDED
#define _XSAVEINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/xsaveoptintrin.h b/gcc/config/i386/xsaveoptintrin.h
index ae62107..2a0bf0b 100644
--- a/gcc/config/i386/xsaveoptintrin.h
+++ b/gcc/config/i386/xsaveoptintrin.h
@@ -21,9 +21,9 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-/* #if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED */
-/* # error "Never use <xsaveoptintrin.h> directly; include <x86intrin.h> instead." */
-/* #endif */
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <xsaveoptintrin.h> directly; include <immintrin.h> instead."
+#endif
#ifndef _XSAVEOPTINTRIN_H_INCLUDED
#define _XSAVEOPTINTRIN_H_INCLUDED
diff --git a/gcc/config/i386/xsavesintrin.h b/gcc/config/i386/xsavesintrin.h
index 1abc0b3..9d9d035 100644
--- a/gcc/config/i386/xsavesintrin.h
+++ b/gcc/config/i386/xsavesintrin.h
@@ -21,8 +21,8 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <xsavesintrin.h> directly; include <x86intrin.h> instead."
+#if !defined _IMMINTRIN_H_INCLUDED
+# error "Never use <xsavesintrin.h> directly; include <immintrin.h> instead."
#endif
#ifndef _XSAVESINTRIN_H_INCLUDED