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.

Reply via email to