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;
     }

Reply via email to