diff options
author | Haochen Jiang <haochen.jiang@intel.com> | 2024-11-11 10:48:16 +0800 |
---|---|---|
committer | Haochen Jiang <haochen.jiang@intel.com> | 2024-11-11 10:48:16 +0800 |
commit | 74ae651bd61a7128c77ca08328956564fd49a23b (patch) | |
tree | 5d19671792825ce365e8bcd8f4c6a78bb10ae284 /gcc/common | |
parent | c659e293d6fcf53466502dd5389b03e9a295c14d (diff) | |
download | gcc-74ae651bd61a7128c77ca08328956564fd49a23b.zip gcc-74ae651bd61a7128c77ca08328956564fd49a23b.tar.gz gcc-74ae651bd61a7128c77ca08328956564fd49a23b.tar.bz2 |
Initial Diamond Rapids Support
gcc/ChangeLog:
* common/config/i386/cpuinfo.h
(get_intel_cpu): Handle Diamond Rapids.
* common/config/i386/i386-common.cc (processor_name):
Add Diamond Rapids.
(processor_alias_table): Ditto.
* common/config/i386/i386-cpuinfo.h (enum processor_types):
Add INTEL_COREI7_DIAMONDRAPIDS.
* config.gcc: Add -march=diamondrapids.
* config/i386/driver-i386.cc (host_detect_local_cpu): Handle
diamondrapids.
* config/i386/i386-c.cc (ix86_target_macros_internal): Ditto.
* config/i386/i386-options.cc (processor_cost_table): Ditto.
(m_DIAMONDRAPIDS): New.
(m_CORE_AVX512): Add diamondrapids.
* config/i386/i386.h (enum processor_type): Ditto.
* doc/extend.texi: Ditto.
* doc/invoke.texi: Ditto.
gcc/testsuite/ChangeLog:
* g++.target/i386/mv16.C: Ditto.
* gcc.target/i386/funcspec-56.inc: Handle new march.
Diffstat (limited to 'gcc/common')
-rw-r--r-- | gcc/common/config/i386/cpuinfo.h | 16 | ||||
-rw-r--r-- | gcc/common/config/i386/i386-common.cc | 3 | ||||
-rw-r--r-- | gcc/common/config/i386/i386-cpuinfo.h | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/common/config/i386/cpuinfo.h b/gcc/common/config/i386/cpuinfo.h index f415fc9..310eba3 100644 --- a/gcc/common/config/i386/cpuinfo.h +++ b/gcc/common/config/i386/cpuinfo.h @@ -636,6 +636,22 @@ get_intel_cpu (struct __processor_model *cpu_model, default: break; } + /* Parse family and model for family 0x13. */ + else if (cpu_model2->__cpu_family == 0x13) + switch (cpu_model2->__cpu_model) + { + case 0x00: + case 0x01: + /* Diamond Rapids. */ + cpu = "diamondrapids"; + CHECK___builtin_cpu_is ("corei7"); + CHECK___builtin_cpu_is ("diamondrapids"); + cpu_model->__cpu_type = INTEL_COREI7; + cpu_model->__cpu_subtype = INTEL_COREI7_DIAMONDRAPIDS; + break; + default: + break; + } return cpu; } diff --git a/gcc/common/config/i386/i386-common.cc b/gcc/common/config/i386/i386-common.cc index b2c2f0b..b044cba 100644 --- a/gcc/common/config/i386/i386-common.cc +++ b/gcc/common/config/i386/i386-common.cc @@ -2206,6 +2206,7 @@ const char *const processor_names[] = "arrowlake", "arrowlake-s", "pantherlake", + "diamondrapids", "intel", "lujiazui", "yongfeng", @@ -2343,6 +2344,8 @@ const pta processor_alias_table[] = M_CPU_SUBTYPE (INTEL_COREI7_ARROWLAKE_S), P_PROC_AVX2}, {"pantherlake", PROCESSOR_PANTHERLAKE, CPU_HASWELL, PTA_PANTHERLAKE, M_CPU_SUBTYPE (INTEL_COREI7_PANTHERLAKE), P_PROC_AVX2}, + {"diamondrapids", PROCESSOR_DIAMONDRAPIDS, CPU_HASWELL, PTA_DIAMONDRAPIDS, + M_CPU_SUBTYPE (INTEL_COREI7_DIAMONDRAPIDS), P_PROC_AVX512F}, {"bonnell", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL, M_CPU_TYPE (INTEL_BONNELL), P_PROC_SSSE3}, {"atom", PROCESSOR_BONNELL, CPU_ATOM, PTA_BONNELL, diff --git a/gcc/common/config/i386/i386-cpuinfo.h b/gcc/common/config/i386/i386-cpuinfo.h index 23c9950..4c99b35 100644 --- a/gcc/common/config/i386/i386-cpuinfo.h +++ b/gcc/common/config/i386/i386-cpuinfo.h @@ -105,6 +105,7 @@ enum processor_subtypes ZHAOXIN_FAM7H_YONGFENG, AMDFAM1AH_ZNVER5, ZHAOXIN_FAM7H_SHIJIDADAO, + INTEL_COREI7_DIAMONDRAPIDS, CPU_SUBTYPE_MAX }; |