On Wed, Oct 31, 2018 at 6:25 AM Kumar, Venkataramanan <venkataramanan.ku...@amd.com> wrote: > > Hi Maintainers, > > PFA, the patch that enables support for the next generation AMD Zen CPU via > -march=znver2. > As of now, znver2 is using the same costs and scheduler descriptions written > for znver1. > > We will update scheduler descriptions and costing for znver2 later as we get > more information. > > Ok for trunk? > > Regards, > Venkat. > > ChangeLog gcc: > * common/config/i386/i386-common.c (processor_alias_table): Add > znver2 entry. > * config.gcc (i[34567]86-*-linux* | ...): Add znver2. > (case ${target}): Add znver2. > * config/i386/driver-i386.c: (host_detect_local_cpu): Let > -march=native recognize znver2 processors. > * config/i386/i386-c.c (ix86_target_macros_internal): Add > znver2. > * config/i386/i386.c (m_znver2): New definition. > (m_ZNVER): New definition. > (m_AMD_MULTIPLE): Includes m_znver2. > (processor_cost_table): Add znver2 entry. > (processor_target_table): Add znver2 entry. > (get_builtin_code_for_version): Set priority for > PROCESSOR_ZNVER2. > (processor_model): Add M_AMDFAM17H_ZNVER2. > (arch_names_table): Ditto. > (ix86_reassociation_width): Include znver2. > * config/i386/i386.h (TARGET_znver2): New definition. > (struct ix86_size_cost): Add TARGET_ZNVER2. > (enum processor_type): Add PROCESSOR_ZNVER2. > * config/i386/i386.md (define_attr "cpu"): Add znver2. > * config/i386/x86-tune-costs.h: (processor_costs) Add znver2 costs. > * config/i386/x86-tune-sched.c: (ix86_issue_rate): Add znver2. > (ix86_adjust_cost): Add znver2. > * config/i386/x86-tune.def: Replace m_ZNVER1 by m_ZNVER > * gcc/doc/extend.texi: Add details about znver2. > * gcc/doc/invoke.texi: Add details about znver2. > > ChangeLog libgcc > * config/i386/cpuinfo.c: (get_amd_cpu): Add znver2. > (processor_subtypes): Ditto.
diff --git a/libgcc/config/i386/cpuinfo.h b/libgcc/config/i386/cpuinfo.h index 0aa887b..86cb4ea 100644 --- a/libgcc/config/i386/cpuinfo.h +++ b/libgcc/config/i386/cpuinfo.h @@ -67,6 +67,7 @@ enum processor_subtypes AMDFAM15H_BDVER3, AMDFAM15H_BDVER4, AMDFAM17H_ZNVER1, + AMDFAM17H_ZNVER2, INTEL_COREI7_IVYBRIDGE, INTEL_COREI7_HASWELL, INTEL_COREI7_BROADWELL, As the comment above these enums says: /* Any new types or subtypes have to be inserted at the end. */ So, please add new entry at the end of enum processor_types. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 963c7fc..bbe3bb3 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -32269,6 +32276,7 @@ fold_builtin_cpu (tree fndecl, tree *args) M_AMDFAM15H_BDVER3, M_AMDFAM15H_BDVER4, M_AMDFAM17H_ZNVER1, + M_AMDFAM17H_ZNVER2, M_INTEL_COREI7_IVYBRIDGE, M_INTEL_COREI7_HASWELL, M_INTEL_COREI7_BROADWELL, The above also have to be in sync with enum processor_subtypes. Otherwise LGTM. Uros.