Add TIGERLAKE and COOPERLAKE to GCC

Jeff Law law@redhat.com
Wed Aug 14 18:45:00 GMT 2019


On 8/14/19 1:38 AM, Cui, Lili wrote:
> 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.
> 
ENOPATCH

Note that HJ's reworking of the cost tables may require this patch to
change for the trunk.

Jeff



More information about the Gcc-patches mailing list