This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: Add TIGERLAKE and COOPERLAKE to GCC
- From: "Cui, Lili" <lili dot cui at intel dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: "H. J. Lu" <hjl dot tools at gmail dot com>, "Zhang, Annita" <annita dot zhang at intel dot com>, "Xiao, Wei3" <wei3 dot xiao at intel dot com>, "Liu, Hongtao" <hongtao dot liu at intel dot com>, "Wang, Hongyu" <hongyu dot wang at intel dot com>, "Castillo, Jason M" <jason dot m dot castillo at intel dot com>
- Date: Wed, 14 Aug 2019 07:38:11 +0000
- Subject: RE: Add TIGERLAKE and COOPERLAKE to GCC
Resend this mail for GCC Patches rejected my message, thanks.
-----Original Message-----
Hi Uros and all:
This patch is about to add TIGERLAKE and COOPERLAKE to GCC.
TIGERLAKE is based on ICELAKE_CLIENT and plus new ISA MOVEDIRI/MOVDIR64B/AVX512VP2INTERSECT.
COOPERLAKE is based on CASCADELAKE and plus new ISA AVX512BF16.
Bootstrap is ok, and no regressions for i386/x86-64 testsuite.
Changelog:
gcc/
* common/config/i386/i386-common.c
(processor_names): Add tigerlake and cooperlake.
(processor_alias_table): Add tigerlake and cooperlake.
* config.gcc: Add -march=tigerlake and cooperlake.
* config/i386/driver-i386.c
(host_detect_local_cpu): Detect tigerlake and cooperlake.
* config/i386/i386-builtins.c
(processor_model) : Add M_INTEL_COREI7_TIGERLAKE and M_INTEL_COREI7_COOPERLAKE.
(arch_names_table): Add tigerlake and cooperlake.
(get_builtin_code_for_version) : Handle PROCESSOR_TIGERLAKE and PROCESSOR_COOPERLAKE.
* config/i386/i386-c.c
(ix86_target_macros_internal): Handle tigerlake and cooperlake.
(ix86_target_macros_internal): Handle OPTION_MASK_ISA_AVX512VP2INTERSECT.
* config/i386/i386-options.c
(m_TIGERLAKE) : Define.
(m_COOPERLAKE) : Ditto.
(m_CORE_AVX512): Ditto.
(processor_cost_table): Add cascadelake.
(ix86_target_string) : Handle -mavx512vp2intersect.
(ix86_valid_target_attribute_inner_p) : Handle avx512vp2intersect.
(ix86_option_override_internal): Hadle PTA_SHSTK, PTA_MOVDIRI,
PTA_MOVDIR64B, PTA_AVX512VP2INTERSECT.
* config/i386/i386.h
(ix86_size_cost) : Define TARGET_TIGERLAKE and TARGET_COOPERLAKE.
(processor_type) : Add PROCESSOR_TIGERLAKE and PROCESSOR_COOPERLAKE.
(PTA_SHSTK) : Define.
(PTA_MOVDIRI): Ditto.
(PTA_MOVDIR64B): Ditto.
(PTA_COOPERLAKE) : Ditto.
(PTA_TIGERLAKE) : Ditto.
(TARGET_AVX512VP2INTERSECT) : Ditto.
(TARGET_AVX512VP2INTERSECT_P(x)) : Ditto.
(processor_type) : Add PROCESSOR_TIGERLAKE and PROCESSOR_COOPERLAKE.
* doc/extend.texi: Add tigerlake and cooperlake.
gcc/testsuite/
* gcc.target/i386/funcspec-56.inc: Handle new march.
* g++.target/i386/mv16.C: Handle new march
libgcc/
* config/i386/cpuinfo.h: Add INTEL_COREI7_TIGERLAKE and INTEL_COREI7_COOPERLAKE.