Arm Update missing entries of cost tables

Message ID patch-15053-tamar@arm.com
State Dropped
Headers
Series Arm Update missing entries of cost tables |

Commit Message

Tamar Christina Nov. 10, 2021, 12:50 p.m. UTC
  Hi All,

My previous patch missed these tuning structures in arm.c as they
are not where the rest of the structure are located.

This applies the same default values to silence initialization
warnings.

Bootstrapped Regtested on arm-none-linux-gnueabihf and no issues.

Ok for master?

Thanks,
Tamar

gcc/ChangeLog:

	* config/arm/arm.c (cortexa9_extra_costs, cortexa8_extra_costs,
	cortexa5_extra_costs, cortexa5_extra_cost, cortexa12_extra_costs,
	cortexa15_extra_costs, v7m_extra_costs): Add new entries.

--- inline copy of patch -- 
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index c4ff06b087ebecc91c419cb4ecf009c3535955df..625b97f6a67f739caa92fa3385a4c90b03b43e09 100644


--
  

Comments

Christophe Lyon Nov. 10, 2021, 1:41 p.m. UTC | #1
On Wed, Nov 10, 2021 at 1:54 PM Tamar Christina via Gcc-patches <
gcc-patches@gcc.gnu.org> wrote:

> Hi All,
>
> My previous patch missed these tuning structures in arm.c as they
> are not where the rest of the structure are located.
>
> This applies the same default values to silence initialization
> warnings.
>

Thanks, FWIW it looks like the patch I sent on Monday:
 https://gcc.gnu.org/pipermail/gcc-patches/2021-November/583710.html

Christophe


> Bootstrapped Regtested on arm-none-linux-gnueabihf and no issues.
>
> Ok for master?
>
> Thanks,
> Tamar
>
> gcc/ChangeLog:
>
>         * config/arm/arm.c (cortexa9_extra_costs, cortexa8_extra_costs,
>         cortexa5_extra_costs, cortexa5_extra_cost, cortexa12_extra_costs,
>         cortexa15_extra_costs, v7m_extra_costs): Add new entries.
>
> --- inline copy of patch --
> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
> index
> c4ff06b087ebecc91c419cb4ecf009c3535955df..625b97f6a67f739caa92fa3385a4c90b03b43e09
> 100644
> --- a/gcc/config/arm/arm.c
> +++ b/gcc/config/arm/arm.c
> @@ -1190,6 +1190,9 @@ const struct cpu_cost_table cortexa9_extra_costs =
>    {
>      COSTS_N_INSNS (1), /* alu.  */
>      COSTS_N_INSNS (4)  /* mult.  */
> +    COSTS_N_INSNS (1),  /* movi.  */
> +    COSTS_N_INSNS (2),  /* dup.  */
> +    COSTS_N_INSNS (2)   /* extract.  */
>    }
>  };
>
> @@ -1294,6 +1297,9 @@ const struct cpu_cost_table cortexa8_extra_costs =
>    {
>      COSTS_N_INSNS (1), /* alu.  */
>      COSTS_N_INSNS (4)  /* mult.  */
> +    COSTS_N_INSNS (1),  /* movi.  */
> +    COSTS_N_INSNS (2),  /* dup.  */
> +    COSTS_N_INSNS (2)   /* extract.  */
>    }
>  };
>
> @@ -1399,6 +1405,9 @@ const struct cpu_cost_table cortexa5_extra_costs =
>    {
>      COSTS_N_INSNS (1), /* alu.  */
>      COSTS_N_INSNS (4)  /* mult.  */
> +    COSTS_N_INSNS (1),  /* movi.  */
> +    COSTS_N_INSNS (2),  /* dup.  */
> +    COSTS_N_INSNS (2)   /* extract.  */
>    }
>  };
>
> @@ -1505,6 +1514,9 @@ const struct cpu_cost_table cortexa7_extra_costs =
>    {
>      COSTS_N_INSNS (1), /* alu.  */
>      COSTS_N_INSNS (4)  /* mult.  */
> +    COSTS_N_INSNS (1),  /* movi.  */
> +    COSTS_N_INSNS (2),  /* dup.  */
> +    COSTS_N_INSNS (2)   /* extract.  */
>    }
>  };
>
> @@ -1609,6 +1621,9 @@ const struct cpu_cost_table cortexa12_extra_costs =
>    {
>      COSTS_N_INSNS (1), /* alu.  */
>      COSTS_N_INSNS (4)  /* mult.  */
> +    COSTS_N_INSNS (1),  /* movi.  */
> +    COSTS_N_INSNS (2),  /* dup.  */
> +    COSTS_N_INSNS (2)   /* extract.  */
>    }
>  };
>
> @@ -1713,6 +1728,9 @@ const struct cpu_cost_table cortexa15_extra_costs =
>    {
>      COSTS_N_INSNS (1), /* alu.  */
>      COSTS_N_INSNS (4)  /* mult.  */
> +    COSTS_N_INSNS (1),  /* movi.  */
> +    COSTS_N_INSNS (2),  /* dup.  */
> +    COSTS_N_INSNS (2)   /* extract.  */
>    }
>  };
>
> @@ -1817,6 +1835,9 @@ const struct cpu_cost_table v7m_extra_costs =
>    {
>      COSTS_N_INSNS (1), /* alu.  */
>      COSTS_N_INSNS (4)  /* mult.  */
> +    COSTS_N_INSNS (1),  /* movi.  */
> +    COSTS_N_INSNS (2),  /* dup.  */
> +    COSTS_N_INSNS (2)   /* extract.  */
>    }
>  };
>
>
>
> --
>
  

Patch

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index c4ff06b087ebecc91c419cb4ecf009c3535955df..625b97f6a67f739caa92fa3385a4c90b03b43e09 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -1190,6 +1190,9 @@  const struct cpu_cost_table cortexa9_extra_costs =
   {
     COSTS_N_INSNS (1),	/* alu.  */
     COSTS_N_INSNS (4)	/* mult.  */
+    COSTS_N_INSNS (1),  /* movi.  */
+    COSTS_N_INSNS (2),  /* dup.  */
+    COSTS_N_INSNS (2)   /* extract.  */
   }
 };
 
@@ -1294,6 +1297,9 @@  const struct cpu_cost_table cortexa8_extra_costs =
   {
     COSTS_N_INSNS (1),	/* alu.  */
     COSTS_N_INSNS (4)	/* mult.  */
+    COSTS_N_INSNS (1),  /* movi.  */
+    COSTS_N_INSNS (2),  /* dup.  */
+    COSTS_N_INSNS (2)   /* extract.  */
   }
 };
 
@@ -1399,6 +1405,9 @@  const struct cpu_cost_table cortexa5_extra_costs =
   {
     COSTS_N_INSNS (1),	/* alu.  */
     COSTS_N_INSNS (4)	/* mult.  */
+    COSTS_N_INSNS (1),  /* movi.  */
+    COSTS_N_INSNS (2),  /* dup.  */
+    COSTS_N_INSNS (2)   /* extract.  */
   }
 };
 
@@ -1505,6 +1514,9 @@  const struct cpu_cost_table cortexa7_extra_costs =
   {
     COSTS_N_INSNS (1),	/* alu.  */
     COSTS_N_INSNS (4)	/* mult.  */
+    COSTS_N_INSNS (1),  /* movi.  */
+    COSTS_N_INSNS (2),  /* dup.  */
+    COSTS_N_INSNS (2)   /* extract.  */
   }
 };
 
@@ -1609,6 +1621,9 @@  const struct cpu_cost_table cortexa12_extra_costs =
   {
     COSTS_N_INSNS (1),	/* alu.  */
     COSTS_N_INSNS (4)	/* mult.  */
+    COSTS_N_INSNS (1),  /* movi.  */
+    COSTS_N_INSNS (2),  /* dup.  */
+    COSTS_N_INSNS (2)   /* extract.  */
   }
 };
 
@@ -1713,6 +1728,9 @@  const struct cpu_cost_table cortexa15_extra_costs =
   {
     COSTS_N_INSNS (1),	/* alu.  */
     COSTS_N_INSNS (4)	/* mult.  */
+    COSTS_N_INSNS (1),  /* movi.  */
+    COSTS_N_INSNS (2),  /* dup.  */
+    COSTS_N_INSNS (2)   /* extract.  */
   }
 };
 
@@ -1817,6 +1835,9 @@  const struct cpu_cost_table v7m_extra_costs =
   {
     COSTS_N_INSNS (1),	/* alu.  */
     COSTS_N_INSNS (4)	/* mult.  */
+    COSTS_N_INSNS (1),  /* movi.  */
+    COSTS_N_INSNS (2),  /* dup.  */
+    COSTS_N_INSNS (2)   /* extract.  */
   }
 };