Hi Uros, As per your comments in https://gcc.gnu.org/ml/gcc-patches/2015-09/msg02326.html please find the patch that also adds changes to libgcc.
It was bootstrapped and regressed tested on x86_64. Ok for trunk? Change logs gcc/ChangeLog 2015-10-29 Venkataramanan Kumar <venkataramanan.ku...@amd.com> * config/i386/i386.c (get_builtin_code_for_version): Set priority for PROCESSOR_ZNVER1. (enum processor_model): Add M_AMDFAM17H_znver1. (struct arch_names_table): Likewise. * doc/extend.texi: ADD znver1. libgcc/ChangeLog 2015-10-12 Venkataramanan kumar <venkataramanan.ku...@amd.com> * config/i386/cpuinfo.c (enum processor_types): Add AMDFAM17H. (processor_subtypes): Add znver1. (get_amd_cpu): Detect znver1. Regards, Venkat.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 82fd054..a52b313 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -35898,6 +35898,10 @@ get_builtin_code_for_version (tree decl, tree *predicate_list) arg_str = "bdver4"; priority = P_PROC_AVX2; break; + case PROCESSOR_ZNVER1: + arg_str = "znver1"; + priority = P_PROC_AVX2; + break; } } @@ -36808,6 +36812,7 @@ fold_builtin_cpu (tree fndecl, tree *args) M_AMDFAM15H_BDVER2, M_AMDFAM15H_BDVER3, M_AMDFAM15H_BDVER4, + M_AMDFAM17H_ZNVER1, M_INTEL_COREI7_IVYBRIDGE, M_INTEL_COREI7_HASWELL, M_INTEL_COREI7_BROADWELL, @@ -36850,6 +36855,7 @@ fold_builtin_cpu (tree fndecl, tree *args) {"bdver3", M_AMDFAM15H_BDVER3}, {"bdver4", M_AMDFAM15H_BDVER4}, {"btver2", M_AMD_BTVER2}, + {"znver1", M_AMDFAM17H_ZNVER1}, }; static struct _isa_names_table diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index fdb1547..7a05c27 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -16995,6 +16995,9 @@ AMD Family 15h Bulldozer version 4. @item btver2 AMD Family 16h CPU. + +@item znver1 +AMD Family 17h CPU. @end table Here is an example: diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c index 1313ca3..b0ebfcf 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c @@ -59,6 +59,7 @@ enum processor_types INTEL_KNL, AMD_BTVER1, AMD_BTVER2, + AMDFAM17H, CPU_TYPE_MAX }; @@ -74,6 +75,7 @@ enum processor_subtypes AMDFAM15H_BDVER2, AMDFAM15H_BDVER3, AMDFAM15H_BDVER4, + AMDFAM17H_ZNVER1, INTEL_COREI7_IVYBRIDGE, INTEL_COREI7_HASWELL, INTEL_COREI7_BROADWELL, @@ -177,6 +179,12 @@ get_amd_cpu (unsigned int family, unsigned int model) case 0x16: __cpu_model.__cpu_type = AMD_BTVER2; break; + case 0x17: + __cpu_model.__cpu_type = AMDFAM17H; + /* AMD family 17h version 1. */ + if (model <= 0x1f) + __cpu_model.__cpu_subtype = AMDFAM17H_ZNVER1; + break; default: break; }