This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection.
- From: "Kumar, Venkataramanan" <Venkataramanan dot Kumar at amd dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 13 Oct 2015 15:16:38 +0000
- Subject: RE: [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection.
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=amd.com; gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=permerror action=none header.from=amd.com;
- References: <7794A52CE4D579448B959EED7DD0A4723DD6E9EB at satlexdag06 dot amd dot com> <CAFULd4bJHhjMJv-Q4J0JmHHQs3nHv9VbwuU2NgqmVt2sr1vWVg at mail dot gmail dot com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:23
Hi Uros,
I realized both GCC 4.9 and GCC 5 branches includes processor subtype AMDFAM15H_BDVER4.
So I need to back port not only model selection fix but also the detection of model for bdver4.
Is that fine?
Regards,
Venkat.
> -----Original Message-----
> From: Kumar, Venkataramanan
> Sent: Friday, October 09, 2015 3:31 PM
> To: 'Uros Bizjak'
> Cc: gcc-patches@gcc.gnu.org
> Subject: RE: [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD
> cpu model detection.
>
> Thank you Uros,
>
> I will test and commit model selection change in all release branches as well.
>
> Regards,
> Venkat.
>
> > -----Original Message-----
> > From: Uros Bizjak [mailto:ubizjak@gmail.com]
> > Sent: Friday, October 09, 2015 3:25 PM
> > To: Kumar, Venkataramanan
> > Cc: gcc-patches@gcc.gnu.org
> > Subject: Re: [Patch] [x86_64]: Add bdver4 for multi versioning and fix
> > AMD cpu model detection.
> >
> > On Fri, Oct 9, 2015 at 11:50 AM, Kumar, Venkataramanan
> > <Venkataramanan.Kumar@amd.com> wrote:
> > > Hi Uros,
> > >
> > > Please find below patch that adds bdver4 target for multi versioning.
> > > Also I while computing model, the extended_model is incorrectly left
> > shifted by 4. I have removed it now.
> > >
> > > Is below patch Ok for trunk ?
> > > GCC bootstrap and regressions passed.
> >
> > OK for trunk and release branches, where applicable. IMO, model
> > selection fix should be applied to all release branches.
> >
> > Thanks,
> > Uros.
> >
> > > diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index
> > > bb3a722..8676747 100644
> > > --- a/libgcc/ChangeLog
> > > +++ b/libgcc/ChangeLog
> > > @@ -1,3 +1,8 @@
> > > +2015-10-09 Venkataramanan Kumar
> > <venkataramanan.kumar@amd.com>
> > > +
> > > + * config/i386/cpuinfo.c (get_amd_cpu): Detect bdver4.
> > > + (__cpu_indicator_init): Fix model selection for AMD CPUs.
> > > +
> > > 2015-10-05 Kirill Yukhin <kirill.yukhin@intel.com>
> > >
> > > * config/i386/cpuinfo.c (get_intel_cpu): Detect "skylake-avx512".
> > > diff --git a/libgcc/config/i386/cpuinfo.c
> > > b/libgcc/config/i386/cpuinfo.c index 0cbbc85..1313ca3 100644
> > > --- a/libgcc/config/i386/cpuinfo.c
> > > +++ b/libgcc/config/i386/cpuinfo.c
> > > @@ -169,6 +169,9 @@ get_amd_cpu (unsigned int family, unsigned int
> > model)
> > > /* Bulldozer version 3 "Steamroller" */
> > > if (model >= 0x30 && model <= 0x4f)
> > > __cpu_model.__cpu_subtype = AMDFAM15H_BDVER3;
> > > + /* Bulldozer version 4 "Excavator" */
> > > + if (model >= 0x60 && model <= 0x7f)
> > > + __cpu_model.__cpu_subtype = AMDFAM15H_BDVER4;
> > > break;
> > > /* AMD Family 16h "btver2" */
> > > case 0x16:
> > > @@ -455,7 +458,7 @@ __cpu_indicator_init (void)
> > > if (family == 0x0f)
> > > {
> > > family += extended_family;
> > > - model += (extended_model << 4);
> > > + model += extended_model;
> > > }
> > >
> > > /* Get CPU type. */
> > >
> > > Regards,
> > > Venkat.
> > >
> > >
> > >
> > >
> > >
> > >