[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 7dc1d93f0b77ed93d6380541d1afc6df5fd4e04a..b36834bf4752b840faec5ecec9a433ad2c638337 100644 (file)
@@ -4,6 +4,12 @@
        (toplev::main): ... here as we need init_options_struct
        being called.
 
+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.
index f710aa2e795c1c50d640c8f0bcbab7845a7e8529..94e664af52fb0e3404e76d4d0b67a618023571ba 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  */