arm: Add support for Cortex-X1C CPU.
authorSrinath Parvathaneni <srinath.parvathaneni@arm.com>
Mon, 14 Nov 2022 15:45:59 +0000 (15:45 +0000)
committerSrinath Parvathaneni <srinath.parvathaneni@arm.com>
Mon, 14 Nov 2022 15:52:22 +0000 (15:52 +0000)
This patch adds the -mcpu support for the Arm Cortex-X1C CPU.

gcc/ChangeLog:

2022-11-09  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

* config/arm/arm-cpus.in (cortex-x1c): Define new CPU.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Likewise.
* doc/invoke.texi: Document Cortex-X1C CPU.

gcc/testsuite/ChangeLog:

2022-11-09  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

* gcc.target/arm/multilib.exp: Add tests for Cortex-X1C.

gcc/config/arm/arm-cpus.in
gcc/config/arm/arm-tables.opt
gcc/config/arm/arm-tune.md
gcc/doc/invoke.texi
gcc/testsuite/gcc.target/arm/multilib.exp

index 5a63bc5..5ed4db3 100644 (file)
@@ -1542,6 +1542,17 @@ begin cpu cortex-x1
  part d44
 end cpu cortex-x1
 
+begin cpu cortex-x1c
+ cname cortexx1c
+ tune for cortex-a57
+ tune flags LDSCHED
+ architecture armv8.2-a+fp16+dotprod
+ option crypto add FP_ARMv8 CRYPTO
+ costs cortex_a57
+ vendor 41
+ part d4c
+end cpu cortex-x1c
+
 begin cpu neoverse-n1
  cname neoversen1
  alias !ares
index e6461ab..a10a09e 100644 (file)
@@ -256,6 +256,9 @@ EnumValue
 Enum(processor_type) String(cortex-x1) Value( TARGET_CPU_cortexx1)
 
 EnumValue
+Enum(processor_type) String(cortex-x1c) Value( TARGET_CPU_cortexx1c)
+
+EnumValue
 Enum(processor_type) String(neoverse-n1) Value( TARGET_CPU_neoversen1)
 
 EnumValue
index abc290e..8af8c93 100644 (file)
@@ -46,7 +46,7 @@
        cortexa73cortexa53,cortexa55,cortexa75,
        cortexa76,cortexa76ae,cortexa77,
        cortexa78,cortexa78ae,cortexa78c,
-       cortexa710,cortexx1,neoversen1,
+       cortexa710,cortexx1,cortexx1c,neoversen1,
        cortexa75cortexa55,cortexa76cortexa55,neoversev1,
        neoversen2,cortexm23,cortexm33,
        cortexm35p,cortexm55,starmc1,
index e406136..e8ea71f 100644 (file)
@@ -21886,7 +21886,7 @@ Permissible names are: @samp{arm7tdmi}, @samp{arm7tdmi-s}, @samp{arm710t},
 @samp{cortex-r7}, @samp{cortex-r8}, @samp{cortex-r52}, @samp{cortex-r52plus},
 @samp{cortex-m0}, @samp{cortex-m0plus}, @samp{cortex-m1}, @samp{cortex-m3},
 @samp{cortex-m4}, @samp{cortex-m7}, @samp{cortex-m23}, @samp{cortex-m33},
-@samp{cortex-m35p}, @samp{cortex-m55}, @samp{cortex-x1},
+@samp{cortex-m35p}, @samp{cortex-m55}, @samp{cortex-x1}, @samp{cortex-x1c},
 @samp{cortex-m1.small-multiply}, @samp{cortex-m0.small-multiply},
 @samp{cortex-m0plus.small-multiply}, @samp{exynos-m1}, @samp{marvell-pj4},
 @samp{neoverse-n1}, @samp{neoverse-n2}, @samp{neoverse-v1}, @samp{xscale},
index 2fa648c..f903f02 100644 (file)
@@ -450,6 +450,9 @@ if {[multilib_config "aprofile"] } {
        {-march=armv8-a -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -mthumb} "thumb/v8-a+simd/hard"
        {-march=armv7-a -mfpu=crypto-neon-fp-armv8 -mfloat-abi=softfp -mthumb} "thumb/v7-a+simd/softfp"
        {-march=armv8-a -mfpu=crypto-neon-fp-armv8 -mfloat-abi=softfp -mthumb} "thumb/v8-a+simd/softfp"
+       {-mcpu=cortex-x1c -mfpu=auto -mfloat-abi=softfp -mthumb} "thumb/v8-a+simd/softfp"
+       {-mcpu=cortex-x1c -mfpu=auto -mfloat-abi=hard -mthumb} "thumb/v8-a+simd/hard"
+       {-mcpu=cortex-x1c -mfpu=auto -mfloat-abi=soft -mthumb} "thumb/v8-a/nofp"
     } {
        check_multi_dir $opts $dir
     }