This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch][x86_64]: AMD znver2 enablement

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?


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_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/ (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.

Attachment: gcc9-znver2-patch.txt
Description: gcc9-znver2-patch.txt

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]