> -----Original Message----- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Uros Bizjak > Sent: Monday, September 18, 2017 9:10 PM > To: Peryt, Sebastian <sebastian.pe...@intel.com> > Cc: gcc-patches@gcc.gnu.org; Kirill Yukhin <kirill.yuk...@gmail.com> > Subject: Re: [PATCH][x86] Knights Mill -march/-mtune options > > On Mon, Sep 18, 2017 at 12:42 PM, Peryt, Sebastian > <sebastian.pe...@intel.com> wrote: > >> -----Original Message----- > >> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > >> ow...@gcc.gnu.org] On Behalf Of Uros Bizjak > >> Sent: Monday, September 18, 2017 12:23 PM > >> To: Peryt, Sebastian <sebastian.pe...@intel.com> > >> Cc: gcc-patches@gcc.gnu.org; Kirill Yukhin <kirill.yuk...@gmail.com> > >> Subject: Re: [PATCH][x86] Knights Mill -march/-mtune options > >> > >> On Mon, Sep 18, 2017 at 12:17 PM, Peryt, Sebastian > >> <sebastian.pe...@intel.com> wrote: > >> >> -----Original Message----- > >> >> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > >> >> ow...@gcc.gnu.org] On Behalf Of Uros Bizjak > >> >> Sent: Sunday, September 17, 2017 6:14 PM > >> >> To: Peryt, Sebastian <sebastian.pe...@intel.com> > >> >> Cc: gcc-patches@gcc.gnu.org; Kirill Yukhin > >> >> <kirill.yuk...@gmail.com> > >> >> Subject: Re: [PATCH][x86] Knights Mill -march/-mtune options > >> >> > >> >> On Thu, Sep 14, 2017 at 1:47 PM, Peryt, Sebastian > >> >> <sebastian.pe...@intel.com> > >> >> wrote: > >> >> > Hi, > >> >> > > >> >> > This patch adds options -march=/-mtune=knm for Knights Mill. > >> >> > > >> >> > 2017-09-14 Sebastian Peryt <sebastian.pe...@intel.com> gcc/ > >> >> > > >> >> > * config.gcc: Support "knm". > >> >> > * config/i386/driver-i386.c (host_detect_local_cpu): Detect > >> >> > "knm". > >> >> > * config/i386/i386-c.c (ix86_target_macros_internal): Handle > >> >> > PROCESSOR_KNM. > >> >> > * config/i386/i386.c (m_KNM): Define. > >> >> > (processor_target_table): Add "knm". > >> >> > (PTA_KNM): Define. > >> >> > (ix86_option_override_internal): Add "knm". > >> >> > (ix86_issue_rate): Add PROCESSOR_KNM. > >> >> > (ix86_adjust_cost): Ditto. > >> >> > (ia32_multipass_dfa_lookahead): Ditto. > >> >> > (get_builtin_code_for_version): Handle PROCESSOR_KNM. > >> >> > (fold_builtin_cpu): Define M_INTEL_KNM. > >> >> > * config/i386/i386.h (TARGET_KNM): Define. > >> >> > (processor_type): Add PROCESSOR_KNM. > >> >> > * config/i386/x86-tune.def: Add m_KNM. > >> >> > * doc/invoke.texi: Add knm as x86 -march=/-mtune= CPU type. > >> >> > > >> >> > > >> >> > gcc/testsuite/ > >> >> > > >> >> > * gcc.target/i386/funcspec-5.c: Test knm. > >> >> > > >> >> > Is it ok for trunk? > >> >> > >> >> You also have to update libgcc/cpuinfo.h together with > >> >> fold_builtin_cpu from i386.c. Please note that all new processor > >> >> types and subtypes have to be added at the end of the enum. > >> >> > >> > > >> > Uros, > >> > > >> > I have updated libgcc/cpuinfo.h and libgcc/cpuinfo.c. I understood > >> > that CPU_TYPE_MAX in libgcc/cpuinfo.h processor_types is some kind > >> > of barrier, this is why I put KNM before that. Is that correct thinking? > >> > As for fold_builtin_cpu in i386.c I already have something like this: > >> > > >> > @@ -34217,6 +34229,7 @@ fold_builtin_cpu (tree fndecl, tree *args) > >> > M_AMDFAM15H, > >> > M_INTEL_SILVERMONT, > >> > M_INTEL_KNL, > >> > + M_INTEL_KNM, > >> > M_AMD_BTVER1, > >> > M_AMD_BTVER2, > >> > M_CPU_SUBTYPE_START, > >> > @@ -34262,6 +34275,7 @@ fold_builtin_cpu (tree fndecl, tree *args) > >> > {"bonnell", M_INTEL_BONNELL}, > >> > {"silvermont", M_INTEL_SILVERMONT}, > >> > {"knl", M_INTEL_KNL}, > >> > + {"knm", M_INTEL_KNM}, > >> > {"amdfam10h", M_AMDFAM10H}, > >> > {"barcelona", M_AMDFAM10H_BARCELONA}, > >> > {"shanghai", M_AMDFAM10H_SHANGHAI}, > >> > > >> > I couldn't find any other place where I'm supposed to add anything extra. > >> > >> Please look at libgcc/config/i386/cpuinfo.h. The comment here says that: > >> > >> /* Any new types or subtypes have to be inserted at the end. */ > >> > >> The above patch should then add M_INTEL_KNM as the last entry > >> *before* M_CPU_SUBTYPE_START. > >> > > > > Sorry, I didn't notice this value at first. I believe now it's correct. > > OK for mainline SVN (with updated ChangeLog). >
Can you please commit for me? Thanks, Sebastian > Thanks, > Uros.