Tamar Christina <tamar.christ...@arm.com> writes:
> Hi All,
>
> It seems I ran regressions but forgot to check them last time `(*>?<*)?
>
> On the GCC-13 branch the backport caused a failure due to the branch not 
> having
> generic-armv8-a and also it still treating the generic cpu special.  This made
> it return NULL when trying to find the default CPU.
>
> In GCC 13 we still had multiple structures with the same information and in 
> this
> case aarch64_cpu_data was missing the generic CPU which is in all_cores.
>
> This corrects it by using "generc" instead and also adding it to
> aarch64_cpu_data.
>
> Bootstrapped Regtested on aarch64-none-linux-gnu on GCC-13 branch and no 
> issues.
>
> Ok for master?
>
> Thanks,
> Tamar
>
> gcc/ChangeLog:
>
>       PR target/118800
>       * config/aarch64/driver-aarch64.cc (DEFAULT_CPU): Use generic instead of
>       generic-armv8-a.
>       (aarch64_cpu_data): Add generic.
>
> gcc/testsuite/ChangeLog:
>
>       PR target/118800
>       * gcc.target/aarch64/cpunative/native_cpu_34.c: Update order.

OK, thanks.  Reading this made me think that INVALID_IMP and INVALID_CORE
might be better for the generic entries, rather than 0x0 and 0x0.
But that applies to trunk and gcc-14 too, so isn't something to change here.

Richard

>
> ---
>
> diff --git a/gcc/config/aarch64/driver-aarch64.cc 
> b/gcc/config/aarch64/driver-aarch64.cc
> index 
> ff4660f469cd5caaaa899c981ee8181d1794fade..acc44536629e814a2aea0e4b21e327da3fa5d6ea
>  100644
> --- a/gcc/config/aarch64/driver-aarch64.cc
> +++ b/gcc/config/aarch64/driver-aarch64.cc
> @@ -60,7 +60,7 @@ struct aarch64_core_data
>  #define ALL_VARIANTS ((unsigned)-1)
>  /* Default architecture to use if -mcpu=native did not detect a known CPU.  
> */
>  #define DEFAULT_ARCH "8A"
> -#define DEFAULT_CPU "generic-armv8-a"
> +#define DEFAULT_CPU "generic"
>  
>  #define AARCH64_CORE(CORE_NAME, CORE_IDENT, SCHED, ARCH, FLAGS, COSTS, IMP, 
> PART, VARIANT) \
>    { CORE_NAME, #ARCH, IMP, PART, VARIANT, feature_deps::cpu_##CORE_IDENT },
> @@ -68,6 +68,7 @@ struct aarch64_core_data
>  static CONSTEXPR const aarch64_core_data aarch64_cpu_data[] =
>  {
>  #include "aarch64-cores.def"
> +  { "generic", "armv8-a", 0, 0, ALL_VARIANTS, 0},
>    { NULL, NULL, INVALID_IMP, INVALID_CORE, ALL_VARIANTS, 0 }
>  };
>  
> diff --git a/gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_34.c 
> b/gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_34.c
> index 
> 168140002a0f0205c0f552de0cce9b2d356e09e2..d2ff8156d8fc14fcc14ddd91f43f0b0fea15cc7b
>  100644
> --- a/gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_34.c
> +++ b/gcc/testsuite/gcc.target/aarch64/cpunative/native_cpu_34.c
> @@ -7,6 +7,6 @@ int main()
>    return 0;
>  }
>  
> -/* { dg-final { scan-assembler {\.arch 
> armv8-a\+dotprod\+crc\+crypto\+sve2\n} } } */
> +/* { dg-final { scan-assembler {\.arch 
> armv8-a\+crc\+dotprod\+crypto\+sve2\n} } } */
>  
>  /* Test a normal looking procinfo.  */

Reply via email to