This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.
>
>
>
>
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]