aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTocar Ilya <ilya.tocar@intel.com>2013-12-20 09:11:48 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2013-12-20 09:11:48 +0000
commit19ac6899d5a715480771e036e48a1aff9dfa00d6 (patch)
tree4a6728ebdd42bcc53cc6735004ecbc450cab903e /gcc
parentac0ff9f273ff5d1e11a6ccd79b27f33d592eebd3 (diff)
downloadgcc-19ac6899d5a715480771e036e48a1aff9dfa00d6.zip
gcc-19ac6899d5a715480771e036e48a1aff9dfa00d6.tar.gz
gcc-19ac6899d5a715480771e036e48a1aff9dfa00d6.tar.bz2
config.gcc: Support march=broadwell.
* config.gcc: Support march=broadwell. * config/i386/driver-i386.c (host_detect_local_cpu): Detect Broadwell. * config/i386/i386.c (ix86_option_override_internal): Add broadwell. * doc/invoke.texi: Document march=broadwell. From-SVN: r206144
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config.gcc2
-rw-r--r--gcc/config/i386/driver-i386.c4
-rw-r--r--gcc/config/i386/i386.c7
-rw-r--r--gcc/doc/invoke.texi5
5 files changed, 23 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ccffe8e..5636956 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2013-12-20 Tocar Ilya <ilya.tocar@intel.com>
+
+ * config.gcc: Support march=broadwell.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect Broadwell.
+ * config/i386/i386.c (ix86_option_override_internal): Add broadwell.
+ * doc/invoke.texi: Document march=broadwell.
+
2013-12-20 Jakub Jelinek <jakub@redhat.com>
* ubsan.c: Include tree-ssanames.h, asan.h and gimplify-me.h.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index fbfc121..24dbaf9 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -3676,7 +3676,7 @@ case "${target}" in
| opteron-sse3 | athlon-fx | bdver4 | bdver3 | bdver2 \
| bdver1 | btver2 | btver1 | amdfam10 | barcelona \
| nocona | core2 | corei7 | corei7-avx | core-avx-i \
- | core-avx2 | atom | slm)
+ | core-avx2 | broadwell | atom | slm)
# OK
;;
*)
diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
index 0b8af3f..26ae601 100644
--- a/gcc/config/i386/driver-i386.c
+++ b/gcc/config/i386/driver-i386.c
@@ -689,7 +689,9 @@ const char *host_detect_local_cpu (int argc, const char **argv)
if (arch)
{
/* This is unknown family 0x6 CPU. */
- if (has_avx2)
+ if (has_adx)
+ cpu = "broadwell";
+ else if (has_avx2)
/* Assume Haswell. */
cpu = "core-avx2";
else if (has_avx)
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f82d1a4..1710e8c 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -3131,6 +3131,13 @@ ix86_option_override_internal (bool main_args_p,
| PTA_RDRND | PTA_F16C | PTA_BMI | PTA_BMI2 | PTA_LZCNT
| PTA_FMA | PTA_MOVBE | PTA_RTM | PTA_HLE | PTA_FXSR | PTA_XSAVE
| PTA_XSAVEOPT},
+ {"broadwell", PROCESSOR_HASWELL, CPU_COREI7,
+ PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
+ | PTA_SSSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AVX | PTA_AVX2
+ | PTA_CX16 | PTA_POPCNT | PTA_AES | PTA_PCLMUL | PTA_FSGSBASE
+ | PTA_RDRND | PTA_F16C | PTA_BMI | PTA_BMI2 | PTA_LZCNT
+ | PTA_FMA | PTA_MOVBE | PTA_RTM | PTA_HLE | PTA_FXSR | PTA_XSAVE
+ | PTA_XSAVEOPT | PTA_ADX | PTA_PRFCHW | PTA_RDSEED},
{"atom", PROCESSOR_ATOM, CPU_ATOM,
PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3
| PTA_SSSE3 | PTA_CX16 | PTA_MOVBE | PTA_FXSR},
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index e65a28c..63bd23b 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -14666,6 +14666,11 @@ Intel Core CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3,
SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA,
BMI, BMI2 and F16C instruction set support.
+@item broadwell
+Intel Broadwell CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3, SSSE3,
+SSE4.1, SSE4.2, POPCNT, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA,
+BMI, BMI2, F16C, RDSEED, ADCX, PREFETCHW instruction set support.
+
@item atom
Intel Atom CPU with 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3 and SSSE3
instruction set support.