aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2011-08-26 15:45:32 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2011-08-26 08:45:32 -0700
commitf13677ba9982a07d1892ebff6a77666f6eca0ab6 (patch)
tree99754f6b75171223f80103195579d3fcd6c2ba73
parenta26479f3cc14dd297f2230fd5584829afb4596e1 (diff)
downloadgcc-f13677ba9982a07d1892ebff6a77666f6eca0ab6.zip
gcc-f13677ba9982a07d1892ebff6a77666f6eca0ab6.tar.gz
gcc-f13677ba9982a07d1892ebff6a77666f6eca0ab6.tar.bz2
Add <lzcntintrin.h>, <bmiintrin.h> and <bmi2intrin.h> to <immintrin.h>.
2011-08-26 H.J. Lu <hongjiu.lu@intel.com> * config/i386/bmi2intrin.h: Allow in <immintrin.h>. * config/i386/bmiintrin.h: Likewise. * config/i386/lzcntintrin.h: Likewise. * config/i386/immintrin.h: Include <lzcntintrin.h>, <bmiintrin.h> and <bmi2intrin.h>. From-SVN: r178117
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/i386/bmi2intrin.h4
-rw-r--r--gcc/config/i386/bmiintrin.h2
-rw-r--r--gcc/config/i386/immintrin.h12
-rw-r--r--gcc/config/i386/lzcntintrin.h2
5 files changed, 25 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0e7597c..3cbab3e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2011-08-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/bmi2intrin.h: Allow in <immintrin.h>.
+ * config/i386/bmiintrin.h: Likewise.
+ * config/i386/lzcntintrin.h: Likewise.
+
+ * config/i386/immintrin.h: Include <lzcntintrin.h>,
+ <bmiintrin.h> and <bmi2intrin.h>.
+
2011-08-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/50166
diff --git a/gcc/config/i386/bmi2intrin.h b/gcc/config/i386/bmi2intrin.h
index f3ffa52..a72c9a9 100644
--- a/gcc/config/i386/bmi2intrin.h
+++ b/gcc/config/i386/bmi2intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011 Free Software Foundation, Inc.
This file is part of GCC.
@@ -21,7 +21,7 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _X86INTRIN_H_INCLUDED
+#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
# error "Never use <bmi2intrin.h> directly; include <x86intrin.h> instead."
#endif
diff --git a/gcc/config/i386/bmiintrin.h b/gcc/config/i386/bmiintrin.h
index 1699c61..af5d9dc 100644
--- a/gcc/config/i386/bmiintrin.h
+++ b/gcc/config/i386/bmiintrin.h
@@ -21,7 +21,7 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _X86INTRIN_H_INCLUDED
+#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
# error "Never use <bmiintrin.h> directly; include <x86intrin.h> instead."
#endif
diff --git a/gcc/config/i386/immintrin.h b/gcc/config/i386/immintrin.h
index 3704df7..d2e715f 100644
--- a/gcc/config/i386/immintrin.h
+++ b/gcc/config/i386/immintrin.h
@@ -60,6 +60,18 @@
#include <avx2intrin.h>
#endif
+#ifdef __LZCNT__
+#include <lzcntintrin.h>
+#endif
+
+#ifdef __BMI__
+#include <bmiintrin.h>
+#endif
+
+#ifdef __BMI2__
+#include <bmi2intrin.h>
+#endif
+
#ifdef __RDRND__
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
diff --git a/gcc/config/i386/lzcntintrin.h b/gcc/config/i386/lzcntintrin.h
index 8df01d2..31db7dc 100644
--- a/gcc/config/i386/lzcntintrin.h
+++ b/gcc/config/i386/lzcntintrin.h
@@ -21,7 +21,7 @@
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _X86INTRIN_H_INCLUDED
+#if !defined _X86INTRIN_H_INCLUDED && !defined _IMMINTRIN_H_INCLUDED
# error "Never use <lzcntintrin.h> directly; include <x86intrin.h> instead."
#endif