diff options
author | Tejas Joshi <TejasSanjay.Joshi@amd.com> | 2022-06-28 16:33:53 +0530 |
---|---|---|
committer | Venkataramanan Kumar <Venkataramanan.Kumar@amd.com> | 2022-10-21 15:25:57 +0530 |
commit | bf3b532b524ecacb3202ab2c8af419ffaaab7cff (patch) | |
tree | 0fbde96ab28f9269588ac179f880ca78e95ef4fb /gcc/config.gcc | |
parent | 88b34661f73e9da8032d20a37299223b39db4ef9 (diff) | |
download | gcc-bf3b532b524ecacb3202ab2c8af419ffaaab7cff.zip gcc-bf3b532b524ecacb3202ab2c8af419ffaaab7cff.tar.gz gcc-bf3b532b524ecacb3202ab2c8af419ffaaab7cff.tar.bz2 |
Enable AMD znver4 support and add instruction reservations
2022-09-28 Tejas Joshi <TejasSanjay.Joshi@amd.com>
gcc/ChangeLog:
* common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
* common/config/i386/i386-common.cc (processor_names): Add znver4.
(processor_alias_table): Add znver4 and modularize old znvers.
* common/config/i386/i386-cpuinfo.h (processor_subtypes):
AMDFAM19H_ZNVER4.
* config.gcc (x86_64-*-* |...): Likewise.
* config/i386/driver-i386.cc (host_detect_local_cpu): Let
-march=native recognize znver4 cpus.
* config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
* config/i386/i386-options.cc (m_ZNVER4): New definition.
(m_ZNVER): Include m_ZNVER4.
(processor_cost_table): Add znver4.
* config/i386/i386.cc (ix86_reassociation_width): Likewise.
* config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
(PTA_ZNVER1): New definition.
(PTA_ZNVER2): Likewise.
(PTA_ZNVER3): Likewise.
(PTA_ZNVER4): Likewise.
* config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
md file.
* config/i386/x86-tune-costs.h (znver4_cost): New definition.
* config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
(ix86_adjust_cost): Likewise.
* config/i386/znver1.md: Rename to znver.md.
* config/i386/znver.md: Add new reservations for znver4.
* doc/extend.texi: Add details about znver4.
* doc/invoke.texi: Likewise.
gcc/testsuite/ChangeLog:
* gcc.target/i386/funcspec-56.inc: Handle new march.
* g++.target/i386/mv29.C: Likewise.
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index a3d336e..160c52c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -660,7 +660,7 @@ c7 esther" # 64-bit x86 processors supported by --with-arch=. Each processor # MUST be separated by exactly one space. x86_64_archs="amdfam10 athlon64 athlon64-sse3 barcelona bdver1 bdver2 \ -bdver3 bdver4 znver1 znver2 znver3 btver1 btver2 k8 k8-sse3 opteron \ +bdver3 bdver4 znver1 znver2 znver3 znver4 btver1 btver2 k8 k8-sse3 opteron \ opteron-sse3 nocona core2 corei7 corei7-avx core-avx-i core-avx2 atom \ slm nehalem westmere sandybridge ivybridge haswell broadwell bonnell \ silvermont knl knm skylake-avx512 cannonlake icelake-client icelake-server \ @@ -3643,6 +3643,10 @@ case ${target} in arch=znver3 cpu=znver3 ;; + znver4-*) + arch=znver4 + cpu=znver4 + ;; bdver4-*) arch=bdver4 cpu=bdver4 @@ -3772,6 +3776,10 @@ case ${target} in arch=znver3 cpu=znver3 ;; + znver4-*) + arch=znver4 + cpu=znver4 + ;; bdver4-*) arch=bdver4 cpu=bdver4 |