* [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection.
@ 2015-10-09 9:50 Kumar, Venkataramanan
2015-10-09 9:55 ` Uros Bizjak
0 siblings, 1 reply; 6+ messages in thread
From: Kumar, Venkataramanan @ 2015-10-09 9:50 UTC (permalink / raw)
To: Uros Bizjak (ubizjak@gmail.com), gcc-patches
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.
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.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection.
2015-10-09 9:50 [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection Kumar, Venkataramanan
@ 2015-10-09 9:55 ` Uros Bizjak
2015-10-09 10:01 ` Kumar, Venkataramanan
2015-10-13 15:16 ` Kumar, Venkataramanan
0 siblings, 2 replies; 6+ messages in thread
From: Uros Bizjak @ 2015-10-09 9:55 UTC (permalink / raw)
To: Kumar, Venkataramanan; +Cc: gcc-patches
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.
>
>
>
>
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection.
2015-10-09 9:55 ` Uros Bizjak
@ 2015-10-09 10:01 ` Kumar, Venkataramanan
2015-10-13 15:16 ` Kumar, Venkataramanan
1 sibling, 0 replies; 6+ messages in thread
From: Kumar, Venkataramanan @ 2015-10-09 10:01 UTC (permalink / raw)
To: Uros Bizjak; +Cc: gcc-patches
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.
> >
> >
> >
> >
> >
> >
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection.
2015-10-09 9:55 ` Uros Bizjak
2015-10-09 10:01 ` Kumar, Venkataramanan
@ 2015-10-13 15:16 ` Kumar, Venkataramanan
2015-10-13 15:42 ` Uros Bizjak
1 sibling, 1 reply; 6+ messages in thread
From: Kumar, Venkataramanan @ 2015-10-13 15:16 UTC (permalink / raw)
To: Uros Bizjak; +Cc: gcc-patches
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.
> > >
> > >
> > >
> > >
> > >
> > >
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection.
2015-10-13 15:16 ` Kumar, Venkataramanan
@ 2015-10-13 15:42 ` Uros Bizjak
2015-10-18 19:28 ` Kumar, Venkataramanan
0 siblings, 1 reply; 6+ messages in thread
From: Uros Bizjak @ 2015-10-13 15:42 UTC (permalink / raw)
To: Kumar, Venkataramanan; +Cc: gcc-patches
On Tue, Oct 13, 2015 at 5:16 PM, Kumar, Venkataramanan
<Venkataramanan.Kumar@amd.com> wrote:
> 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?
OK, but to avoid ABI mismatches, please double check that enum values
passed between library and compiled code are always the same in all
gcc releases.
Uros.
> 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.
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection.
2015-10-13 15:42 ` Uros Bizjak
@ 2015-10-18 19:28 ` Kumar, Venkataramanan
0 siblings, 0 replies; 6+ messages in thread
From: Kumar, Venkataramanan @ 2015-10-18 19:28 UTC (permalink / raw)
To: Uros Bizjak; +Cc: gcc-patches
Hi Uros,
> -----Original Message-----
> From: Uros Bizjak [mailto:ubizjak@gmail.com]
> Sent: Tuesday, October 13, 2015 9:12 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 Tue, Oct 13, 2015 at 5:16 PM, Kumar, Venkataramanan
> <Venkataramanan.Kumar@amd.com> wrote:
> > 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?
>
> OK, but to avoid ABI mismatches, please double check that enum values
> passed between library and compiled code are always the same in all gcc
> releases.
>
I verified and same enum value is passed by gcc and libgcc in GCC 5 and GCC 4-9 branches.
Also ran gcc bootstrap and gcc regression tests on a bdver4 machine .
Completed the back ports.
GCC 4_9
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=228953
GCC 5
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=228951
> Uros.
>
> > 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.
> >> > >
> >> > >
> >> > >
> >> > >
> >> > >
> >> > >
Regards,
Venkat.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-10-18 18:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-09 9:50 [Patch] [x86_64]: Add bdver4 for multi versioning and fix AMD cpu model detection Kumar, Venkataramanan
2015-10-09 9:55 ` Uros Bizjak
2015-10-09 10:01 ` Kumar, Venkataramanan
2015-10-13 15:16 ` Kumar, Venkataramanan
2015-10-13 15:42 ` Uros Bizjak
2015-10-18 19:28 ` Kumar, Venkataramanan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).