[AArch64] PR79262: Adjust vector cost
authorWilco Dijkstra <wdijkstr@arm.com>
Tue, 19 Nov 2019 15:57:54 +0000 (15:57 +0000)
committerWilco Dijkstra <wilco@gcc.gnu.org>
Tue, 19 Nov 2019 15:57:54 +0000 (15:57 +0000)
PR79262 has been fixed for almost all AArch64 cpus, however the example is still
vectorized in a few cases, resulting in lower performance.  Adjust the vector
cost slightly so that so that -mcpu=cortex-a53 now has identical performance as
-mcpu=cortex-a57 on libquantum.

    gcc/
PR target/79262
* config/aarch64/aarch64.c (generic_vector_cost): Adjust
vec_to_scalar_cost.

From-SVN: r278452

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index 7dc1d93..b36834b 100644 (file)
@@ -6,6 +6,12 @@
 
 2019-11-19  Wilco Dijkstra  <wdijkstr@arm.com>
 
+       PR target/79262
+       * config/aarch64/aarch64.c (generic_vector_cost): Adjust
+       vec_to_scalar_cost.
+
+2019-11-19  Wilco Dijkstra  <wdijkstr@arm.com>
+
        * config/arm/arm-cpus.in (armv7): Set tune to Cortex-A53.
        (armv7-a): Likewise.
        (armv7ve): Likewise.
index f710aa2..94e664a 100644 (file)
@@ -447,7 +447,7 @@ static const struct cpu_vector_cost generic_vector_cost =
   1, /* vec_int_stmt_cost  */
   1, /* vec_fp_stmt_cost  */
   2, /* vec_permute_cost  */
-  1, /* vec_to_scalar_cost  */
+  2, /* vec_to_scalar_cost  */
   1, /* scalar_to_vec_cost  */
   1, /* vec_align_load_cost  */
   1, /* vec_unalign_load_cost  */