diff options
author | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-02-02 04:20:49 +0000 |
---|---|---|
committer | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-02-02 04:20:49 +0000 |
commit | af54171f2adefca91679f4e466d6adc72058eab9 (patch) | |
tree | 11eeb63fb24f2095eec62701107ab7a8649984ab | |
parent | 5d48c8226915be9193734ff0a4b9876898afd908 (diff) |
Support new Intel processor model numbers
Backported from mainline
gcc/
* config/i386/driver-i386.c (host_detect_local_cpu): Check new
Silvermont, Haswell, Broadwell and Knights Landing model numbers.
* config/i386/i386.c (processor_model): Add
M_INTEL_COREI7_BROADWELL.
(arch_names_table): Add "broadwell".
gcc/testsuite/
* gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add
Silvermont, Ivy Bridge, Haswell and Broadwell tests. Update Sandy
Bridge test.
libgcc/
* config/i386/cpuinfo.c (processor_subtypes): Add
INTEL_COREI7_BROADWELL.
(get_intel_cpu): Support new Silvermont, Haswell and Broadwell
model numbers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@220343 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/config/i386/driver-i386.c | 14 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/builtin_target.c | 30 | ||||
-rw-r--r-- | libgcc/ChangeLog | 10 | ||||
-rw-r--r-- | libgcc/config/i386/cpuinfo.c | 12 |
7 files changed, 89 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 76660050f65..6243963f496 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2015-02-01 H.J. Lu <hongjiu.lu@intel.com> + + Backported from mainline + 2015-01-24 H.J. Lu <hongjiu.lu@intel.com> + + * config/i386/driver-i386.c (host_detect_local_cpu): Check new + Silvermont, Haswell, Broadwell and Knights Landing model numbers. + * config/i386/i386.c (processor_model): Add + M_INTEL_COREI7_BROADWELL. + (arch_names_table): Add "broadwell". + 2015-02-01 Jakub Jelinek <jakub@redhat.com> Backported from mainline diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c index 722c5469255..992f91f8a57 100644 --- a/gcc/config/i386/driver-i386.c +++ b/gcc/config/i386/driver-i386.c @@ -670,7 +670,10 @@ const char *host_detect_local_cpu (int argc, const char **argv) cpu = "bonnell"; break; case 0x37: + case 0x4a: case 0x4d: + case 0x5a: + case 0x5d: /* Silvermont. */ cpu = "silvermont"; break; @@ -705,11 +708,22 @@ const char *host_detect_local_cpu (int argc, const char **argv) cpu = "ivybridge"; break; case 0x3c: + case 0x3f: case 0x45: case 0x46: /* Haswell. */ cpu = "haswell"; break; + case 0x3d: + case 0x4f: + case 0x56: + /* Broadwell. */ + cpu = "broadwell"; + break; + case 0x57: + /* Knights Landing. */ + cpu = "knl"; + break; default: if (arch) { diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index ff2a4491990..2c7c965fbd2 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -32367,7 +32367,8 @@ fold_builtin_cpu (tree fndecl, tree *args) M_AMDFAM15H_BDVER3, M_AMDFAM15H_BDVER4, M_INTEL_COREI7_IVYBRIDGE, - M_INTEL_COREI7_HASWELL + M_INTEL_COREI7_HASWELL, + M_INTEL_COREI7_BROADWELL }; static struct _arch_names_table @@ -32388,6 +32389,7 @@ fold_builtin_cpu (tree fndecl, tree *args) {"sandybridge", M_INTEL_COREI7_SANDYBRIDGE}, {"ivybridge", M_INTEL_COREI7_IVYBRIDGE}, {"haswell", M_INTEL_COREI7_HASWELL}, + {"broadwell", M_INTEL_COREI7_BROADWELL}, {"bonnell", M_INTEL_BONNELL}, {"silvermont", M_INTEL_SILVERMONT}, {"amdfam10h", M_AMDFAM10H}, diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b5dab480b1f..6a61b2efac2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2015-02-01 H.J. Lu <hongjiu.lu@intel.com> + + Backported from mainline + 2015-01-24 H.J. Lu <hongjiu.lu@intel.com> + + * gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add + Silvermont, Ivy Bridge, Haswell and Broadwell tests. Update Sandy + Bridge test. + 2015-02-01 Jakub Jelinek <jakub@redhat.com> Backported from mainline diff --git a/gcc/testsuite/gcc.target/i386/builtin_target.c b/gcc/testsuite/gcc.target/i386/builtin_target.c index c40983e6b3c..af733380cee 100644 --- a/gcc/testsuite/gcc.target/i386/builtin_target.c +++ b/gcc/testsuite/gcc.target/i386/builtin_target.c @@ -30,6 +30,14 @@ check_intel_cpu_model (unsigned int family, unsigned int model, /* Atom. */ assert (__builtin_cpu_is ("atom")); break; + case 0x37: + case 0x4a: + case 0x4d: + case 0x5a: + case 0x5d: + /* Silvermont. */ + assert (__builtin_cpu_is ("silvermont")); + break; case 0x1a: case 0x1e: case 0x1f: @@ -46,10 +54,32 @@ check_intel_cpu_model (unsigned int family, unsigned int model, assert (__builtin_cpu_is ("westmere")); break; case 0x2a: + case 0x2d: /* Sandy Bridge. */ assert (__builtin_cpu_is ("corei7")); assert (__builtin_cpu_is ("sandybridge")); break; + case 0x3a: + case 0x3e: + /* Ivy Bridge. */ + assert (__builtin_cpu_is ("corei7")); + assert (__builtin_cpu_is ("ivybridge")); + break; + case 0x3c: + case 0x3f: + case 0x45: + case 0x46: + /* Haswell. */ + assert (__builtin_cpu_is ("corei7")); + assert (__builtin_cpu_is ("haswell")); + break; + case 0x3d: + case 0x4f: + case 0x56: + /* Broadwell. */ + assert (__builtin_cpu_is ("corei7")); + assert (__builtin_cpu_is ("broadwell")); + break; case 0x17: case 0x1d: /* Penryn. */ diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 31af58e49e9..1a02eb4322e 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,13 @@ +2015-02-01 H.J. Lu <hongjiu.lu@intel.com> + + Backported from mainline + 2015-01-24 H.J. Lu <hongjiu.lu@intel.com> + + * config/i386/cpuinfo.c (processor_subtypes): Add + INTEL_COREI7_BROADWELL. + (get_intel_cpu): Support new Silvermont, Haswell and Broadwell + model numbers. + 2015-01-31 John David Anglin <danglin@gcc.gnu.org> * config/pa/linux-atomic.c (__kernel_cmpxchg2): Change declaration of diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index 6ff7502bb9a..7972cedaa11 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -75,6 +75,7 @@ enum processor_subtypes AMDFAM15H_BDVER4, INTEL_COREI7_IVYBRIDGE, INTEL_COREI7_HASWELL, + INTEL_COREI7_BROADWELL, CPU_SUBTYPE_MAX }; @@ -184,7 +185,10 @@ get_intel_cpu (unsigned int family, unsigned int model, unsigned int brand_id) __cpu_model.__cpu_type = INTEL_BONNELL; break; case 0x37: + case 0x4a: case 0x4d: + case 0x5a: + case 0x5d: /* Silvermont. */ __cpu_model.__cpu_type = INTEL_SILVERMONT; break; @@ -216,12 +220,20 @@ get_intel_cpu (unsigned int family, unsigned int model, unsigned int brand_id) __cpu_model.__cpu_subtype = INTEL_COREI7_IVYBRIDGE; break; case 0x3c: + case 0x3f: case 0x45: case 0x46: /* Haswell. */ __cpu_model.__cpu_type = INTEL_COREI7; __cpu_model.__cpu_subtype = INTEL_COREI7_HASWELL; break; + case 0x3d: + case 0x4f: + case 0x56: + /* Broadwell. */ + __cpu_model.__cpu_type = INTEL_COREI7; + __cpu_model.__cpu_subtype = INTEL_COREI7_BROADWELL; + break; case 0x17: case 0x1d: /* Penryn. */ |